Davout 0.1.1.dev180__tar.gz → 0.1.1.dev181__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. {davout-0.1.1.dev180/source/Davout.egg-info → davout-0.1.1.dev181}/PKG-INFO +7 -4
  2. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/README.md +6 -3
  3. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/pyproject.toml +1 -1
  4. {davout-0.1.1.dev180/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space → davout-0.1.1.dev181/source/Davout/DeepMech/aa_tests/SVD_framework}/dataset_generator.py +10 -5
  5. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/SVD_framework/kinematics_surrogate_model.py +140 -35
  6. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/neural_network_trainer.py +55 -18
  7. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_based_NNs.py +22 -16
  8. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/custom_architectures/SVD_quotient_space.py +234 -12
  9. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/ANN_tools.py +7 -4
  10. davout-0.1.1.dev181/source/Davout/DeepMech/tool_box/FEM_surrogate_testing_tools.py +1224 -0
  11. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/activation_function_utilities.py +52 -35
  12. davout-0.1.1.dev181/source/Davout/DeepMech/tool_box/custom_activation_functions.py +207 -0
  13. davout-0.1.1.dev181/source/Davout/DeepMech/tool_box/numerical_tools.py +717 -0
  14. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/training_tools.py +4 -4
  15. davout-0.1.1.dev181/source/Davout/GraphUtilities/aa_tests/positive_orthant_modulating_function.py +645 -0
  16. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/aa_tests/tests_plotting_tools.py +111 -24
  17. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/plotting_tools.py +657 -184
  18. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/collage_classes.py +28 -2
  19. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/paraview_scripts.py +10 -0
  20. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/binary_tools.py +119 -100
  21. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/mesh_handling_tools.py +197 -3
  22. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/dictionary_tools.py +37 -26
  23. davout-0.1.1.dev181/source/Davout/PythonicUtilities/error_and_type_tools.py +130 -0
  24. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/function_tools.py +53 -2
  25. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/path_tools.py +126 -15
  26. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/tensor_and_math_tools.py +3 -3
  27. {davout-0.1.1.dev180 → davout-0.1.1.dev181/source/Davout.egg-info}/PKG-INFO +7 -4
  28. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout.egg-info/SOURCES.txt +3 -0
  29. davout-0.1.1.dev180/source/Davout/DeepMech/tool_box/custom_activation_functions.py +0 -106
  30. davout-0.1.1.dev180/source/Davout/DeepMech/tool_box/numerical_tools.py +0 -337
  31. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/LICENSE +0 -0
  32. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/setup.cfg +0 -0
  33. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/setup.py +0 -0
  34. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/__init__.py +0 -0
  35. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/RVEs/__init__.py +0 -0
  36. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_artery.py +0 -0
  37. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_matrix_with_fiber.py +0 -0
  38. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/__init__.py +0 -0
  39. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/elastin_fiber_creator.py +0 -0
  40. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_artery_transfinite.py +0 -0
  41. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_matrix_with_fiber_transfinite.py +0 -0
  42. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/__init__.py +0 -0
  43. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/elastin_fiber_creator.py +0 -0
  44. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/spherical_RVE.py +0 -0
  45. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/__init__.py +0 -0
  46. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale.py +0 -0
  47. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale_ellipsoid.py +0 -0
  48. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/__init__.py +0 -0
  49. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/beam_micropolar_case_1.py +0 -0
  50. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/__init__.py +0 -0
  51. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/artery_parameters.py +0 -0
  52. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/fiber_matrix_parameters.py +0 -0
  53. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/periodic_structure.py +0 -0
  54. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/solids/__init__.py +0 -0
  55. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/solids/intervertebral_disc.py +0 -0
  56. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/aa_tests/solids/whole_ensemble_of_geometries.py +0 -0
  57. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/solids/__init__.py +0 -0
  58. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/solids/cuboid_cylinders.py +0 -0
  59. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/solids/cuboid_ellipsoids.py +0 -0
  60. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/solids/cuboid_generator.py +0 -0
  61. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/solids/cuboid_helicoids.py +0 -0
  62. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/solids/cuboid_prisms.py +0 -0
  63. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/tool_box/__init__.py +0 -0
  64. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/tool_box/geometric_tools.py +0 -0
  65. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/tool_box/mesh_data_retriever.py +0 -0
  66. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/tool_box/meshing_tools.py +0 -0
  67. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/tool_box/region_finder.py +0 -0
  68. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/CuboidGmsh/tool_box/verification_tools.py +0 -0
  69. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/PINNs/Physics/__init__.py +0 -0
  70. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/PINNs/Physics/elasticity_equation.py +0 -0
  71. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/PINNs/__init__.py +0 -0
  72. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/__init__.py +0 -0
  73. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/SVD_framework/box_with_imposed_displacement_gradient.py +0 -0
  74. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/SVD_framework/box_with_young_modulus_field.py +0 -0
  75. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/SVD_framework/input_data_filler.py +0 -0
  76. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/SVD_framework/young_modulus_field_generator.py +0 -0
  77. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/heat_equation.py +0 -0
  78. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/box_with_imposed_displacement_gradient.py +0 -0
  79. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/box_with_young_modulus_field.py +0 -0
  80. {davout-0.1.1.dev180/source/Davout/DeepMech/aa_tests/SVD_framework → davout-0.1.1.dev181/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space}/dataset_generator.py +0 -0
  81. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/input_data_filler.py +0 -0
  82. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/young_modulus_field_generator.py +0 -0
  83. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_optimization.py +0 -0
  84. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_tools.py +0 -0
  85. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_tools.py +0 -0
  86. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_convex_and_partially_convex_input_NNs.py +0 -0
  87. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_math_tools.py +0 -0
  88. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_quotient_space_NNs.py +0 -0
  89. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_tensor_tools.py +0 -0
  90. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/custom_architectures/__init__.py +0 -0
  91. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/custom_architectures/convexity_concerned_NNs.py +0 -0
  92. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/custom_architectures/gated_quotient_space.py +0 -0
  93. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/custom_architectures/generic_feed_forward.py +0 -0
  94. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/SVD_tools.py +0 -0
  95. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/__init__.py +0 -0
  96. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/differentiation_tools.py +0 -0
  97. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/loss_assembler_classes.py +0 -0
  98. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/loss_tools.py +0 -0
  99. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/math_tools.py +0 -0
  100. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/parameters_tools.py +0 -0
  101. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/DeepMech/tool_box/tensor_tools.py +0 -0
  102. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/__init__.py +0 -0
  103. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/REPL_experiments.py +0 -0
  104. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/__init__.py +0 -0
  105. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/optimization/__init__.py +0 -0
  106. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/optimization/tests_optimization_methods.py +0 -0
  107. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/tests_batching.py +0 -0
  108. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/tests_finite_elements.py +0 -0
  109. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/tests_loss_function.py +0 -0
  110. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/tests_physics.py +0 -0
  111. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/unidimensional/__init__.py +0 -0
  112. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/unidimensional/bar_fea.py +0 -0
  113. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/unidimensional/hyperelastic_1D_energies.py +0 -0
  114. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/aa_tests/unidimensional/variational_tools.py +0 -0
  115. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/assembly/__init__.py +0 -0
  116. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/assembly/body_forces_work.py +0 -0
  117. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/assembly/dirichlet_boundary_conditions_enforcer.py +0 -0
  118. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/assembly/hyperelastic_internal_work.py +0 -0
  119. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/assembly/surface_forces_work.py +0 -0
  120. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/constitutive_models/__init__.py +0 -0
  121. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/constitutive_models/hyperelastic_isotropic_models.py +0 -0
  122. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/finite_elements/__init__.py +0 -0
  123. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/finite_elements/elements_manager.py +0 -0
  124. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/finite_elements/finite_element_dispatcher.py +0 -0
  125. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/finite_elements/surface_elements/__init__.py +0 -0
  126. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/finite_elements/surface_elements/triangles.py +0 -0
  127. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/finite_elements/volume_elements/__init__.py +0 -0
  128. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/finite_elements/volume_elements/tetrahedrons.py +0 -0
  129. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/optimization/__init__.py +0 -0
  130. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/optimization/conditioning_matrices.py +0 -0
  131. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/optimization/loss_functions.py +0 -0
  132. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/optimization/neural_network_assembler.py +0 -0
  133. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/optimization/objective_function.py +0 -0
  134. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/physics/compressible_cauchy_hyperelasticy.py +0 -0
  135. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/__init__.py +0 -0
  136. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/constitutive_tools.py +0 -0
  137. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/dirichlet_loading_tools.py +0 -0
  138. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/math_tools.py +0 -0
  139. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/mesh_info_tools.py +0 -0
  140. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/mesh_tools.py +0 -0
  141. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/neumann_loading_tools.py +0 -0
  142. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/node_ordering.py +0 -0
  143. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/optimization_tools.py +0 -0
  144. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/parametric_curves_tools.py +0 -0
  145. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/sensitivity_tools.py +0 -0
  146. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/FENN/tool_box/tensorflow_utilities.py +0 -0
  147. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/__init__.py +0 -0
  148. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/aa_tests/__init__.py +0 -0
  149. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/aa_tests/cauchy_tetrahedron.py +0 -0
  150. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/aa_tests/continuum_mechanics_potato_collage.py +0 -0
  151. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/aa_tests/fake_book_spines.py +0 -0
  152. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/aa_tests/null_space_architecture.py +0 -0
  153. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/aa_tests/strain_tensors.py +0 -0
  154. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/aa_tests/tests_collage_tools.py +0 -0
  155. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/aa_tests/tests_delaunay.py +0 -0
  156. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/aa_tests/tests_paraview_tools.py +0 -0
  157. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/collage_tools.py +0 -0
  158. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/paraview_tools.py +0 -0
  159. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/__init__.py +0 -0
  160. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/arrows_lines_tools.py +0 -0
  161. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/box_and_markers_classes.py +0 -0
  162. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/box_tools.py +0 -0
  163. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/curves_setter.py +0 -0
  164. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/image_tools.py +0 -0
  165. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/interactivity_tools.py +0 -0
  166. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/perspective_tools.py +0 -0
  167. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/GraphUtilities/tool_box/text_excerpt_tools.py +0 -0
  168. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/LaTeXUtilities/LaTeXUtilities.sty +0 -0
  169. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/LaTeXUtilities/__init__.py +0 -0
  170. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/LaTeXUtilities/aa_tests/__init__.py +0 -0
  171. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/LaTeXUtilities/aa_tests/latex_parser_tests.py +0 -0
  172. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/LaTeXUtilities/latex_parser.py +0 -0
  173. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/LaTeXUtilities/tool_box/__init__.py +0 -0
  174. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/LaTeXUtilities/tool_box/command_tools.py +0 -0
  175. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/LaTeXUtilities/tool_box/parsing_tools.py +0 -0
  176. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/LaTeXUtilities/tool_box/sty_file_tools.py +0 -0
  177. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/__init__.py +0 -0
  178. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/heat_transfer/heat_box.py +0 -0
  179. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/beam_with_fibers.py +0 -0
  180. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/box_with_young_modulus_field.py +0 -0
  181. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_HGO.py +0 -0
  182. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean.py +0 -0
  183. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean_incompressible.py +0 -0
  184. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/hyperelastic_box.py +0 -0
  185. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/incompressible_hyperelastic_box.py +0 -0
  186. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/cylindrical_coordinates_material_property.py +0 -0
  187. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/disc_HGO.py +0 -0
  188. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/local_coordinate_system_generation.py +0 -0
  189. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_hyperelastic_box.py +0 -0
  190. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_incompressible_box.py +0 -0
  191. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/read_dofs_in_volume.py +0 -0
  192. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/young_modulus_field.py +0 -0
  193. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/bending_case/beam_with_fibers_macroscale.py +0 -0
  194. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/bending_case/beam_with_fibers_microscale.py +0 -0
  195. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/deformation_laboratory/microscale_deformation_lab.py +0 -0
  196. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/disc_micropolar_neo_hookean.py +0 -0
  197. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam.py +0 -0
  198. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean.py +0 -0
  199. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean_pure_dolfin.py +0 -0
  200. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean_pure_dolfin_old.py +0 -0
  201. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Suh_et_al/suh_implementation.py +0 -0
  202. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/micropolar_with_homogenization.py +0 -0
  203. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/micropolar_with_homogenization_original.py +0 -0
  204. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/tools_homogenization.py +0 -0
  205. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/tools_io.py +0 -0
  206. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/stress_plots.py +0 -0
  207. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/numerical_differentiation.py +0 -0
  208. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/numerical_differentiation_second_elasticity_tensor.py +0 -0
  209. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/tangent_operator_plotter.py +0 -0
  210. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/torsion_case/beam_with_fibers_macroscale.py +0 -0
  211. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/torsion_case/beam_with_fibers_microscale.py +0 -0
  212. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/traction_case/beam_with_fibers_macroscale.py +0 -0
  213. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/traction_case/beam_with_fibers_microscale.py +0 -0
  214. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/curve_fitting.py +0 -0
  215. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/cylindrical_coordinates_field.py +0 -0
  216. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/cylindrical_coordinates_material_property.py +0 -0
  217. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/elasticity_tensor.py +0 -0
  218. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/incompressible.py +0 -0
  219. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/linear_expression_test.py +0 -0
  220. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/petsc_2D.py +0 -0
  221. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_periodic.py +0 -0
  222. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_periodic_class.py +0 -0
  223. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_shifted_field.py +0 -0
  224. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/teste_afim.py +0 -0
  225. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/working_example_dictionaries.py +0 -0
  226. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/multiscale/hyperelasticity/beam_with_fibers_microscale.py +0 -0
  227. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/compressible_hyperelasticity.py +0 -0
  228. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/incompressible_hyperelasticity.py +0 -0
  229. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes/beam_gmsh.py +0 -0
  230. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes_paths.py +0 -0
  231. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/aa_tests_and_examples/various_physics_tests.py +0 -0
  232. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/constitutive_models/__init__.py +0 -0
  233. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/constitutive_models/heat_transfer/isotropic_heat_conduction.py +0 -0
  234. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/constitutive_models/hyperelasticity/__init__.py +0 -0
  235. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/constitutive_models/hyperelasticity/anisotropic_hyperelasticity.py +0 -0
  236. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/constitutive_models/hyperelasticity/isotropic_hyperelasticity.py +0 -0
  237. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/constitutive_models/hyperelasticity/micropolar_hyperelasticity.py +0 -0
  238. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/multiscale/__init__.py +0 -0
  239. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/__init__.py +0 -0
  240. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_classes.py +0 -0
  241. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_expressions.py +0 -0
  242. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/multiscale/multiscale_hyperelasticity.py +0 -0
  243. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/multiscale/multiscale_micropolar.py +0 -0
  244. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/physics/__init__.py +0 -0
  245. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/physics/hyperelastic_cauchy_continuum.py +0 -0
  246. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/physics/hyperelastic_incompressible_cauchy_continuum.py +0 -0
  247. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/physics/hyperelastic_micropolar_continuum.py +0 -0
  248. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/physics/steady_state_heat_transfer.py +0 -0
  249. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/post_processes/__init__.py +0 -0
  250. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/post_processes/post_processes_classes.py +0 -0
  251. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/post_processes/post_processes_functions.py +0 -0
  252. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/__init__.py +0 -0
  253. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/body_forces_loading_tools.py +0 -0
  254. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/boundary_conditions_tools.py +0 -0
  255. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/constitutive_tools.py +0 -0
  256. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/dirichlet_load_tools.py +0 -0
  257. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/expressions_tools.py +0 -0
  258. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/functional_tools.py +0 -0
  259. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/homogenization_tools.py +0 -0
  260. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/multiscale_boundary_conditions_tools.py +0 -0
  261. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/numerical_tools.py +0 -0
  262. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/parallelization_tools.py +0 -0
  263. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/post_processing_tools.py +0 -0
  264. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/pseudotime_stepping_tools.py +0 -0
  265. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/read_write_tools.py +0 -0
  266. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/surface_loading_tools.py +0 -0
  267. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/tensor_tools.py +0 -0
  268. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/variational_tools.py +0 -0
  269. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/MultiMech/tool_box/weak_boundary_conditions_tools.py +0 -0
  270. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/__init__.py +0 -0
  271. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/aa_tests/__init__.py +0 -0
  272. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/aa_tests/tests_template.py +0 -0
  273. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/aa_tests/txt_tests.py +0 -0
  274. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/coordinate_systems_tools.py +0 -0
  275. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/file_handling_tools.py +0 -0
  276. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/fonts/CMU_Serif_Roman.ttf +0 -0
  277. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/interpolation_tools.py +0 -0
  278. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/math_experiments.py +0 -0
  279. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/numpy_tools.py +0 -0
  280. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/package_tools.py +0 -0
  281. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/programming_tools.py +0 -0
  282. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/recursion_tools.py +0 -0
  283. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/string_tools.py +0 -0
  284. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/testing_tools.py +0 -0
  285. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/PythonicUtilities/user_interaction_tools.py +0 -0
  286. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/StochasticUtilities/__init__.py +0 -0
  287. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/StochasticUtilities/aa_tests/__init__.py +0 -0
  288. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/StochasticUtilities/aa_tests/test_delaunay_tools.py +0 -0
  289. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/StochasticUtilities/domain_decomposition/__init__.py +0 -0
  290. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/StochasticUtilities/tool_box/__init__.py +0 -0
  291. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/StochasticUtilities/tool_box/delaunay_tools.py +0 -0
  292. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/StochasticUtilities/tool_box/sampling_tools.py +0 -0
  293. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/StochasticUtilities/tool_box/statistics_tools.py +0 -0
  294. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout/__init__.py +0 -0
  295. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout.egg-info/dependency_links.txt +0 -0
  296. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout.egg-info/requires.txt +0 -0
  297. {davout-0.1.1.dev180 → davout-0.1.1.dev181}/source/Davout.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Davout
