branch: devel-logari81 commit d9bcc35a3e49db2d14ec7b9cd4249c6072d9e6cc Merge: d87054dd 20c315d5 Author: Konstantinos Poulios <logar...@gmail.com> AuthorDate: Fri Jun 24 14:40:02 2022 +0200
Merge branch 'master' into devel-logari81 # Conflicts: # src/getfem/getfem_mesh_region.h # src/getfem_mesh_region.cc .codecov.yml | 25 + .gitignore | 69 +- .travis.yml | 48 + ChangeLog | 697 +--- INSTALL | 2 +- Makefile.am | 7 +- NEWS | 113 +- README | 8 +- autogen.sh | 2 +- bin/Makefile.am | 6 +- bin/ansys2getfem_mesh | 6 +- bin/createmp | 6 +- bin/dr2dgnuplot | 6 +- bin/extract_doc | 560 +++- bin/fig2eps | 6 +- bin/file_dependencies | 8 +- bin/makeheadfile | 20 +- bin/mesh_matlab_to_getfem | 6 +- bin/rst_to_xml.py | 18 +- bin/sc2dgnuplot | 6 +- bin/split_cmdref | 10 +- bin/test_dist | 6 +- bin/upload_documentation | 6 +- bin/upload_html | 13 +- bin/upload_misc | 6 +- bin/upload_version | 6 +- bin/word_count | 6 +- configure.ac | 1208 +++---- contrib/Makefile.am | 9 +- contrib/aposteriori/Makefile.am | 8 +- contrib/aposteriori/aposteriori.cc | 12 +- contrib/aposteriori/aposteriori.m | 2 +- contrib/aposteriori/aposteriori.param | 2 +- contrib/aposteriori/aposteriori.pl | 2 +- contrib/aposteriori/aposteriori_laplacian.cc | 14 +- contrib/aposteriori/aposteriori_laplacian.param | 2 +- contrib/aposteriori/aposteriori_laplacian.pl | 2 +- contrib/aposteriori/bimaterial_crack_test.param | 2 +- contrib/bimaterial_crack_test/Makefile.am | 8 +- .../bimaterial_crack_test/bimaterial_crack_test.cc | 10 +- .../bimaterial_crack_test.param | 2 +- .../bimaterial_crack_test/bimaterial_crack_test.pl | 2 +- contrib/bimaterial_crack_test/crack.cc | 8 +- contrib/bimaterial_crack_test/crack.param | 2 +- contrib/bimaterial_crack_test/crack.pl | 2 +- .../bimaterial_crack_test/crack_exact_solution.cc | 6 +- .../bimaterial_crack_test/crack_exact_solution.h | 8 +- contrib/bimaterial_crack_test/getfem_Xfem.cc | 6 +- contrib/bimaterial_crack_test/getfem_Xfem.h | 6 +- contrib/bimaterial_crack_test/getfem_spider_fem.h | 6 +- .../Makefile.am | 13 +- contrib/continuum_mechanics/QLV_viscoelasticity.py | 196 ++ ...ty_finite_strain_linear_hardening_tension_3D.py | 249 ++ ...strain_linear_hardening_tension_axisymmetric.py | 238 ++ ...strain_linear_hardening_tension_plane_strain.py | 236 ++ contrib/crack_plate/Makefile.am | 8 +- contrib/crack_plate/crack_bilaplacian.cc | 8 +- contrib/crack_plate/crack_bilaplacian.h | 8 +- contrib/crack_plate/crack_bilaplacian.param | 2 +- contrib/crack_plate/crack_bilaplacian_mixed.param | 2 +- contrib/crack_plate/crack_bilaplacian_moment.cc | 6 +- contrib/crack_plate/crack_bilaplacian_problem.cc | 6 +- contrib/crack_plate/crack_bilaplacian_sif.cc | 6 +- .../crack_plate/crack_bilaplacian_singularities.cc | 6 +- contrib/crack_plate/crack_bilaplacian_tools.cc | 6 +- contrib/crack_plate/crack_mindlin.cc | 10 +- contrib/crack_plate/crack_mindlin.param | 2 +- contrib/crack_plate/crack_mindlin.pl | 2 +- contrib/crack_plate/crack_panel.cc | 8 +- contrib/crack_plate/crack_panel.param | 2 +- contrib/crack_plate/demi_plaque.mesh | 2 +- contrib/crack_plate/serie.pl | 2 +- contrib/delaminated_crack/Makefile.am | 8 +- contrib/delaminated_crack/delaminated_crack.cc | 8 +- contrib/delaminated_crack/delaminated_crack.param | 2 +- contrib/delaminated_crack/delaminated_crack.pl | 2 +- contrib/icare/Makefile.am | 8 +- contrib/icare/icare.cc | 8 +- contrib/icare/icare.h | 6 +- contrib/icare/icare.param | 2 +- contrib/icare/icare.pl | 2 +- contrib/icare/icareplot.m | 2 +- contrib/icare/navier_stokes_cylinder1.mesh | 2 +- contrib/icare/navier_stokes_cylinder2.mesh | 2 +- contrib/level_set_contact/Makefile.am | 8 +- contrib/level_set_contact/contact_2D.param | 2 +- contrib/level_set_contact/contact_3D.param | 2 +- contrib/level_set_contact/contact_problem.cpp | 2 +- contrib/level_set_contact/contact_problem.h | 6 +- contrib/level_set_contact/contact_problem.pl | 2 +- contrib/level_set_contact/test_contact.cpp | 7 +- contrib/mixed_elastostatic/Makefile.am | 8 +- contrib/mixed_elastostatic/mixed_elastostatic.cc | 10 +- .../mixed_elastostatic/mixed_elastostatic.param | 2 +- contrib/mixed_elastostatic/mixed_elastostatic.pl | 2 +- contrib/opt_assembly/Makefile.am | 8 +- contrib/opt_assembly/opt_assembly.cc | 6 +- contrib/opt_assembly/opt_assembly.pl | 2 +- contrib/static_contact_gears/Makefile.am | 8 +- contrib/static_contact_gears/gear1.msh | 2 +- contrib/static_contact_gears/gear1_2D.msh | 2 +- contrib/static_contact_gears/gear1_2teeth.msh | 2 +- contrib/static_contact_gears/gear2.msh | 2 +- contrib/static_contact_gears/gear2_2D.msh | 2 +- contrib/static_contact_gears/gear2_2teeth.msh | 2 +- .../static_contact_gears/static_contact_gears.cc | 8 +- .../static_contact_gears.param | 2 +- .../static_contact_gears/static_contact_gears.pl | 2 +- .../static_contact_gears_2D.param | 2 +- .../static_contact_gears_2teeth.param | 2 +- .../static_contact_gears_u1_u2.cc | 8 +- .../static_contact_planetary.py | 568 ++-- .../static_contact_planetary_1.msh | 2 +- .../static_contact_planetary_2.msh | 2 +- .../static_contact_planetary_3.msh | 2 +- .../static_contact_planetary_4.msh | 2 +- .../static_contact_planetary_5.msh | 2 +- contrib/test_plasticity/Makefile.am | 6 +- .../conv_test_small_strain_plasticity.py | 12 +- contrib/test_plasticity/test_plasticity.py | 4 +- .../test_plasticity/test_small_strain_plasticity.m | 2 +- .../test_small_strain_plasticity.py | 11 +- contrib/tests_newton/punch2D_h1.mesh | 2 +- contrib/tests_newton/punch2D_h4.mesh | 2 +- contrib/tests_newton/static_contact_1.m | 2 +- contrib/tests_newton/static_contact_2.m | 2 +- contrib/tests_newton/static_contact_3.m | 2 +- contrib/xfem_contact/Makefile.am | 8 +- contrib/xfem_contact/plot_xfem_dirichlet.m | 2 +- contrib/xfem_contact/xfem_contact.cc | 8 +- contrib/xfem_contact/xfem_contact.param | 2 +- contrib/xfem_contact/xfem_contact.pl | 2 +- contrib/xfem_contact/xfem_dirichlet.cc | 14 +- contrib/xfem_contact/xfem_dirichlet.param | 2 +- contrib/xfem_contact/xfem_stokes.cc | 10 +- contrib/xfem_contact/xfem_stokes.param | 2 +- contrib/xfem_stab_unilat_contact/Makefile.am | 8 +- contrib/xfem_stab_unilat_contact/deformer.m | 2 +- .../xfem_stab_unilat_contact.cc | 17 +- .../xfem_stab_unilat_contact.m | 2 +- .../xfem_stab_unilat_contact.param | 2 +- .../xfem_stab_unilat_contact.pl | 2 +- cubature/CUBE4D_5.IM | 6 +- cubature/CUBE4D_9.IM | 6 +- cubature/GAUSSLOBATTO1D1.IM | 6 +- cubature/GAUSSLOBATTO1D11.IM | 6 +- cubature/GAUSSLOBATTO1D13.IM | 6 +- cubature/GAUSSLOBATTO1D15.IM | 6 +- cubature/GAUSSLOBATTO1D17.IM | 6 +- cubature/GAUSSLOBATTO1D19.IM | 6 +- cubature/GAUSSLOBATTO1D21.IM | 6 +- cubature/GAUSSLOBATTO1D23.IM | 6 +- cubature/GAUSSLOBATTO1D25.IM | 6 +- cubature/GAUSSLOBATTO1D27.IM | 6 +- cubature/GAUSSLOBATTO1D29.IM | 6 +- cubature/GAUSSLOBATTO1D3.IM | 6 +- cubature/GAUSSLOBATTO1D31.IM | 6 +- cubature/GAUSSLOBATTO1D33.IM | 6 +- cubature/GAUSSLOBATTO1D35.IM | 6 +- cubature/GAUSSLOBATTO1D37.IM | 6 +- cubature/GAUSSLOBATTO1D39.IM | 6 +- cubature/GAUSSLOBATTO1D41.IM | 6 +- cubature/GAUSSLOBATTO1D43.IM | 6 +- cubature/GAUSSLOBATTO1D45.IM | 6 +- cubature/GAUSSLOBATTO1D47.IM | 6 +- cubature/GAUSSLOBATTO1D49.IM | 6 +- cubature/GAUSSLOBATTO1D5.IM | 6 +- cubature/GAUSSLOBATTO1D51.IM | 6 +- cubature/GAUSSLOBATTO1D53.IM | 6 +- cubature/GAUSSLOBATTO1D55.IM | 6 +- cubature/GAUSSLOBATTO1D57.IM | 6 +- cubature/GAUSSLOBATTO1D59.IM | 6 +- cubature/GAUSSLOBATTO1D61.IM | 6 +- cubature/GAUSSLOBATTO1D63.IM | 6 +- cubature/GAUSSLOBATTO1D65.IM | 6 +- cubature/GAUSSLOBATTO1D67.IM | 6 +- cubature/GAUSSLOBATTO1D69.IM | 6 +- cubature/GAUSSLOBATTO1D7.IM | 6 +- cubature/GAUSSLOBATTO1D71.IM | 6 +- cubature/GAUSSLOBATTO1D73.IM | 6 +- cubature/GAUSSLOBATTO1D75.IM | 6 +- cubature/GAUSSLOBATTO1D77.IM | 6 +- cubature/GAUSSLOBATTO1D79.IM | 6 +- cubature/GAUSSLOBATTO1D81.IM | 6 +- cubature/GAUSSLOBATTO1D83.IM | 6 +- cubature/GAUSSLOBATTO1D85.IM | 6 +- cubature/GAUSSLOBATTO1D87.IM | 6 +- cubature/GAUSSLOBATTO1D89.IM | 6 +- cubature/GAUSSLOBATTO1D9.IM | 6 +- cubature/GAUSSLOBATTO1D91.IM | 6 +- cubature/GAUSSLOBATTO1D93.IM | 6 +- cubature/GAUSSLOBATTO1D95.IM | 6 +- cubature/GAUSSLOBATTO1D97.IM | 6 +- cubature/GAUSSLOBATTO1D99.IM | 6 +- cubature/Gauss1D1.IM | 6 +- cubature/Gauss1D11.IM | 6 +- cubature/Gauss1D13.IM | 6 +- cubature/Gauss1D15.IM | 6 +- cubature/Gauss1D17.IM | 6 +- cubature/Gauss1D19.IM | 6 +- cubature/Gauss1D21.IM | 6 +- cubature/Gauss1D23.IM | 6 +- cubature/Gauss1D25.IM | 6 +- cubature/Gauss1D27.IM | 6 +- cubature/Gauss1D29.IM | 6 +- cubature/Gauss1D3.IM | 6 +- cubature/Gauss1D31.IM | 6 +- cubature/Gauss1D33.IM | 6 +- cubature/Gauss1D35.IM | 6 +- cubature/Gauss1D37.IM | 6 +- cubature/Gauss1D39.IM | 6 +- cubature/Gauss1D41.IM | 6 +- cubature/Gauss1D43.IM | 6 +- cubature/Gauss1D45.IM | 6 +- cubature/Gauss1D47.IM | 6 +- cubature/Gauss1D49.IM | 6 +- cubature/Gauss1D5.IM | 6 +- cubature/Gauss1D51.IM | 6 +- cubature/Gauss1D53.IM | 6 +- cubature/Gauss1D55.IM | 6 +- cubature/Gauss1D57.IM | 6 +- cubature/Gauss1D59.IM | 6 +- cubature/Gauss1D61.IM | 6 +- cubature/Gauss1D63.IM | 6 +- cubature/Gauss1D65.IM | 6 +- cubature/Gauss1D67.IM | 6 +- cubature/Gauss1D69.IM | 6 +- cubature/Gauss1D7.IM | 6 +- cubature/Gauss1D71.IM | 6 +- cubature/Gauss1D73.IM | 6 +- cubature/Gauss1D75.IM | 6 +- cubature/Gauss1D77.IM | 6 +- cubature/Gauss1D79.IM | 6 +- cubature/Gauss1D81.IM | 6 +- cubature/Gauss1D83.IM | 6 +- cubature/Gauss1D85.IM | 6 +- cubature/Gauss1D87.IM | 6 +- cubature/Gauss1D89.IM | 6 +- cubature/Gauss1D9.IM | 6 +- cubature/Gauss1D91.IM | 6 +- cubature/Gauss1D93.IM | 6 +- cubature/Gauss1D95.IM | 6 +- cubature/Gauss1D97.IM | 6 +- cubature/Gauss1D99.IM | 6 +- cubature/HEXAHEDRON_11.IM | 6 +- cubature/HEXAHEDRON_5.IM | 6 +- cubature/HEXAHEDRON_9.IM | 6 +- cubature/Makefile.am | 5 +- cubature/NC_0_0.IM | 6 +- cubature/QUAD_17.IM | 6 +- cubature/QUAD_2.IM | 6 +- cubature/QUAD_3.IM | 6 +- cubature/QUAD_5.IM | 6 +- cubature/QUAD_7.IM | 6 +- cubature/QUAD_9.IM | 6 +- cubature/SIMPLEX4D_3.IM | 6 +- cubature/TETRA_1.IM | 6 +- cubature/TETRA_2.IM | 6 +- cubature/TETRA_3.IM | 6 +- cubature/TETRA_5.IM | 6 +- cubature/TETRA_6.IM | 6 +- cubature/TETRA_8.IM | 6 +- cubature/TRIANGLE_1.IM | 6 +- cubature/TRIANGLE_10.IM | 6 +- cubature/TRIANGLE_13.IM | 6 +- cubature/TRIANGLE_17.IM | 6 +- cubature/TRIANGLE_19.IM | 6 +- cubature/TRIANGLE_2.IM | 6 +- cubature/TRIANGLE_3.IM | 6 +- cubature/TRIANGLE_4.IM | 6 +- cubature/TRIANGLE_5.IM | 6 +- cubature/TRIANGLE_6.IM | 6 +- cubature/TRIANGLE_7.IM | 6 +- cubature/TRIANGLE_8.IM | 6 +- cubature/TRIANGLE_9.IM | 6 +- cubature/make_getfem_im_list | 2 +- doc/Makefile.am | 6 +- doc/doxygen/Doxyfile | 4 +- doc/license.tex | 4 +- doc/sphinx/.tx/config | 1719 ++++++++++ doc/sphinx/Makefile.am | 114 +- doc/sphinx/source/.static/logo_getfem_small.png | Bin 27457 -> 34499 bytes doc/sphinx/source/.static/logogetfem.png | Bin 185269 -> 191399 bytes doc/sphinx/source/.templates/download.html | 179 +- doc/sphinx/source/.templates/gmm.html | 78 +- doc/sphinx/source/.templates/indexcontent.html | 139 +- doc/sphinx/source/.templates/indexsidebar.html | 20 +- doc/sphinx/source/ACKS.txt | 6 +- doc/sphinx/source/about.rst | 10 +- doc/sphinx/source/biblio.rst | 59 +- doc/sphinx/source/bugs.rst | 18 +- doc/sphinx/source/conf.py | 54 +- doc/sphinx/source/contents.rst | 8 +- doc/sphinx/source/copyright.rst | 2 +- doc/sphinx/source/documenting/fromlatex.rst | 2 +- doc/sphinx/source/documenting/index.rst | 6 +- doc/sphinx/source/documenting/markup.rst | 18 +- doc/sphinx/source/documenting/rest.rst | 2 +- doc/sphinx/source/documenting/style.rst | 2 +- doc/sphinx/source/glossary.rst | 8 +- doc/sphinx/source/gmm/blas.rst | 16 +- doc/sphinx/source/gmm/blas_interface.rst | 175 +- doc/sphinx/source/gmm/catch.rst | 18 +- doc/sphinx/source/gmm/denselu.rst | 2 +- doc/sphinx/source/gmm/denseqr.rst | 10 +- doc/sphinx/source/gmm/export.rst | 10 +- doc/sphinx/source/gmm/first-step.rst | 10 +- doc/sphinx/source/gmm/index.rst | 2 +- doc/sphinx/source/gmm/inside.rst | 58 +- doc/sphinx/source/gmm/install.rst | 6 +- doc/sphinx/source/gmm/intro.rst | 4 +- doc/sphinx/source/gmm/iter.rst | 32 +- doc/sphinx/source/gmm/matrix.rst | 10 +- doc/sphinx/source/gmm/misc.rst | 2 +- doc/sphinx/source/gmm/noverif.rst | 4 +- doc/sphinx/source/gmm/qd.rst | 2 +- doc/sphinx/source/gmm/sub-matrix.rst | 10 +- doc/sphinx/source/gmm/superlu.rst | 4 +- doc/sphinx/source/gmm/triangular.rst | 4 +- doc/sphinx/source/install/install_linux.rst | 69 +- doc/sphinx/source/install/install_mac.rst | 46 +- doc/sphinx/source/install/install_windows.rst | 14 +- doc/sphinx/source/license.rst | 4 +- doc/sphinx/source/license.txt | 2 +- doc/sphinx/source/links.rst | 20 +- doc/sphinx/source/lists.rst | 8 +- .../code_samples/demo_laplacian.m | 0 .../code_samples/demo_step_by_step.m | 0 .../code_samples/demo_tripod.m | 0 .../source/{matlab => matlab_octave}/examples.rst | 169 +- .../{matlab => matlab_octave}/images/Makefile | 2 +- .../{matlab => matlab_octave}/images/hierarchy.fig | 0 .../images/tripodvonmiseswithmesh.png | Bin .../source/{matlab => matlab_octave}/index.rst | 4 +- .../source/{matlab => matlab_octave}/install.rst | 8 +- .../source/{matlab => matlab_octave}/intro.rst | 4 +- .../source/{matlab => matlab_octave}/mlabgf.rst | 20 +- .../source/{matlab => matlab_octave}/oocmd.rst | 16 +- .../{matlab => matlab_octave}/plotcmdref.rst | 48 +- .../source/{matlab => matlab_octave}/pre.rst | 8 +- doc/sphinx/source/project/appendixA.rst | 4 +- doc/sphinx/source/project/contribute.rst | 57 +- doc/sphinx/source/project/femdesc.rst | 60 +- doc/sphinx/source/project/images/Makefile | 2 +- doc/sphinx/source/project/intro.rst | 22 +- doc/sphinx/source/project/libdesc.rst | 4 +- doc/sphinx/source/project/libdesc_cont.rst | 8 +- doc/sphinx/source/project/libdesc_dal.rst | 4 +- doc/sphinx/source/project/libdesc_event.rst | 14 +- doc/sphinx/source/project/libdesc_fem.rst | 6 +- doc/sphinx/source/project/libdesc_gmm.rst | 4 +- .../source/project/libdesc_high_gen_assemb.rst | 26 +- doc/sphinx/source/project/libdesc_im.rst | 8 +- doc/sphinx/source/project/libdesc_interface.rst | 102 +- doc/sphinx/source/project/libdesc_levelset.rst | 6 +- .../source/project/libdesc_low_gen_assemb.rst | 12 +- doc/sphinx/source/project/libdesc_mesh.rst | 8 +- doc/sphinx/source/project/libdesc_meshfem.rst | 2 +- doc/sphinx/source/project/libdesc_mim.rst | 2 +- doc/sphinx/source/project/libdesc_misc.rst | 2 +- doc/sphinx/source/project/libdesc_model.rst | 12 +- .../python/code_samples/demo_fictitious_domains.py | 5 +- .../source/python/code_samples/demo_laplacian.py | 5 +- .../python/code_samples/demo_step_by_step.py | 3 +- .../source/python/code_samples/demo_tripod.py | 211 +- .../source/python/code_samples/demo_tripod_alt.py | 7 +- doc/sphinx/source/python/examples.rst | 190 +- doc/sphinx/source/python/howtos.rst | 4 +- doc/sphinx/source/python/images/Makefile | 2 +- doc/sphinx/source/python/intro.rst | 8 +- doc/sphinx/source/python/license.txt | 2 +- doc/sphinx/source/python/pre.rst | 8 +- doc/sphinx/source/python/pygf.rst | 2 +- doc/sphinx/source/replaces.txt | 14 +- doc/sphinx/source/scilab/images/Makefile | 2 +- doc/sphinx/source/scilab/install.rst | 4 +- doc/sphinx/source/scilab/intro.rst | 8 +- doc/sphinx/source/scilab/plotcmdref.rst | 48 +- doc/sphinx/source/scilab/scilabgf.rst | 8 +- doc/sphinx/source/screenshots/helmholtz_source.rst | 2 +- doc/sphinx/source/screenshots/shots.rst | 98 +- doc/sphinx/source/screenshots/stokes-source.rst | 2 +- doc/sphinx/source/screenshots/tripod_source.rst | 2 +- doc/sphinx/source/tutorial/basic_usage.rst | 6 +- doc/sphinx/source/tutorial/images/mesh_thermo.png | Bin 12843 -> 65893 bytes doc/sphinx/source/tutorial/install.rst | 14 +- doc/sphinx/source/tutorial/intro.rst | 8 +- doc/sphinx/source/tutorial/thermo_coupling.rst | 193 +- doc/sphinx/source/tutorial/wheel.rst | 27 +- doc/sphinx/source/userdoc/appendixA.rst | 118 +- doc/sphinx/source/userdoc/appendixB.rst | 37 +- doc/sphinx/source/userdoc/asm.rst | 2 +- doc/sphinx/source/userdoc/bfem.rst | 48 +- doc/sphinx/source/userdoc/binteg.rst | 2 +- doc/sphinx/source/userdoc/bmesh.rst | 108 +- doc/sphinx/source/userdoc/catch.rst | 2 +- doc/sphinx/source/userdoc/computeD.rst | 2 +- doc/sphinx/source/userdoc/computeL2H1.rst | 4 +- doc/sphinx/source/userdoc/convect.rst | 22 +- doc/sphinx/source/userdoc/export.rst | 94 +- doc/sphinx/source/userdoc/gasm_high.rst | 226 +- doc/sphinx/source/userdoc/gasm_low.rst | 12 +- doc/sphinx/source/userdoc/hho.rst | 157 + doc/sphinx/source/userdoc/ifem.rst | 2 +- doc/sphinx/source/userdoc/iinteg.rst | 2 +- doc/sphinx/source/userdoc/images/Makefile | 2 +- doc/sphinx/source/userdoc/index.rst | 3 +- doc/sphinx/source/userdoc/install.rst | 2 +- doc/sphinx/source/userdoc/interMM.rst | 28 +- doc/sphinx/source/userdoc/interNMM.rst | 34 +- doc/sphinx/source/userdoc/intro.rst | 4 +- doc/sphinx/source/userdoc/linalg.rst | 2 +- doc/sphinx/source/userdoc/model.rst | 6 +- doc/sphinx/source/userdoc/model_ALE_rotating.rst | 60 +- doc/sphinx/source/userdoc/model_Mindlin_plate.rst | 14 +- doc/sphinx/source/userdoc/model_Nitsche.rst | 54 +- doc/sphinx/source/userdoc/model_bilaplacian.rst | 8 +- doc/sphinx/source/userdoc/model_constraint.rst | 2 +- .../source/userdoc/model_contact_friction.rst | 32 +- .../model_contact_friction_large_sliding.rst | 58 +- doc/sphinx/source/userdoc/model_continuation.rst | 22 +- doc/sphinx/source/userdoc/model_dirichlet.rst | 22 +- doc/sphinx/source/userdoc/model_explicit.rst | 2 +- doc/sphinx/source/userdoc/model_fourier_robin.rst | 4 +- .../source/userdoc/model_generic_assembly.rst | 14 +- .../source/userdoc/model_generic_elliptic.rst | 4 +- doc/sphinx/source/userdoc/model_helmholtz.rst | 2 +- .../source/userdoc/model_linear_elasticity.rst | 12 +- doc/sphinx/source/userdoc/model_mass.rst | 2 +- .../source/userdoc/model_nonlinear_elasticity.rst | 62 +- doc/sphinx/source/userdoc/model_object.rst | 122 +- .../userdoc/model_plasticity_small_strain.rst | 144 +- doc/sphinx/source/userdoc/model_poisson.rst | 2 +- doc/sphinx/source/userdoc/model_solvers.rst | 4 +- doc/sphinx/source/userdoc/model_source_term.rst | 4 +- .../source/userdoc/model_time_integration.rst | 80 +- doc/sphinx/source/userdoc/parallel.rst | 14 +- doc/sphinx/source/userdoc/rmesh.rst | 16 +- doc/sphinx/source/userdoc/xfem.rst | 6 +- doc/sphinx/source/whatsnew/1.7.rst | 10 +- doc/sphinx/source/whatsnew/2.0.rst | 2 +- doc/sphinx/source/whatsnew/3.0.rst | 2 +- doc/sphinx/source/whatsnew/4.0.rst | 2 +- doc/sphinx/source/whatsnew/4.1.1.rst | 2 +- doc/sphinx/source/whatsnew/4.1.rst | 2 +- doc/sphinx/source/whatsnew/4.2.rst | 10 +- doc/sphinx/source/whatsnew/4.3.rst | 9 +- doc/sphinx/source/whatsnew/5.0.rst | 2 +- doc/sphinx/source/whatsnew/5.1.rst | 2 +- doc/sphinx/source/whatsnew/5.3.rst | 2 +- doc/sphinx/source/whatsnew/5.4.1.rst | 17 + doc/sphinx/source/whatsnew/5.4.2.rst | 17 + doc/sphinx/source/whatsnew/5.4.rst | 33 + doc/sphinx/source/whatsnew/index.rst | 9 +- extract_gmm++ | 4 +- getfem-config-notinstalled.in | 2 +- getfem-config.in | 2 +- gmm-config.in | 2 +- interface/Makefile.am | 6 +- interface/README.txt | 4 +- interface/src/Makefile.am | 8 +- interface/src/getfem_interface.cc | 24 +- interface/src/getfem_interface.h | 2 +- interface/src/getfemint.cc | 6 +- interface/src/getfemint.h | 3 +- interface/src/getfemint_gsparse.cc | 6 +- interface/src/getfemint_gsparse.h | 18 +- interface/src/getfemint_levelset.cc | 8 +- interface/src/getfemint_levelset.h | 2 +- interface/src/getfemint_misc.cc | 6 +- interface/src/getfemint_misc.h | 2 +- interface/src/getfemint_precond.h | 2 +- interface/src/getfemint_std.h | 2 +- interface/src/getfemint_workspace.cc | 6 +- interface/src/getfemint_workspace.h | 2 +- interface/src/gf_asm.cc | 96 +- interface/src/gf_compute.cc | 22 +- interface/src/gf_cont_struct.cc | 12 +- interface/src/gf_cont_struct_get.cc | 8 +- interface/src/gf_cvstruct_get.cc | 8 +- interface/src/gf_delete.cc | 6 +- interface/src/gf_eltm.cc | 6 +- interface/src/gf_fem.cc | 80 +- interface/src/gf_fem_get.cc | 8 +- interface/src/gf_geotrans.cc | 6 +- interface/src/gf_geotrans_get.cc | 6 +- interface/src/gf_global_function.cc | 6 +- interface/src/gf_global_function_get.cc | 6 +- interface/src/gf_integ.cc | 8 +- interface/src/gf_integ_get.cc | 6 +- interface/src/gf_levelset.cc | 6 +- interface/src/gf_levelset_get.cc | 10 +- interface/src/gf_levelset_set.cc | 6 +- interface/src/gf_linsolve.cc | 6 +- interface/src/gf_mesh.cc | 15 +- interface/src/gf_mesh_fem.cc | 6 +- interface/src/gf_mesh_fem_get.cc | 55 +- interface/src/gf_mesh_fem_set.cc | 10 +- interface/src/gf_mesh_get.cc | 206 +- interface/src/gf_mesh_im.cc | 10 +- interface/src/gf_mesh_im_data.cc | 6 +- interface/src/gf_mesh_im_data_get.cc | 6 +- interface/src/gf_mesh_im_data_set.cc | 6 +- interface/src/gf_mesh_im_get.cc | 8 +- interface/src/gf_mesh_im_set.cc | 6 +- interface/src/gf_mesh_levelset.cc | 6 +- interface/src/gf_mesh_levelset_get.cc | 6 +- interface/src/gf_mesh_levelset_set.cc | 6 +- interface/src/gf_mesh_set.cc | 6 +- interface/src/gf_mesher_object.cc | 6 +- interface/src/gf_mesher_object_get.cc | 6 +- interface/src/gf_model.cc | 6 +- interface/src/gf_model_get.cc | 23 +- interface/src/gf_model_set.cc | 270 +- interface/src/gf_poly.cc | 6 +- interface/src/gf_precond.cc | 8 +- interface/src/gf_precond_get.cc | 6 +- interface/src/gf_slice.cc | 10 +- interface/src/gf_slice_get.cc | 78 +- interface/src/gf_slice_set.cc | 6 +- interface/src/gf_spmat.cc | 8 +- interface/src/gf_spmat_get.cc | 6 +- interface/src/gf_spmat_set.cc | 6 +- interface/src/gf_util.cc | 8 +- interface/src/gf_workspace.cc | 6 +- interface/src/gfi_array.c | 2 +- interface/src/gfi_array.h | 2 +- interface/src/gfi_rpc.h | 2 +- interface/src/gfi_rpc_clnt.c | 2 +- interface/src/gfi_rpc_server.c | 2 +- interface/src/gfi_rpc_svc.c | 2 +- interface/src/gfi_rpc_xdr.c | 2 +- interface/src/matlab/Makefile.am | 6 +- interface/src/matlab/gfObject.m | 6 +- interface/src/matlab/gf_asm_pdetoolbc.m | 6 +- interface/src/matlab/gf_colormap.m | 6 +- interface/src/matlab/gf_compute_Q1grid_interp.m | 6 +- interface/src/matlab/gf_mesh_fem_get_eval.m | 6 +- interface/src/matlab/gf_plot.m | 6 +- interface/src/matlab/gf_plot_1D.m | 6 +- interface/src/matlab/gf_plot_mesh.m | 6 +- interface/src/matlab/gf_plot_slice.m | 6 +- interface/src/matlab/gfm_common.c | 6 +- interface/src/matlab/gfm_common.h | 2 +- interface/src/matlab/gfm_mex.c | 2 +- interface/src/matlab/gfm_rpc_mexint.c | 2 +- interface/src/matlab/private/Makefile.am | 2 +- interface/src/matlab/private/getopt.m | 2 +- interface/src/{matlab => octave}/Makefile.am | 48 +- interface/src/{ => octave}/getfem_interface.h | 0 interface/src/{matlab => octave}/gfObject.m | 2 +- .../src/{matlab => octave}/gf_asm_pdetoolbc.m | 4 +- interface/src/{matlab => octave}/gf_colormap.m | 0 .../{matlab => octave}/gf_compute_Q1grid_interp.m | 0 .../src/{matlab => octave}/gf_mesh_fem_get_eval.m | 2 +- interface/src/{matlab => octave}/gf_plot.m | 18 +- interface/src/{matlab => octave}/gf_plot_1D.m | 0 interface/src/{matlab => octave}/gf_plot_mesh.m | 2 +- interface/src/{matlab => octave}/gf_plot_slice.m | 24 +- interface/src/{ => octave}/gfi_array.h | 0 interface/src/{matlab => octave}/gfm_common.c | 59 +- interface/src/{matlab => octave}/gfm_common.h | 4 +- interface/src/{matlab => octave}/gfm_mex.c | 11 +- interface/src/{matlab => octave}/gfm_rpc_mexint.c | 0 .../src/{matlab => octave}/private/Makefile.am | 0 interface/src/{matlab => octave}/private/getopt.m | 0 interface/src/octave/tmwtypes.h | 827 +++++ interface/src/python/Makefile.am | 16 +- interface/src/python/__init__.py | 6 +- interface/src/python/getfem_python.c | 6 +- interface/src/python/setup.py.in | 10 +- interface/src/scilab/Makefile.am | 3 +- interface/src/scilab/builddoc.sce | 6 +- interface/src/scilab/builder.sce | 4 +- interface/src/scilab/changelog.txt | 6 +- interface/src/scilab/demos/axrot_matrix.sci | 2 +- .../src/scilab/demos/data/disc_2D_degree3.mesh | 2 +- interface/src/scilab/demos/data/disc_P2_h0.5.mesh | 2 +- interface/src/scilab/demos/data/disc_P2_h0_3.mesh | 2 +- interface/src/scilab/demos/data/disc_P2_h0_5.mesh | 2 +- interface/src/scilab/demos/data/disc_P2_h1.mesh | 2 +- interface/src/scilab/demos/data/disc_P2_h10.mesh | 2 +- interface/src/scilab/demos/data/disc_P2_h2.mesh | 2 +- interface/src/scilab/demos/data/disc_P2_h4.mesh | 2 +- interface/src/scilab/demos/data/disc_P2_h6.mesh | 2 +- interface/src/scilab/demos/data/disc_P2_h8.mesh | 2 +- .../src/scilab/demos/data/donut_regulier.mesh | 2 +- .../demos/data/donut_regulier_32_elements.mesh | 2 +- .../demos/data/donut_regulier_512_elements.mesh | 2 +- .../demos/data/donut_regulier_72_elements.mesh | 2 +- .../data/donut_regulier_8_elements_288ddl.mesh | 2 +- .../sphere_with_quadratic_tetra_16000_elts.mesh | 2 +- .../sphere_with_quadratic_tetra_2000_elts.mesh | 2 +- .../data/sphere_with_quadratic_tetra_400_elts.mesh | 2 +- .../data/sphere_with_quadratic_tetra_80_elts.mesh | 2 +- .../data/sphere_with_quadratic_tetra_8_elts.mesh | 2 +- interface/src/scilab/demos/data/tripod.mesh | 2 +- interface/src/scilab/demos/data/vee_h_0.03.mesh | 2 +- interface/src/scilab/demos/demo_Navier_Stokes.sce | 8 +- interface/src/scilab/demos/demo_bilaplacian.sce | 6 +- interface/src/scilab/demos/demo_continuation.sce | 10 +- .../src/scilab/demos/demo_continuation_block.sce | 10 +- .../src/scilab/demos/demo_continuation_vee.sce | 10 +- .../demos/demo_convection_rotating_cavity.sce | 10 +- interface/src/scilab/demos/demo_crack.sce | 8 +- .../src/scilab/demos/demo_fictitious_domains.sce | 6 +- .../demos/demo_fictitious_domains_laplacian.sce | 6 +- interface/src/scilab/demos/demo_laplacian.sce | 6 +- .../src/scilab/demos/demo_mesh_generation.sce | 10 +- interface/src/scilab/demos/demo_mortar.sce | 6 +- .../src/scilab/demos/demo_nonlinear_elasticity.sce | 6 +- .../demos/demo_nonlinear_elasticity_anim.sce | 6 +- interface/src/scilab/demos/demo_plasticity.sce | 6 +- interface/src/scilab/demos/demo_plate.sce | 6 +- interface/src/scilab/demos/demo_refine.sce | 6 +- interface/src/scilab/demos/demo_static_contact.sce | 10 +- interface/src/scilab/demos/demo_step_by_step.sce | 6 +- interface/src/scilab/demos/demo_stokes_3D_tank.sce | 6 +- .../src/scilab/demos/demo_stokes_3D_tank_draw.sce | 6 +- .../scilab/demos/demo_structural_optimization.sce | 8 +- .../demo_thermo_elasticity_electrical_coupling.sce | 8 +- .../scilab/demos/demo_topological_optimization.sce | 6 +- interface/src/scilab/demos/demo_tripod.sce | 6 +- interface/src/scilab/demos/demo_tripod_alt.sce | 6 +- interface/src/scilab/demos/demo_tripod_anim.sce | 6 +- .../src/scilab/demos/demo_tripod_slice_anim.sce | 6 +- interface/src/scilab/demos/demo_wave2D.sce | 6 +- interface/src/scilab/demos/demo_wave2D_alt.sce | 6 +- interface/src/scilab/demos/demo_wave2D_animate.sce | 6 +- interface/src/scilab/demos/demo_wave_equation.sce | 6 +- .../src/scilab/demos/sci_getfem.dem.gateway.sce | 2 +- interface/src/scilab/demos/tutorial1.sce | 6 +- interface/src/scilab/help/en_US/gf_asm.xml | 2 +- interface/src/scilab/help/en_US/gf_fem.xml | 2 +- interface/src/scilab/help/en_US/gf_fem_get.xml | 2 +- .../src/scilab/help/en_US/gf_mesh_fem_get.xml | 4 +- .../src/scilab/help/en_US/gf_mesh_fem_set.xml | 2 +- interface/src/scilab/help/en_US/gf_model_set.xml | 16 +- interface/src/scilab/help/en_US/gf_precond.xml | 2 +- interface/src/scilab/help/en_US/gf_slice.xml | 2 +- interface/src/scilab/help/en_US/objects.xml | 2 +- interface/src/scilab/help/en_US/preliminary.xml | 2 +- interface/src/scilab/help/latex/Makefile | 2 +- interface/src/scilab/help/latex/getfemmatlab.lyx | 12 +- interface/src/scilab/help/latex/getfemmatlab.tex | 12 +- interface/src/scilab/help/latex/license.lyx | 2 +- interface/src/scilab/help/latex/license.tex | 2 +- interface/src/scilab/license.txt | 2 +- interface/src/scilab/macros/add_empty_bound.sci | 2 +- interface/src/scilab/macros/assert.sci | 2 +- interface/src/scilab/macros/assert_field.sci | 2 +- interface/src/scilab/macros/asserterr.sci | 2 +- interface/src/scilab/macros/build_options_list.sci | 2 +- interface/src/scilab/macros/buildmacros.sce | 2 +- interface/src/scilab/macros/cart2pol.sci | 2 +- interface/src/scilab/macros/champ3.sci | 2 +- interface/src/scilab/macros/gf_asm_pdetoolbc.sci | 2 +- interface/src/scilab/macros/gf_colormap.sci | 2 +- .../src/scilab/macros/gf_compute_Q1grid_interp.sci | 4 +- .../src/scilab/macros/gf_interpolate_on_grid.sci | 2 +- .../src/scilab/macros/gf_mesh_fem_get_eval.sci | 2 +- interface/src/scilab/macros/gf_plot.sci | 2 +- interface/src/scilab/macros/gf_plot_1D.sci | 2 +- interface/src/scilab/macros/gf_plot_mesh.sci | 2 +- interface/src/scilab/macros/gf_plot_slice.sci | 4 +- interface/src/scilab/macros/gf_solve.sci | 2 +- interface/src/scilab/macros/gfassert.sci | 2 +- interface/src/scilab/macros/has_field.sci | 2 +- interface/src/scilab/macros/init_pde.sci | 5 +- interface/src/scilab/macros/isauto.sci | 2 +- interface/src/scilab/macros/isnumeric.sci | 2 +- interface/src/scilab/macros/ison.sci | 2 +- interface/src/scilab/macros/spdiags.sci | 2 +- interface/src/scilab/macros/test_champ3.sce | 2 +- interface/src/scilab/macros/test_spdiags.sce | 2 +- interface/src/scilab/readme.txt | 2 +- interface/src/scilab/sci_gateway/c/gfm_common.c | 8 +- interface/src/scilab/sci_gateway/c/gfm_common.h | 6 +- interface/src/scilab/sci_gateway/c/gfm_scilab.cpp | 6 +- .../scilab/sci_gateway/c/rebuild_lib_windows.sci | 2 +- interface/src/scilab/sci_gateway/c/sci_cgne.c | 6 +- interface/src/scilab/sci_gateway/c/sci_cgs.c | 6 +- interface/src/scilab/sci_gateway/c/sci_gmres.c | 6 +- interface/src/scilab/sci_gateway/c/sci_mgcr.c | 6 +- interface/src/scilab/sci_gateway/c/sci_spchol.c | 8 +- interface/src/scilab/sci_gateway/c/sci_spcholinc.c | 6 +- interface/src/scilab/sci_gateway/c/sci_spchsolve.c | 6 +- interface/src/scilab/sci_gateway/c/sci_splu.c | 6 +- interface/src/scilab/sci_gateway/c/sci_spluinc.c | 6 +- interface/src/scilab/sci_gateway/c/sci_splusolve.c | 6 +- .../src/scilab/sci_gateway/c/stream_redirect.h | 2 +- interface/src/scilab/src/c/extras.c | 13 +- .../src/scilab/tests/unit_tests/check_all.sce | 2 +- .../src/scilab/tests/unit_tests/check_asm.sce | 2 +- .../src/scilab/tests/unit_tests/check_fem.sce | 2 +- .../src/scilab/tests/unit_tests/check_geotrans.sce | 2 +- .../src/scilab/tests/unit_tests/check_integ.sce | 2 +- .../tests/unit_tests/check_interpolated_fem.sce | 2 +- .../src/scilab/tests/unit_tests/check_levelset.sce | 2 +- .../src/scilab/tests/unit_tests/check_mesh_fem.sce | 2 +- interface/src/scilab/tests/unit_tests/check_oo.sce | 2 +- .../src/scilab/tests/unit_tests/check_plot.sce | 2 +- .../src/scilab/tests/unit_tests/check_slices.sce | 2 +- .../src/scilab/tests/unit_tests/check_spmat.sce | 2 +- .../scilab/tests/unit_tests/check_workspace.sce | 2 +- .../src/scilab/tests/unit_tests/test_argyris.sce | 2 +- .../tests/unit_tests/test_plasticity_new_brick.sce | 2 +- interface/tests/Makefile.am | 8 +- .../tests/{matlab => matlab-octave}/Makefile.am | 22 +- .../tests/{matlab => matlab-octave}/axrot_matrix.m | 6 +- .../tests/{matlab => matlab-octave}/check_all.m | 33 +- .../check_all_matlab.sh} | 14 +- .../check_all_octave.sh} | 28 +- .../tests/{matlab => matlab-octave}/check_asm.m | 6 +- .../tests/{matlab => matlab-octave}/check_fem.m | 6 +- .../{matlab => matlab-octave}/check_geotrans.m | 6 +- .../tests/{matlab => matlab-octave}/check_integ.m | 8 +- .../check_interpolated_fem.m | 6 +- .../{matlab => matlab-octave}/check_levelset.m | 8 +- .../{matlab => matlab-octave}/check_mesh_fem.m | 22 +- .../check_mitc.m} | 37 +- .../tests/{matlab => matlab-octave}/check_oo.m | 6 +- .../{matlab => matlab-octave}/check_plasticity.m | 6 +- .../tests/{matlab => matlab-octave}/check_plot.m | 6 +- .../tests/{matlab => matlab-octave}/check_slices.m | 6 +- .../tests/{matlab => matlab-octave}/check_spmat.m | 22 +- .../{matlab => matlab-octave}/check_workspace.m | 6 +- .../demo_Mindlin_Reissner_plate.m | 6 +- .../{matlab => matlab-octave}/demo_Navier_Stokes.m | 8 +- .../demo_Nitsche_contact_by_hand.m | 6 +- .../{matlab => matlab-octave}/demo_bilaplacian.m | 6 +- .../demo_contact_fictitious_domain_nitsche.m | 6 +- .../{matlab => matlab-octave}/demo_continuation.m | 8 +- .../demo_convection_rotating_cavity.m | 6 +- .../tests/{matlab => matlab-octave}/demo_crack.m | 8 +- .../demo_dynamic_contact.m | 8 +- .../demo_dynamic_plasticity.m | 6 +- .../demo_dynamic_plasticity_with_contact.m | 6 +- .../{matlab => matlab-octave}/demo_elasticity.m | 10 +- .../demo_fictitious_domains.m | 6 +- .../demo_fictitious_domains_laplacian.m | 6 +- .../{matlab => matlab-octave}/demo_laplacian.m | 6 +- .../{matlab => matlab-octave}/demo_laplacian_DG.m | 26 +- .../demo_laplacian_pyramid.m | 6 +- .../demo_large_sliding_contact.m | 6 +- .../demo_mesh_generation.m | 8 +- .../tests/{matlab => matlab-octave}/demo_mortar.m | 6 +- .../demo_nonlinear_elasticity.m | 18 +- .../demo_nonlinear_elasticity_anim.m | 6 +- .../demo_periodic_laplacian.m | 6 +- .../{matlab => matlab-octave}/demo_plasticity.m | 6 +- .../tests/{matlab => matlab-octave}/demo_refine.m | 8 +- .../demo_static_contact.m | 8 +- .../{matlab => matlab-octave}/demo_step_by_step.m | 6 +- .../demo_stokes_3D_tank.m | 6 +- .../demo_stokes_3D_tank_draw.m | 8 +- .../demo_structural_optimization.m | 8 +- .../demo_thermo_elasticity_electrical_coupling.m | 8 +- .../demo_topological_optimization.m | 8 +- .../tests/{matlab => matlab-octave}/demo_tripod.m | 6 +- .../{matlab => matlab-octave}/demo_tripod_alt.m | 6 +- .../demo_tripod_slice_anim.m | 6 +- .../tests/{matlab => matlab-octave}/demo_wave2D.m | 6 +- .../{matlab => matlab-octave}/demo_wave2D_alt.m | 6 +- .../demo_wave2D_animate.m | 6 +- .../{matlab => matlab-octave}/demo_wave_equation.m | 6 +- .../{matlab => matlab-octave}/demo_wheel_contact.m | 6 +- .../tests/{matlab => matlab-octave}/plate_Impact.m | 6 +- .../{matlab => matlab-octave}/private/Makefile.am | 0 .../{matlab => matlab-octave}/private/asserterr.m | 2 +- .../{matlab => matlab-octave}/private/gfassert.m | 2 +- .../test1_nitsche_large_sliding.m | 6 +- .../test2_nitsche_large_sliding.m | 6 +- .../tests/{matlab => matlab-octave}/test_argyris.m | 6 +- .../tests/{matlab => matlab-octave}/tripod_anim.m | 6 +- .../tests/{matlab => matlab-octave}/tutorial1.m | 6 +- .../tests/{matlab => matlab-octave}/uAnalytic.m | 6 +- interface/tests/meshes/Makefile.am | 2 +- interface/tests/meshes/donut_regulier.mesh | 2 +- interface/tests/meshes/holed_bar.mesh | 2 +- interface/tests/meshes/ladder.mesh | 2 +- interface/tests/meshes/ladder_1500.mesh | 2 +- interface/tests/meshes/ladder_370.mesh | 2 +- interface/tests/meshes/tripod.mesh | 2 +- interface/tests/python/Makefile.am | 21 +- interface/tests/python/check_asm.py | 15 +- interface/tests/python/check_export.py | 11 +- interface/tests/python/check_export_vtu.py | 146 + interface/tests/python/check_global_functions.py | 12 +- interface/tests/python/check_levelset.py | 13 +- interface/tests/python/check_mixed_mesh.py | 388 +-- interface/tests/python/check_secondary_domain.py | 12 +- .../tests/python/demo_Mindlin_Reissner_plate.py | 12 +- .../tests/python/demo_Vector_Potential_Curl_DG.py | 339 ++ interface/tests/python/demo_crack.py | 11 +- .../python/demo_cracked_thermo_elastic_body.py | 346 +- interface/tests/python/demo_dynamic_contact_1D.py | 57 +- .../tests/python/demo_elastic_ring_contact.py | 20 +- interface/tests/python/demo_elasticity_HHO.py | 207 ++ interface/tests/python/demo_fictitious_domains.py | 15 +- .../tests/python/demo_finite_strain_plasticity.py | 28 +- .../python/demo_finite_strain_plasticity_3D.py | 28 +- .../python/demo_fluide_structure_interaction.py | 241 ++ interface/tests/python/demo_laplacian.py | 17 +- interface/tests/python/demo_laplacian_DG.py | 36 +- interface/tests/python/demo_laplacian_HHO.py | 195 ++ .../tests/python/demo_laplacian_aposteriori.py | 22 +- interface/tests/python/demo_laplacian_pyramid.py | 15 +- .../tests/python/demo_large_sliding_contact.py | 16 +- interface/tests/python/demo_mortar.py | 16 +- interface/tests/python/demo_navier_stokes.py | 11 +- .../tests/python/demo_nonlinear_elasticity.py | 61 +- interface/tests/python/demo_parallel_laplacian.py | 55 +- interface/tests/python/demo_phase_field.py | 34 +- interface/tests/python/demo_plasticity.py | 16 +- interface/tests/python/demo_plate.py | 12 +- interface/tests/python/demo_static_contact.py | 14 +- interface/tests/python/demo_step_by_step.py | 11 +- interface/tests/python/demo_stokes_3D_tank.py | 15 +- interface/tests/python/demo_stokes_3D_tank_draw.py | 14 +- .../demo_thermo_elasticity_electrical_coupling.py | 61 +- interface/tests/python/demo_tresca.py | 112 + interface/tests/python/demo_tripod.py | 17 +- interface/tests/python/demo_tripod_alt.py | 17 +- interface/tests/python/demo_truss.py | 108 + interface/tests/python/demo_unit_disk.py | 100 + interface/tests/python/demo_wave.py | 18 +- interface/tests/python/demo_wave_equation.py | 47 +- interface/tests/python/demo_wheel_contact.py | 13 +- interface/tests/python/getfem_tvtk.py | 37 +- interface/tests/python/tutorial1.py | 11 +- internal_tools/HCT_reduced_triangle_base.cc | 2 +- internal_tools/HCT_triangle_base.cc | 2 +- internal_tools/Makefile | 2 +- internal_tools/argyris_base.cc | 2 +- internal_tools/c1_piecep3_quad.cc | 2 +- internal_tools/hermite_tetrahedron_base.cc | 2 +- internal_tools/make_donut.C | 2 +- internal_tools/morley_base.cc | 2 +- internal_tools/simplexification_refelt.cc | 4 +- m4/Makefile.am | 2 +- m4/ac_python_devel.m4 | 2 +- m4/acx_getfem.m4 | 2 +- m4/ax_check_cxx_flag.m4 | 2 +- m4/ax_prog_cxx_mpi.m4 | 20 +- m4/scilab.m4 | 2 +- msvc/bilaplacian/bilaplacian.vcxproj | 14 +- msvc/common_debug_settings.props | 1 + msvc/common_release_settings.props | 5 +- msvc/elastostatic/elastostatic.vcxproj | 14 +- msvc/gmm/gmm_arch_config.h | 12 + msvc/libgetfem/libgetfem.vcxproj | 39 +- msvc/libgetfemint/libgetfemint.vcxproj | 18 +- msvc/matlab_interface/matlab_interface.vcxproj | 14 +- msvc/poly/poly.vcxproj | 14 +- msvc/superlu/superlu.vcxproj | 14 +- msvc/test_assembly/test_assembly.vcxproj | 14 +- msvc/test_contact/contact_problem.cpp | 2 +- msvc/test_contact/contact_problem.h | 2 +- msvc/test_contact/run/2Dresults/contact.param | 2 +- msvc/test_contact/run/3Dresults/contact.param | 2 +- msvc/test_contact/test_contact.cpp | 2 +- msvc/test_kdtree/test_kdtree.vcxproj | 14 +- .../test_laplacian_with_bricks.vcxproj | 14 +- .../test_level_set_contact.vcxproj | 14 +- requirements.txt | 4 + src/Makefile.am | 44 +- src/bgeot_convex_ref.cc | 74 +- src/bgeot_convex_ref_simplexified.cc | 6 +- src/bgeot_convex_structure.cc | 32 +- src/bgeot_ftool.cc | 19 +- src/bgeot_geometric_trans.cc | 108 +- src/bgeot_geotrans_inv.cc | 47 +- src/bgeot_kdtree.cc | 6 +- src/bgeot_mesh_structure.cc | 36 +- src/bgeot_node_tab.cc | 32 +- src/bgeot_poly.cc | 29 +- src/bgeot_poly_composite.cc | 229 +- src/bgeot_rtree.cc | 209 +- src/bgeot_small_vector.cc | 6 +- src/bgeot_sparse_tensors.cc | 14 +- src/bgeot_torus.cc | 21 +- src/dal_backtrace.cc | 6 +- src/dal_bit_vector.cc | 6 +- src/dal_singleton.cc | 67 +- src/dal_static_stored_objects.cc | 520 ++- src/getfem/bgeot_comma_init.h | 6 +- src/getfem/bgeot_config.h | 13 +- src/getfem/bgeot_convex.h | 6 +- src/getfem/bgeot_convex_ref.h | 13 +- src/getfem/bgeot_convex_structure.h | 22 +- src/getfem/bgeot_ftool.h | 6 +- src/getfem/bgeot_geometric_trans.h | 15 +- src/getfem/bgeot_geotrans_inv.h | 9 +- src/getfem/bgeot_kdtree.h | 13 +- src/getfem/bgeot_mesh.h | 24 +- src/getfem/bgeot_mesh_structure.h | 53 +- src/getfem/bgeot_node_tab.h | 15 +- src/getfem/bgeot_permutations.h | 6 +- src/getfem/bgeot_poly.h | 8 +- src/getfem/bgeot_poly_composite.h | 58 +- src/getfem/bgeot_rtree.h | 85 +- src/getfem/bgeot_small_vector.h | 261 +- src/getfem/bgeot_sparse_tensors.h | 10 +- src/getfem/bgeot_tensor.h | 105 +- src/getfem/bgeot_torus.h | 9 +- src/getfem/dal_backtrace.h | 6 +- src/getfem/dal_basic.h | 34 +- src/getfem/dal_bit_vector.h | 6 +- src/getfem/dal_config.h | 6 +- src/getfem/dal_naming_system.h | 15 +- src/getfem/dal_singleton.h | 175 +- src/getfem/dal_static_stored_objects.h | 56 +- src/getfem/dal_tas.h | 6 +- src/getfem/dal_tree_sorted.h | 9 +- src/getfem/getfem_HHO.h | 86 + src/getfem/getfem_Navier_Stokes.h | 6 +- src/getfem/getfem_accumulated_distro.h | 227 ++ src/getfem/getfem_assembling.h | 58 +- src/getfem/getfem_assembling_tensors.h | 6 +- src/getfem/getfem_config.h | 20 +- src/getfem/getfem_contact_and_friction_common.h | 6 +- src/getfem/getfem_contact_and_friction_integral.h | 6 +- .../getfem_contact_and_friction_large_sliding.h | 6 +- src/getfem/getfem_contact_and_friction_nodal.h | 6 +- src/getfem/getfem_context.h | 16 +- src/getfem/getfem_continuation.h | 6 +- src/getfem/getfem_convect.h | 10 +- src/getfem/getfem_copyable_ptr.h | 6 +- src/getfem/getfem_crack_sif.h | 6 +- src/getfem/getfem_deformable_mesh.h | 8 +- src/getfem/getfem_derivatives.h | 8 +- src/getfem/getfem_error_estimate.h | 10 +- src/getfem/getfem_export.h | 118 +- src/getfem/getfem_fem.h | 63 +- src/getfem/getfem_fem_global_function.h | 8 +- src/getfem/getfem_fem_level_set.h | 6 +- src/getfem/getfem_fourth_order.h | 14 +- src/getfem/getfem_generic_assembly.h | 225 +- .../getfem_generic_assembly_compile_and_exec.h | 85 +- ...tfem_generic_assembly_functions_and_operators.h | 6 +- src/getfem/getfem_generic_assembly_semantic.h | 46 +- src/getfem/getfem_generic_assembly_tree.h | 58 +- src/getfem/getfem_global_function.h | 10 +- src/getfem/getfem_im_data.h | 74 +- src/getfem/getfem_im_list.h | 2 +- src/getfem/getfem_import.h | 12 +- src/getfem/getfem_integration.h | 6 +- src/getfem/getfem_interpolated_fem.h | 9 +- src/getfem/getfem_interpolation.h | 42 +- src/getfem/getfem_level_set.h | 6 +- src/getfem/getfem_level_set_contact.h | 6 +- src/getfem/getfem_linearized_plates.h | 59 +- src/getfem/{dal_backtrace.h => getfem_locale.h} | 47 +- src/getfem/getfem_mat_elem.h | 6 +- src/getfem/getfem_mat_elem_type.h | 6 +- src/getfem/getfem_mesh.h | 30 +- src/getfem/getfem_mesh_fem.h | 23 +- src/getfem/getfem_mesh_fem_global_function.h | 8 +- src/getfem/getfem_mesh_fem_level_set.h | 11 +- src/getfem/getfem_mesh_fem_product.h | 6 +- src/getfem/getfem_mesh_fem_sum.h | 6 +- src/getfem/getfem_mesh_im.h | 6 +- src/getfem/getfem_mesh_im_level_set.h | 6 +- src/getfem/getfem_mesh_level_set.h | 6 +- src/getfem/getfem_mesh_region.h | 152 +- src/getfem/getfem_mesh_slice.h | 6 +- src/getfem/getfem_mesh_slicers.h | 9 +- src/getfem/getfem_mesher.h | 6 +- src/getfem/getfem_model_solvers.h | 395 +-- src/getfem/getfem_models.h | 365 +- src/getfem/getfem_nonlinear_elasticity.h | 6 +- src/getfem/getfem_omp.h | 619 ++-- src/getfem/getfem_partial_mesh_fem.h | 13 +- src/getfem/getfem_plasticity.h | 19 +- src/getfem/getfem_projected_fem.h | 20 +- src/getfem/getfem_regular_meshes.h | 30 +- src/getfem/getfem_superlu.h | 6 +- src/getfem/getfem_torus.h | 6 +- src/getfem_HHO.cc | 1417 ++++++++ src/getfem_assembling_tensors.cc | 34 +- src/getfem_boost/noncopyable.hpp | 45 - src/getfem_boost/workaround.hpp | 77 - src/getfem_contact_and_friction_common.cc | 105 +- src/getfem_contact_and_friction_integral.cc | 10 +- src/getfem_contact_and_friction_large_sliding.cc | 11 +- src/getfem_contact_and_friction_nodal.cc | 22 +- src/getfem_context.cc | 6 +- src/getfem_continuation.cc | 6 +- src/getfem_enumeration_dof_para.cc | 20 +- src/getfem_error_estimate.cc | 19 +- src/getfem_export.cc | 449 ++- src/getfem_fem.cc | 406 ++- src/getfem_fem_composite.cc | 193 +- src/getfem_fem_global_function.cc | 35 +- src/getfem_fem_level_set.cc | 8 +- src/getfem_fourth_order.cc | 6 +- src/getfem_generic_assembly_compile_and_exec.cc | 3527 +++++++++++++------- ...fem_generic_assembly_functions_and_operators.cc | 79 +- src/getfem_generic_assembly_interpolation.cc | 167 +- src/getfem_generic_assembly_semantic.cc | 456 ++- src/getfem_generic_assembly_tree.cc | 870 +++-- src/getfem_generic_assembly_workspace.cc | 637 ++-- src/getfem_global_function.cc | 9 +- src/getfem_im_data.cc | 18 +- src/getfem_import.cc | 672 ++-- src/getfem_integration.cc | 30 +- src/getfem_integration_composite.cc | 16 +- src/getfem_interpolated_fem.cc | 32 +- src/getfem_interpolation.cc | 16 +- src/getfem_interpolation_on_deformed_domains.cc | 43 +- src/getfem_level_set.cc | 6 +- src/getfem_level_set_contact.cc | 6 +- src/getfem_linearized_plates.cc | 810 +++-- src/getfem_locale.cc | 58 + src/getfem_mat_elem.cc | 18 +- src/getfem_mat_elem_type.cc | 6 +- src/getfem_mesh.cc | 133 +- src/getfem_mesh_fem.cc | 36 +- src/getfem_mesh_fem_global_function.cc | 8 +- src/getfem_mesh_fem_level_set.cc | 6 +- src/getfem_mesh_fem_product.cc | 6 +- src/getfem_mesh_fem_sum.cc | 6 +- src/getfem_mesh_im.cc | 6 +- src/getfem_mesh_im_level_set.cc | 8 +- src/getfem_mesh_level_set.cc | 6 +- src/getfem_mesh_region.cc | 508 ++- src/getfem_mesh_slice.cc | 6 +- src/getfem_mesh_slicers.cc | 7 +- src/getfem_mesher.cc | 44 +- src/getfem_model_solvers.cc | 322 +- src/getfem_models.cc | 1683 +++++----- src/getfem_nonlinear_elasticity.cc | 112 +- src/getfem_omp.cc | 465 ++- src/getfem_partial_mesh_fem.cc | 6 +- src/getfem_plasticity.cc | 14 +- src/getfem_projected_fem.cc | 119 +- src/getfem_regular_meshes.cc | 174 +- src/getfem_superlu.cc | 6 +- src/getfem_torus.cc | 6 +- src/gmm/gmm.h | 6 +- src/gmm/gmm_MUMPS_interface.h | 6 +- src/gmm/gmm_algobase.h | 51 +- src/gmm/gmm_blas.h | 12 +- src/gmm/gmm_blas_interface.h | 197 +- src/gmm/gmm_condition_number.h | 6 +- src/gmm/gmm_conjugated.h | 6 +- src/gmm/gmm_def.h | 6 +- src/gmm/gmm_dense_Householder.h | 6 +- src/gmm/gmm_dense_lu.h | 8 +- src/gmm/gmm_dense_matrix_functions.h | 6 +- src/gmm/gmm_dense_qr.h | 6 +- src/gmm/gmm_dense_sylvester.h | 6 +- src/gmm/gmm_domain_decomp.h | 12 +- src/gmm/gmm_except.h | 28 +- src/gmm/gmm_feedback_management.h | 12 +- src/gmm/gmm_inoutput.h | 62 +- src/gmm/gmm_interface.h | 6 +- src/gmm/gmm_interface_bgeot.h | 6 +- src/gmm/gmm_iter.h | 6 +- src/gmm/gmm_iter_solvers.h | 6 +- src/gmm/gmm_kernel.h | 6 +- src/gmm/gmm_lapack_interface.h | 89 +- src/gmm/gmm_least_squares_cg.h | 6 +- src/gmm/gmm_matrix.h | 416 ++- src/gmm/gmm_modified_gram_schmidt.h | 8 +- src/gmm/gmm_opt.h | 107 +- src/gmm/gmm_precond.h | 8 +- src/gmm/gmm_precond_diagonal.h | 6 +- src/gmm/gmm_precond_ildlt.h | 8 +- src/gmm/gmm_precond_ildltt.h | 6 +- src/gmm/gmm_precond_ilu.h | 8 +- src/gmm/gmm_precond_ilut.h | 8 +- src/gmm/gmm_precond_ilutp.h | 6 +- src/gmm/gmm_precond_mr_approx_inverse.h | 8 +- src/gmm/gmm_range_basis.h | 6 +- src/gmm/gmm_real_part.h | 13 +- src/gmm/gmm_ref.h | 6 +- src/gmm/gmm_scaled.h | 6 +- src/gmm/gmm_solver_Schwarz_additive.h | 6 +- src/gmm/gmm_solver_bfgs.h | 6 +- src/gmm/gmm_solver_bicgstab.h | 8 +- src/gmm/gmm_solver_cg.h | 8 +- src/gmm/gmm_solver_constrained_cg.h | 8 +- src/gmm/gmm_solver_gmres.h | 8 +- src/gmm/gmm_solver_idgmres.h | 6 +- src/gmm/gmm_solver_qmr.h | 8 +- src/gmm/gmm_std.h | 81 +- src/gmm/gmm_sub_index.h | 6 +- src/gmm/gmm_sub_matrix.h | 6 +- src/gmm/gmm_sub_vector.h | 15 +- src/gmm/gmm_superlu_interface.h | 6 +- src/gmm/gmm_transposed.h | 6 +- src/gmm/gmm_tri_solve.h | 6 +- src/gmm/gmm_vector.h | 615 ++-- src/gmm/gmm_vector_to_matrix.h | 6 +- superlu/BLAS.c | 2 +- superlu/Makefile.am | 2 +- tests/Makefile.am | 20 +- tests/bilaplacian.cc | 10 +- tests/bilaplacian.param | 2 +- tests/bilaplacian.pl | 6 +- tests/crack.cc | 13 +- tests/crack.param | 2 +- tests/crack.pl | 6 +- tests/cyl_slicer.cc | 13 +- tests/cyl_slicer.pl | 6 +- tests/dynamic_array.cc | 8 +- tests/dynamic_array.pl | 6 +- tests/dynamic_tas.cc | 6 +- tests/dynamic_tas.pl | 6 +- tests/elastostatic.cc | 12 +- tests/elastostatic.param | 4 +- tests/elastostatic.pl | 6 +- tests/geo_trans_inv.cc | 6 +- tests/geo_trans_inv.param | 2 +- tests/geo_trans_inv.pl | 6 +- tests/gmm_torture01_lusolve.cc | 6 +- tests/gmm_torture02_baseop.cc | 6 +- tests/gmm_torture05_mult.cc | 6 +- tests/gmm_torture06_mat_mult.cc | 6 +- tests/gmm_torture10_qr.cc | 6 +- tests/gmm_torture15_sub.cc | 6 +- tests/gmm_torture20_iterative_solvers.cc | 6 +- tests/heat_equation.cc | 13 +- tests/heat_equation.param | 2 +- tests/heat_equation.pl | 6 +- tests/helmholtz.cc | 28 +- tests/helmholtz.param | 2 +- tests/helmholtz.pl | 6 +- tests/integration.cc | 6 +- tests/integration.pl | 6 +- tests/laplacian.cc | 13 +- tests/laplacian.param | 2 +- tests/laplacian.pl | 6 +- tests/laplacian_conv_pk.pl | 6 +- tests/laplacian_with_bricks.cc | 21 +- tests/laplacian_with_bricks.param | 2 +- tests/laplacian_with_bricks.pl | 6 +- tests/make_gmm_test.pl | 6 +- tests/meshes/disc_2D_degree3.mesh | 2 +- tests/meshes/disc_P2_h0_3.mesh | 2 +- tests/meshes/disc_P2_h0_5.mesh | 2 +- tests/meshes/disc_P2_h1.mesh | 2 +- tests/meshes/disc_P2_h10.mesh | 2 +- tests/meshes/disc_P2_h2.mesh | 2 +- tests/meshes/disc_P2_h4.mesh | 2 +- tests/meshes/disc_P2_h6.mesh | 2 +- tests/meshes/disc_P2_h8.mesh | 2 +- tests/meshes/disc_with_a_hole.mesh | 2 +- tests/meshes/donut_regulier_32_elements.mesh | 2 +- tests/meshes/donut_regulier_512_elements.mesh | 2 +- tests/meshes/donut_regulier_72_elements.mesh | 2 +- tests/meshes/donut_regulier_8_elements_288ddl.mesh | 2 +- tests/meshes/multi_body.mesh | 2 +- tests/meshes/punch2D_1.mesh | 2 +- tests/meshes/punch2D_2.mesh | 2 +- .../sphere_with_quadratic_tetra_16000_elts.mesh | 2 +- .../sphere_with_quadratic_tetra_2000_elts.mesh | 2 +- .../sphere_with_quadratic_tetra_400_elts.mesh | 2 +- .../sphere_with_quadratic_tetra_80_elts.mesh | 2 +- .../meshes/sphere_with_quadratic_tetra_8_elts.mesh | 2 +- tests/nonlinear_elastostatic.cc | 13 +- tests/nonlinear_elastostatic.param | 2 +- tests/nonlinear_elastostatic.pl | 6 +- tests/nonlinear_membrane.cc | 10 +- tests/nonlinear_membrane.param | 2 +- tests/nonlinear_membrane.pl | 6 +- tests/plasticity.cc | 13 +- tests/plasticity.param | 2 +- tests/plasticity.pl | 6 +- tests/plate.cc | 13 +- tests/plate.param | 2 +- tests/plate.pl | 6 +- tests/poly.cc | 6 +- tests/poly.pl | 6 +- tests/schwarz_additive.cc | 8 +- tests/schwarz_additive.param | 2 +- tests/schwarz_additive.pl | 6 +- tests/stokes.cc | 12 +- tests/stokes.param | 2 +- tests/stokes.pl | 6 +- tests/test_assembly.cc | 12 +- tests/test_assembly.pl | 6 +- tests/test_assembly_assignment.cc | 59 + ...est_assembly.pl => test_assembly_assignment.pl} | 23 +- tests/test_condensation.cc | 191 ++ tests/test_condensation.pl | 105 + tests/test_continuation.cc | 12 +- tests/test_continuation.param | 2 +- tests/test_continuation.pl | 6 +- tests/test_gmm_matrix_functions.cc | 10 +- tests/test_gmm_matrix_functions.pl | 6 +- tests/test_int_set.cc | 6 +- tests/test_int_set.pl | 6 +- tests/test_internal_variables.cc | 117 + ...test_assembly.pl => test_internal_variables.pl} | 25 +- tests/test_interpolated_fem.cc | 12 +- tests/test_interpolated_fem.param | 2 +- tests/test_interpolated_fem.pl | 6 +- tests/test_interpolation.cc | 6 +- tests/test_interpolation.pl | 6 +- tests/test_kdtree.cc | 8 +- tests/test_kdtree.pl | 6 +- tests/test_mat_elem.cc | 6 +- tests/test_mat_elem.param | 2 +- tests/test_mat_elem.pl | 6 +- tests/test_mesh.cc | 6 +- tests/test_mesh.pl | 6 +- tests/test_mesh_generation.cc | 6 +- tests/test_mesh_generation.pl | 6 +- tests/test_mesh_im_level_set.cc | 8 +- tests/test_mesh_im_level_set.pl | 6 +- tests/test_range_basis.cc | 11 +- tests/test_range_basis.param | 2 +- tests/test_range_basis.pl | 6 +- tests/test_rtree.cc | 14 +- tests/test_rtree.pl | 6 +- tests/test_slice.cc | 6 +- tests/test_slice.pl | 6 +- tests/test_small_vector.cc | 9 +- tests/test_small_vector.pl | 6 +- tests/test_tree_sorted.cc | 6 +- tests/test_tree_sorted.pl | 6 +- tests/thermo_elasticity_electrical_coupling.cc | 46 +- tests/thermo_elasticity_electrical_coupling.param | 2 +- tests/thermo_elasticity_electrical_coupling.pl | 6 +- tests/wave_equation.cc | 13 +- tests/wave_equation.param | 2 +- tests/wave_equation.pl | 6 +- 1230 files changed, 26977 insertions(+), 14954 deletions(-) diff --cc src/getfem/getfem_mesh_region.h index 924319e4,2ae60a45..e41b4b74 --- a/src/getfem/getfem_mesh_region.h +++ b/src/getfem/getfem_mesh_region.h @@@ -286,12 -275,9 +275,9 @@@ namespace getfem friend std::ostream & operator <<(std::ostream &os, const mesh_region &w); }; - typedef mesh_region::visitor mr_visitor; + using mr_visitor = mesh_region::visitor; - /* Dummy mesh_region for default parameter of functions. */ + /** Dummy mesh_region for default parameter of functions. */ const mesh_region &dummy_mesh_region(); - } - - - #endif -} /* end of namespace getfem. */ ++} /* end of namespace getfem. */