3
- Version: 0.1.1.dev180
3
+ Version: 0.1.1.dev181
4
4
  Summary: Scientific computing utilities combining FEM, ANN and tooling
5
5
  Author: Matheus Janczkowski
6
6
  Author-email: Matheus Janczkowski <matheusj2009@hotmail.com>
@@ -29,7 +29,9 @@ to the repository and source files: https://github.com/Matheus-Janczkowski/Davou
29
29
 
30
30
  4. Link to the book on continuum mechanics: https://github.com/Matheus-Janczkowski/CompMechSelfStudy/tree/main/introduction_to_continuum_mechanics
31
31
 
32
- 4. Link for the presentation template: https://www.overleaf.com/read/sbgxdphxswmm#6d7d64
32
+ 5. Link for the presentation template: https://www.overleaf.com/read/sbgxdphxswmm#6d7d64
33
+
34
+ 6. Link for the report/paper template: https://www.overleaf.com/read/vhpsmzhwdsfg#c5dee9
33
35
 
34
36
  # Citation
35
37
  https://doi.org/10.5281/zenodo.18806245
@@ -65,8 +67,9 @@ such as FEniCS, TensorFlow, GMSH, ParaView, and matplotlib.
65
67
  # Installation using pip
66
68
  pip install Davout
67
69
 
68
- Or for a special dev version (123 for example). Check the pyproject.toml file to consult the
69
- latest version at the line 'version = "0.1.1.dev123"':
70
+ Or for a special dev version (123 for example). Check the pyproject.toml
71
+ file (see https://github.com/Matheus-Janczkowski/Davout/blob/main/pyproject.toml
72
+ at line 66) to consult the latest version at the line 'version = "0.1.1.dev123"':
70
73
 
71
74
  pip install Davout==0.1.1.dev123
72
75
 
@@ -10,7 +10,9 @@ to the repository and source files: https://github.com/Matheus-Janczkowski/Davou
10
10
 
11
11
  4. Link to the book on continuum mechanics: https://github.com/Matheus-Janczkowski/CompMechSelfStudy/tree/main/introduction_to_continuum_mechanics
12
12
 
13
- 4. Link for the presentation template: https://www.overleaf.com/read/sbgxdphxswmm#6d7d64
13
+ 5. Link for the presentation template: https://www.overleaf.com/read/sbgxdphxswmm#6d7d64
14
+
15
+ 6. Link for the report/paper template: https://www.overleaf.com/read/vhpsmzhwdsfg#c5dee9
14
16
 
15
17
  # Citation
16
18
  https://doi.org/10.5281/zenodo.18806245
@@ -46,8 +48,9 @@ such as FEniCS, TensorFlow, GMSH, ParaView, and matplotlib.
46
48
  # Installation using pip
47
49
  pip install Davout
48
50
 
49
- Or for a special dev version (123 for example). Check the pyproject.toml file to consult the
50
- latest version at the line 'version = "0.1.1.dev123"':
51
+ Or for a special dev version (123 for example). Check the pyproject.toml
52
+ file (see https://github.com/Matheus-Janczkowski/Davout/blob/main/pyproject.toml
53
+ at line 66) to consult the latest version at the line 'version = "0.1.1.dev123"':
51
54
 
52
55
  pip install Davout==0.1.1.dev123
53
56
 
@@ -63,7 +63,7 @@ build-backend = "setuptools.build_meta"
63
63
 
64
64
  [project]
65
65
  name = "Davout"
66
- version = "0.1.1.dev180"
66
+ version = "0.1.1.dev181"
67
67
  description = "Scientific computing utilities combining FEM, ANN and tooling"
68
68
  readme = "README.md"
69
69
  authors = [
@@ -162,10 +162,11 @@ save_snapshot_displacement=False):
162
162
  strain_energy_file_name+"_"+simulation_number+".npy")[:,1:
163
163
  ].tolist())
164
164
 
165
- # Adds the Young modulus data and the displacement gradient
165
+ # Adds the displacement gradient and, then, the Young modulus
166
+ # data. The variables related to the quotient space must come
167
+ # first
166
168
 
167
- successful_sample_data = [sample_data[variables_indices["p"+
168
- "eak E"]], sample_data[variables_indices["base E"]]]
169
+ successful_sample_data = []
169
170
 
170
171
  successful_sample_data.extend(displacement_gradient[0])
171
172
 
@@ -173,6 +174,9 @@ save_snapshot_displacement=False):
173
174
 
174
175
  successful_sample_data.extend(displacement_gradient[2])
175
176
 
177
+ successful_sample_data.extend([sample_data[variables_indices[
178
+ "peak E"]], sample_data[variables_indices["base E"]]])
179
+
176
180
  succesful_data.append(successful_sample_data)
177
181
 
178
182
  # Updates the list of completed simulations
@@ -339,7 +343,7 @@ if __name__=="__main__":
339
343
 
340
344
  cube_size = 0.5
341
345
 
342
- n_divisions = 10
346
+ n_divisions = 6#10
343
347
 
344
348
  E_extremum = 10E6
345
349
 
@@ -355,7 +359,8 @@ if __name__=="__main__":
355
359
 
356
360
  # Sets the paths and files names
357
361
 
358
- results_path = get_parent_path_of_file()+"//results"
362
+ results_path = (get_parent_path_of_file()+"//results_n_divisions_"+
363
+ str(n_divisions))
359
364
 
360
365
  displacement_file_name = "displacement_young_modulus_field"
361
366
 
@@ -9,6 +9,8 @@ from time import time
9
9
 
10
10
  from .....Davout.DeepMech.tool_box import ANN_tools, training_tools
11
11
 
12
+ from .....Davout.DeepMech.tool_box.numerical_tools import DataMatrixRegularization
13
+
12
14
  from .....Davout.DeepMech.tool_box.loss_assembler_classes import MaximumAbsoluteError
13
15
 
14
16
  from .....Davout.PythonicUtilities.path_tools import get_parent_path_of_file
@@ -22,12 +24,23 @@ class RVEKinematicsSurrogateModel:
22
24
  activations_list_auxiliar_network, quotient_space_dimension,
23
25
  modulating_function, displacement_data_file, input_data_file,
24
26
  results_path, loss_metric, n_training_samples, saved_model_file,
25
- n_monte_carlo_realizations, n_best_models,
27
+ n_monte_carlo_realizations, n_best_models, n_best_samples,
26
28
  maximum_training_iterations, verbose_delta_iterations,
27
- parameters_dtype="float32", householder_epsilon=1.0, verbose=True):
29
+ mesh_file_name, optimizer, subdofs_to_learn, parameters_dtype="flo"+
30
+ "at32", householder_epsilon=1.0, verbose=True, integer_dtype="int3"+
31
+ "2", get_all_inputs_to_zeroth_order_of_magnitude=False,
32
+ non_orthogonal_matrices=False, device_type="CPU",
33
+ input_data_regularization_method=None):
28
34
 
29
35
  # Saves the needed information
30
36
 
37
+ self.non_orthogonal_matrices = non_orthogonal_matrices
38
+
39
+ self.device_type = device_type
40
+
41
+ self.get_all_inputs_to_zeroth_order_of_magnitude = (
42
+ get_all_inputs_to_zeroth_order_of_magnitude)
43
+
31
44
  self.activations_list_main_network = activations_list_main_network
32
45
 
33
46
  self.activations_list_auxiliar_network = (
@@ -45,6 +58,8 @@ class RVEKinematicsSurrogateModel:
45
58
 
46
59
  self.loss_metric = loss_metric
47
60
 
61
+ self.optimizer = optimizer
62
+
48
63
  self.n_training_samples = n_training_samples
49
64
 
50
65
  self.saved_model_file = saved_model_file
@@ -53,7 +68,9 @@ class RVEKinematicsSurrogateModel:
53
68
 
54
69
  self.n_best_models = n_best_models
55
70
 
56
- self.parameters_dtype = parameters_dtype
71
+ self.n_best_samples = n_best_samples
72
+
73
+ self.mesh_file_name = mesh_file_name
57
74
 
58
75
  self.householder_epsilon = householder_epsilon
59
76
 
@@ -63,19 +80,38 @@ class RVEKinematicsSurrogateModel:
63
80
 
64
81
  self.verbose_delta_iterations = verbose_delta_iterations
65
82
 
66
- # Defines a function to train the neural network model
83
+ # Saves the tensorflow dtypes
67
84
 
68
- def train_surrogate_model(self):
85
+ self.parameters_dtype = parameters_dtype
69
86
 
70
- # Reads the two files
87
+ self.integer_dtype = integer_dtype
71
88
 
72
- output_data = np.load(self.results_path+"//"+
89
+ # Converts the tensor of DOFs to a tensorflow integer tensor
90
+
91
+ self.subdofs_to_learn = tf.convert_to_tensor(subdofs_to_learn,
92
+ dtype=tf.as_dtype(self.parameters_dtype))
93
+
94
+ # Gets the number of output neurons from the tensor of the indi-
95
+ # ces of the DOFs that will actually be learnt
96
+
97
+ self.n_output_neurons = self.subdofs_to_learn.shape[0]
98
+
99
+ # Reads the output data
100
+
101
+ self.output_data = np.load(self.results_path+"//"+
73
102
  self.displacement_data_file)
74
103
 
104
+ # Gets the numbers of samples and of total of DOFs
105
+
106
+ self.number_of_samples, self.total_number_of_dofs = (
107
+ self.output_data.shape)
108
+
109
+ # Gets the input data
110
+
75
111
  input_data = np.load(self.results_path+"//"+self.input_data_file)
76
112
 
77
113
  # Checks whether there is sufficient samples in the dataset
78
-
114
+
79
115
  if self.n_training_samples>=input_data.shape[0]:
80
116
 
81
117
  raise IndexError(str(self.n_training_samples)+" samples we"+
@@ -83,7 +119,7 @@ class RVEKinematicsSurrogateModel:
83
119
  input_data.shape[0])+" samples in the input data matrix at"+
84
120
  ":\n"+str(self.results_path+"//"+self.input_data_file))
85
121
 
86
- if self.n_training_samples>=output_data.shape[0]:
122
+ if self.n_training_samples>=self.output_data.shape[0]:
87
123
 
88
124
  raise IndexError(str(self.n_training_samples)+" samples we"+
89
125
  "re asked for training, but there are only "+str(
@@ -91,26 +127,40 @@ class RVEKinematicsSurrogateModel:
91
127
  "t:\n"+str(self.results_path+"//"+
92
128
  self.displacement_data_file))
93
129
 
94
- if output_data.shape[0]!=input_data.shape[0]:
130
+ if self.output_data.shape[0]!=input_data.shape[0]:
95
131
 
96
132
  raise IndexError("The output data matrix has "+str(
97
- output_data.shape[0])+" samples, whereas the input data ma"+
98
- "trix has "+str(input_data.shape[0])+" samples.\n\nThe out"+
99
- "put data matrix is at:\n"+str(self.results_path+"//"+
133
+ self.output_data.shape[0])+" samples, whereas the input da"+
134
+ "ta matrix has "+str(input_data.shape[0])+" samples.\n\nTh"+
135
+ "e output data matrix is at:\n"+str(self.results_path+"//"+
100
136
  self.displacement_data_file)+"\n\nthe input data matrix is"+
101
137
  "at:\n"+str(self.results_path+"//"+self.input_data_file))
102
138
 
103
- # Sets the training data
139
+ # Checks if a regularization technique was requested for the in-
140
+ # put data matrix
141
+
142
+ if input_data_regularization_method is not None:
143
+
144
+ # Instantiates the data regularization class
145
+
146
+ data_regularization_class = DataMatrixRegularization(
147
+ regularization_function=input_data_regularization_method)
104
148
 
105
- training_data = input_data[0:self.n_training_samples,:]
149
+ # Regularizes the data matrix and saves the regularization
150
+ # data using this input data
106
151
 
107
- training_true_values = output_data[0:self.n_training_samples,:]
152
+ self.input_data, _ = data_regularization_class(input_data,
153
+ True)
108
154
 
109
- # Gets the number of input and output neurons
155
+ # Otherwise, simply saves the input data into the class
156
+
157
+ else:
158
+
159
+ self.input_data = input_data
110
160
 
111
- n_input_neurons = input_data.shape[1]
161
+ # Gets the number of input neurons
112
162
 
113
- n_output_neurons = output_data.shape[1]
163
+ self.n_input_neurons = self.input_data.shape[1]
114
164
 
115
165
  # Verifies if the output layer of the main network has the same
116
166
  # number of output neurons
@@ -121,32 +171,47 @@ class RVEKinematicsSurrogateModel:
121
171
 
122
172
  n_output_neurons_main_network += value
123
173
 
124
- if n_output_neurons_main_network!=n_output_neurons:
174
+ if n_output_neurons_main_network!=self.n_output_neurons:
125
175
 
126
176
  raise ValueError("The main network has "+str(
127
177
  n_output_neurons_main_network)+" neurons in the output lay"+
128
178
  "er; whereas the data indicate that there must be "+str(
129
- n_output_neurons)+" neurons in the output layer")
179
+ self.n_output_neurons)+" neurons in the output layer")
130
180
 
131
181
  # Sets the architecture dictionary
132
182
 
133
- custom_architecture = {"name": "SVDQuotientSpace", "weights mo"+
134
- "dulating function": self.modulating_function, "Householder ep"+
135
- "silon": self.householder_epsilon, "activations accessory laye"+
136
- "r list": self.activations_list_auxiliar_network}
183
+ self.custom_architecture = {"name": "SVDQuotientSpace", "weigh"+
184
+ "ts modulating function": self.modulating_function, "Household"+
185
+ "er epsilon": self.householder_epsilon, "activations accessory"+
186
+ " layer list": self.activations_list_auxiliar_network, "non-or"+
187
+ "thogonal matrices": self.non_orthogonal_matrices, "hardware d"+
188
+ "evice": self.device_type, "convex with respect to quotient sp"+
189
+ "ace": False}
190
+
191
+ # Defines a function to train the neural network model
192
+
193
+ def train_surrogate_model(self):
194
+
195
+ # Sets the training data
196
+
197
+ training_data = self.input_data[0:self.n_training_samples,:]
198
+
199
+ training_true_values = self.output_data[0:self.n_training_samples
200
+ ,:]
137
201
 
138
202
  # Creates the class of neural network information
139
203
 
140
- ANN_class = ANN_tools.MultiLayerModel(n_input_neurons,
204
+ ANN_class = ANN_tools.MultiLayerModel(self.n_input_neurons,
141
205
  self.activations_list_main_network, enforce_customLayers=True,
142
206
  verbose=self.verbose, parameters_dtype=self.parameters_dtype,
143
- custom_architecture=custom_architecture, input_size_main_network=
144
- self.quotient_space_dimension)
207
+ custom_architecture=self.custom_architecture,
208
+ input_size_main_network=self.quotient_space_dimension)
145
209
 
146
210
  self.custom_model = ANN_class()
147
211
 
148
212
  # Defines the loss metric
149
213
 
214
+ """
150
215
  self.live_loss_metric = None
151
216
 
152
217
  if isinstance(self.loss_metric, str):
@@ -159,7 +224,9 @@ class RVEKinematicsSurrogateModel:
159
224
  "metric by the name '"+str(self.loss_metric)+"'")
160
225
 
161
226
  self.live_loss_metric = getattr(tf.keras.losses,
162
- self.loss_metric)(dtype=tf.as_dtype(self.parameters_dtype))
227
+ self.loss_metric)(dtype=tf.as_dtype(self.parameters_dtype))"""
228
+
229
+ self.live_loss_metric = self.loss_metric
163
230
 
164
231
  # Sets the optimization class for training
165
232
 
@@ -169,7 +236,7 @@ class RVEKinematicsSurrogateModel:
169
236
  self.maximum_training_iterations, verbose_deltaIterations=
170
237
  self.verbose_delta_iterations, save_model_file=
171
238
  self.saved_model_file, match_data_float_type_to_trainables=True,
172
- parent_path=self.results_path)
239
+ parent_path=self.results_path, optimizer=self.optimizer)
173
240
 
174
241
  t_initial = time()
175
242
 
@@ -183,7 +250,8 @@ class RVEKinematicsSurrogateModel:
183
250
 
184
251
  training_class.monte_carlo_training(n_realizations=
185
252
  self.n_monte_carlo_realizations, best_models_rank_size=
186
- self.n_best_models, show_reinitialization_distance=True)
253
+ self.n_best_models, show_reinitialization_distance=True,
254
+ model_base_name=self.saved_model_file)
187
255
 
188
256
  # Checks the loss again with the best model of the Monte Carlo
189
257
  # training
@@ -275,6 +343,10 @@ class RVEKinematicsSurrogateModel:
275
343
 
276
344
  if __name__=="__main__":
277
345
 
346
+ # Defines the array with the DOFs to be learnt
347
+
348
+ subdofs_to_learn = np.arange(0, 20577, 3)
349
+
278
350
  # Defines the number of input neurons of the main network. Remember
279
351
  # that the data matrix is a tensor [n_samples, n_input_variables].
280
352
  # The first quotient_space_dimension columns must be dedicated to
@@ -307,6 +379,8 @@ if __name__=="__main__":
307
379
 
308
380
  # Sets the training information
309
381
 
382
+ optimizer = "Adam"
383
+
310
384
  n_training_samples = 10000
311
385
 
312
386
  maximum_training_iterations = 1000
@@ -317,6 +391,8 @@ if __name__=="__main__":
317
391
 
318
392
  n_best_models = 5
319
393
 
394
+ n_best_samples = 10
395
+
320
396
  loss_metric = "MeanSquaredError"
321
397
 
322
398
  parameters_dtype = "float32"
@@ -331,6 +407,26 @@ if __name__=="__main__":
331
407
 
332
408
  input_data_file = "00_successful_complete_and_filtered_data_matrix.npy"
333
409
 
410
+ mesh_file_name = get_parent_path_of_file()+"//box_mesh_mecsol"
411
+
412
+ # Sets the method to regularize the input data matrix
413
+
414
+ input_data_regularization_method = None
415
+
416
+ # Sets if the input data must be put into the same order of magnitu-
417
+ # de
418
+
419
+ get_all_inputs_to_zeroth_order_of_magnitude = False
420
+
421
+ # Sets the device type where the training will be performed
422
+
423
+ device_type = "GPU"
424
+
425
+ # Sets whether the constraint on orthogonality of the SVD matrices
426
+ # will not be enforced
427
+
428
+ non_orthogonal_matrices = False
429
+
334
430
  # Instantiates the class that owns all information about training
335
431
  # and testing models
336
432
 
@@ -339,14 +435,23 @@ if __name__=="__main__":
339
435
  quotient_space_dimension, modulating_function,
340
436
  displacement_data_file, input_data_file, results_path, loss_metric,
341
437
  n_training_samples, saved_model_file, n_monte_carlo_realizations,
342
- n_best_models, maximum_training_iterations, verbose_delta_iterations,
343
- parameters_dtype=parameters_dtype, householder_epsilon=1.0, verbose=
344
- True)
438
+ n_best_models, n_best_samples, maximum_training_iterations,
439
+ verbose_delta_iterations, mesh_file_name, optimizer,
440
+ subdofs_to_learn, parameters_dtype=parameters_dtype,
441
+ householder_epsilon=1.0, verbose=True,
442
+ get_all_inputs_to_zeroth_order_of_magnitude=
443
+ get_all_inputs_to_zeroth_order_of_magnitude, device_type=
444
+ device_type, non_orthogonal_matrices=non_orthogonal_matrices,
445
+ input_data_regularization_method=input_data_regularization_method)
345
446
 
346
447
  training_flag = True
347
448
 
449
+ testing_flag = False
450
+
348
451
  if training_flag:
349
452
 
350
453
  modeling_class.train_surrogate_model()
351
454
 
352
- modeling_class.test_surrogate_model()
455
+ if testing_flag:
456
+
457
+ modeling_class.test_surrogate_model()
@@ -9,9 +9,11 @@ from time import time
9
9
 
10
10
  from .....Davout.DeepMech.tool_box import ANN_tools, training_tools
11
11
 
12
+ from .....Davout.DeepMech.tool_box.FEM_surrogate_testing_tools import FEMSurrogateEvaluator
13
+
12
14
  from .....Davout.DeepMech.tool_box.loss_assembler_classes import MaximumAbsoluteError
13
15
 
14
- from .....Davout.PythonicUtilities.path_tools import get_parent_path_of_file
16
+ from .....Davout.PythonicUtilities.path_tools import get_parent_path_of_file, take_outFileNameTermination
15
17
 
16
18
  from .....Davout.MultiMech.tool_box.binary_tools import read_field_from_binary
17
19
 
@@ -113,9 +115,11 @@ class SurrogateModel:
113
115
  )+"; the maximum absolute is: "+str(np.max(np.abs(
114
116
  material_input_data)))+"\n")
115
117
 
116
- input("The architecture is:\n"+str(self.activations_list)+"\n"+
118
+ print("The architecture is:\n"+str(self.activations_list)+"\n"+
117
119
  "\nThe output data has a total of "+str(self.total_number_of_dofs
118
- )+" DOFs\n\nPress ENTER to continue\n\n")
120
+ )+" DOFs")
121
+
122
+ #input("\nPress ENTER to continue\n\n")
119
123
 
120
124
  # The order of magnitude of the material data is expected to be
121
125
  # larger than the kinematic data. Thus, gets the material input
@@ -127,6 +131,14 @@ class SurrogateModel:
127
131
  self.input_data = np.hstack((self.kinematic_input_data,
128
132
  self.material_input_data))
129
133
 
134
+ # Saves the corrected input data
135
+
136
+ self.corrected_data_file = take_outFileNameTermination(
137
+ self.input_data_file)+"_corrected.npy"
138
+
139
+ np.save(self.results_path+"//"+self.corrected_data_file,
140
+ self.input_data)
141
+
130
142
  # Defines a function to train the neural network model
131
143
 
132
144
  def train_surrogate_model(self):
@@ -215,7 +227,7 @@ class SurrogateModel:
215
227
  # Loads this model
216
228
 
217
229
  loaded_model = tf.keras.models.load_model(self.results_path+
218
- "//"+str(i+1)+"_best_"+self.saved_model_file+".keras")
230
+ "//"+str(i+1)+"_"+self.saved_model_file+".keras")
219
231
 
220
232
  # Gets the output of the loaded model
221
233
 
@@ -230,7 +242,7 @@ class SurrogateModel:
230
242
  print("Loss function on test set:", format(test_loss.numpy(
231
243
  ), '.5e'))
232
244
 
233
- # Verifies with the maximum absolute error
245
+ # Verifies with the maximum absolute error
234
246
 
235
247
  maximum_absolute_value = maximum_absolute_error(
236
248
  test_true_values, output_model)
@@ -295,7 +307,7 @@ class SurrogateModel:
295
307
  self.n_training_samples:,:][best_samples_indices,:])
296
308
 
297
309
  np.save(self.results_path+"//surrogate_best_samples_of_"+
298
- str(i+1)+"_best_"+self.saved_model_file+".npy",
310
+ str(i+1)+"_"+self.saved_model_file+".npy",
299
311
  model_displacement.numpy()[best_samples_indices,:])
300
312
 
301
313
  # Defines a function to insert the results into a function space and
@@ -324,6 +336,31 @@ class SurrogateModel:
324
336
 
325
337
  last_model = limit_model+0
326
338
 
339
+ # Initializes the class for performance testing
340
+
341
+ #"""
342
+ surrogate_evaluation_class = FEMSurrogateEvaluator(
343
+ self.corrected_data_file, self.displacement_data_file,
344
+ self.n_training_samples, self.saved_model_file, "Displacement",
345
+ parent_path=self.results_path, verbose=True,
346
+ maximum_number_of_models_to_be_evaluated=last_model,
347
+ subdofs_to_learn=self.subdofs_to_learn, take_snapshots=True,
348
+ field_type="vector", polynomial_degree=2,
349
+ interpolation_function="CG", mesh_file_name=self.mesh_file_name,
350
+ screenshots_path=self.screenshots_path, field_component_to_plot=
351
+ self.displacement_component_to_plot, number_of_best_samples=
352
+ self.n_best_samples, number_of_samples_to_be_snapshot=1,
353
+ set_camera_interactively=False, build_error_field=True,
354
+ mean_absolute_error_threshold=5E-3)
355
+
356
+ # Tests on the training dataset that has been set during instan-
357
+ # tiation of the class
358
+
359
+ surrogate_evaluation_class.evaluate_model_on_dataset()
360
+
361
+ #float(a)#"""
362
+
363
+ """
327
364
  # Iterates through the best models
328
365
 
329
366
  for i in range(last_model):
@@ -331,7 +368,7 @@ class SurrogateModel:
331
368
  # Loads this model
332
369
 
333
370
  loaded_model = tf.keras.models.load_model(self.results_path+
334
- "//"+str(i+1)+"_best_"+self.saved_model_file+".keras")
371
+ "//"+str(i+1)+"_"+self.saved_model_file+".keras")
335
372
 
336
373
  # Gets the output of the loaded model
337
374
 
@@ -341,7 +378,7 @@ class SurrogateModel:
341
378
 
342
379
  test_loss = loss_metric(training_true_values, output_model)
343
380
 
344
- print("Loads the "+str(i+1)+"-th best model")
381
+ print("\n\n\n\nLoads the "+str(i+1)+"-th best model")
345
382
 
346
383
  print("Loss function on training set:", format(
347
384
  test_loss.numpy(), '.5e'))
@@ -375,7 +412,7 @@ class SurrogateModel:
375
412
  # ment DOFs of this model
376
413
 
377
414
  displacement_output_file = (self.results_path+"//surrogate"+
378
- "_best_training_samples_of_"+str(i+1)+"_best_"+
415
+ "_best_training_samples_of_"+str(i+1)+"_"+
379
416
  self.saved_model_file+".npy")
380
417
 
381
418
  # Recovers the name of the file with the true values of dis-
@@ -455,7 +492,7 @@ class SurrogateModel:
455
492
  # Sets the name of the screenshot file
456
493
 
457
494
  screenshot_file = ("surrogate_best_training_sample_of_"+str(
458
- i+1)+"_best_"+self.saved_model_file+".png")
495
+ i+1)+"_"+self.saved_model_file+".png")
459
496
 
460
497
  # Sets the name of the screenshot file for the true displa-
461
498
  # cement
@@ -498,7 +535,7 @@ class SurrogateModel:
498
535
  legend_bar_visibility=True)
499
536
 
500
537
  print("\nThe input data for the "+str(i+1)+"-th model is: "+
501
- str(training_data[best_samples_indices[0],:])+"\n")
538
+ str(training_data[best_samples_indices[0],:])+"\n")#"""
502
539
 
503
540
  # Defines a function to insert the results into a function space and
504
541
  # plot it for the samples of the test set
@@ -513,7 +550,7 @@ class SurrogateModel:
513
550
  # ment DOFs of this model
514
551
 
515
552
  displacement_output_file = (self.results_path+"//surrogate"+
516
- "_best_samples_of_"+str(i+1)+"_best_"+self.saved_model_file+
553
+ "_best_samples_of_"+str(i+1)+"_"+self.saved_model_file+
517
554
  ".npy")
518
555
 
519
556
  # Recovers the name of the file with the true values of dis-
@@ -553,7 +590,7 @@ class SurrogateModel:
553
590
  # Sets the name of the screenshot file
554
591
 
555
592
  screenshot_file = ("surrogate_best_sample_of_"+str(i+1)+"_"+
556
- "best_"+self.saved_model_file+".png")
593
+ self.saved_model_file+".png")
557
594
 
558
595
  # Sets the name of the screenshot file for the true displa-
559
596
  # cement
@@ -604,7 +641,7 @@ class SurrogateModel:
604
641
  # Gets the name of the screenshot file
605
642
 
606
643
  screenshot_file = ("surrogate_best_training_sample_of_"+str(
607
- model_number)+"_best_"+self.saved_model_file+".png")
644
+ model_number)+"_"+self.saved_model_file+".png")
608
645
 
609
646
  # Sets the name of the screenshot file for the true displa-
610
647
  # cement
@@ -732,7 +769,7 @@ class SurrogateModel:
732
769
  # Loads the best gated model
733
770
 
734
771
  loaded_gated_model = tf.keras.models.load_model(
735
- self.results_path+"//1_best_"+self.saved_model_file+".keras")
772
+ self.results_path+"//1_"+self.saved_model_file+".keras")
736
773
 
737
774
  # Gets the output of the loaded gated model
738
775
 
@@ -763,7 +800,7 @@ if __name__=="__main__":
763
800
 
764
801
  Lp_norm_exponent = 12
765
802
 
766
- saved_model_file = "saved_model_lp_norm_"+str(Lp_norm_exponent)
803
+ saved_model_file = "best_saved_model_lp_norm_"+str(Lp_norm_exponent)
767
804
 
768
805
  saved_model_without_gate_file = ("saved_model_without_gate_lp_norm"+
769
806
  "_"+str(Lp_norm_exponent))
@@ -797,13 +834,13 @@ if __name__=="__main__":
797
834
 
798
835
  test_flag = False
799
836
 
800
- plot_training_responses = False
837
+ plot_training_responses = True
801
838
 
802
839
  plot_test_responses = False
803
840
 
804
841
  collage_flag = False
805
842
 
806
- compare_without_gate = True
843
+ compare_without_gate = False
807
844
 
808
845
  # Gets the mesh of the RVE
809
846