Davout 0.1.1.dev145__tar.gz → 0.1.1.dev147__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 (292) hide show
  1. {davout-0.1.1.dev145/source/Davout.egg-info → davout-0.1.1.dev147}/PKG-INFO +1 -1
  2. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/pyproject.toml +1 -1
  3. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_based_NNs.py +252 -15
  4. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_tools.py +33 -25
  5. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/custom_architectures/SVD_quotient_space.py +313 -75
  6. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/ANN_tools.py +10 -4
  7. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/SVD_tools.py +122 -15
  8. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/string_tools.py +19 -2
  9. davout-0.1.1.dev147/source/Davout/PythonicUtilities/testing_tools.py +363 -0
  10. davout-0.1.1.dev147/source/Davout/StochasticUtilities/tool_box/statistics_tools.py +26 -0
  11. {davout-0.1.1.dev145 → davout-0.1.1.dev147/source/Davout.egg-info}/PKG-INFO +1 -1
  12. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout.egg-info/SOURCES.txt +2 -1
  13. davout-0.1.1.dev145/source/Davout/PythonicUtilities/testing_tools.py +0 -122
  14. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/LICENSE +0 -0
  15. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/README.md +0 -0
  16. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/setup.cfg +0 -0
  17. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/setup.py +0 -0
  18. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/__init__.py +0 -0
  19. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/__init__.py +0 -0
  20. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_artery.py +0 -0
  21. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_matrix_with_fiber.py +0 -0
  22. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/__init__.py +0 -0
  23. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/elastin_fiber_creator.py +0 -0
  24. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_artery_transfinite.py +0 -0
  25. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_matrix_with_fiber_transfinite.py +0 -0
  26. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/__init__.py +0 -0
  27. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/elastin_fiber_creator.py +0 -0
  28. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/spherical_RVE.py +0 -0
  29. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/__init__.py +0 -0
  30. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale.py +0 -0
  31. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale_ellipsoid.py +0 -0
  32. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/__init__.py +0 -0
  33. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/beam_micropolar_case_1.py +0 -0
  34. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/__init__.py +0 -0
  35. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/artery_parameters.py +0 -0
  36. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/fiber_matrix_parameters.py +0 -0
  37. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/periodic_structure.py +0 -0
  38. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/solids/__init__.py +0 -0
  39. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/solids/intervertebral_disc.py +0 -0
  40. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/aa_tests/solids/whole_ensemble_of_geometries.py +0 -0
  41. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/__init__.py +0 -0
  42. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/cuboid_cylinders.py +0 -0
  43. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/cuboid_ellipsoids.py +0 -0
  44. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/cuboid_generator.py +0 -0
  45. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/cuboid_helicoids.py +0 -0
  46. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/solids/cuboid_prisms.py +0 -0
  47. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/__init__.py +0 -0
  48. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/geometric_tools.py +0 -0
  49. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/mesh_data_retriever.py +0 -0
  50. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/meshing_tools.py +0 -0
  51. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/region_finder.py +0 -0
  52. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/CuboidGmsh/tool_box/verification_tools.py +0 -0
  53. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/PINNs/Physics/__init__.py +0 -0
  54. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/PINNs/Physics/elasticity_equation.py +0 -0
  55. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/PINNs/__init__.py +0 -0
  56. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/__init__.py +0 -0
  57. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/box_with_imposed_displacement_gradient.py +0 -0
  58. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/box_with_young_modulus_field.py +0 -0
  59. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/dataset_generator.py +0 -0
  60. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/input_data_filler.py +0 -0
  61. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/kinematics_surrogate_model.py +0 -0
  62. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/SVD_framework/young_modulus_field_generator.py +0 -0
  63. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/heat_equation.py +0 -0
  64. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/box_with_imposed_displacement_gradient.py +0 -0
  65. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/box_with_young_modulus_field.py +0 -0
  66. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/dataset_generator.py +0 -0
  67. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/input_data_filler.py +0 -0
  68. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/neural_network_trainer.py +0 -0
  69. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/young_modulus_field_generator.py +0 -0
  70. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_optimization.py +0 -0
  71. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_tools.py +0 -0
  72. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_convex_and_partially_convex_input_NNs.py +0 -0
  73. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_math_tools.py +0 -0
  74. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_quotient_space_NNs.py +0 -0
  75. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_tensor_tools.py +0 -0
  76. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/custom_architectures/__init__.py +0 -0
  77. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/custom_architectures/convexity_concerned_NNs.py +0 -0
  78. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/custom_architectures/gated_quotient_space.py +0 -0
  79. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/custom_architectures/generic_feed_forward.py +0 -0
  80. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/__init__.py +0 -0
  81. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/activation_function_utilities.py +0 -0
  82. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/custom_activation_functions.py +0 -0
  83. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/differentiation_tools.py +0 -0
  84. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/loss_assembler_classes.py +0 -0
  85. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/loss_tools.py +0 -0
  86. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/math_tools.py +0 -0
  87. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/numerical_tools.py +0 -0
  88. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/parameters_tools.py +0 -0
  89. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/tensor_tools.py +0 -0
  90. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/DeepMech/tool_box/training_tools.py +0 -0
  91. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/__init__.py +0 -0
  92. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/REPL_experiments.py +0 -0
  93. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/__init__.py +0 -0
  94. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/optimization/__init__.py +0 -0
  95. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/optimization/tests_optimization_methods.py +0 -0
  96. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/tests_batching.py +0 -0
  97. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/tests_finite_elements.py +0 -0
  98. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/tests_loss_function.py +0 -0
  99. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/tests_physics.py +0 -0
  100. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/unidimensional/__init__.py +0 -0
  101. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/unidimensional/bar_fea.py +0 -0
  102. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/unidimensional/hyperelastic_1D_energies.py +0 -0
  103. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/aa_tests/unidimensional/variational_tools.py +0 -0
  104. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/assembly/__init__.py +0 -0
  105. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/assembly/body_forces_work.py +0 -0
  106. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/assembly/dirichlet_boundary_conditions_enforcer.py +0 -0
  107. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/assembly/hyperelastic_internal_work.py +0 -0
  108. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/assembly/surface_forces_work.py +0 -0
  109. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/constitutive_models/__init__.py +0 -0
  110. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/constitutive_models/hyperelastic_isotropic_models.py +0 -0
  111. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/__init__.py +0 -0
  112. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/elements_manager.py +0 -0
  113. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/finite_element_dispatcher.py +0 -0
  114. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/surface_elements/__init__.py +0 -0
  115. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/surface_elements/triangles.py +0 -0
  116. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/volume_elements/__init__.py +0 -0
  117. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/finite_elements/volume_elements/tetrahedrons.py +0 -0
  118. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/optimization/__init__.py +0 -0
  119. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/optimization/conditioning_matrices.py +0 -0
  120. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/optimization/loss_functions.py +0 -0
  121. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/optimization/neural_network_assembler.py +0 -0
  122. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/optimization/objective_function.py +0 -0
  123. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/physics/compressible_cauchy_hyperelasticy.py +0 -0
  124. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/__init__.py +0 -0
  125. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/constitutive_tools.py +0 -0
  126. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/dirichlet_loading_tools.py +0 -0
  127. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/math_tools.py +0 -0
  128. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/mesh_info_tools.py +0 -0
  129. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/mesh_tools.py +0 -0
  130. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/neumann_loading_tools.py +0 -0
  131. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/node_ordering.py +0 -0
  132. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/optimization_tools.py +0 -0
  133. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/parametric_curves_tools.py +0 -0
  134. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/sensitivity_tools.py +0 -0
  135. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/FENN/tool_box/tensorflow_utilities.py +0 -0
  136. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/__init__.py +0 -0
  137. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/__init__.py +0 -0
  138. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/cauchy_tetrahedron.py +0 -0
  139. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/continuum_mechanics_potato_collage.py +0 -0
  140. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/fake_book_spines.py +0 -0
  141. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/null_space_architecture.py +0 -0
  142. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/tests_collage_tools.py +0 -0
  143. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/tests_delaunay.py +0 -0
  144. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/tests_paraview_tools.py +0 -0
  145. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/aa_tests/tests_plotting_tools.py +0 -0
  146. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/collage_tools.py +0 -0
  147. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/paraview_tools.py +0 -0
  148. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/plotting_tools.py +0 -0
  149. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/__init__.py +0 -0
  150. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/arrows_lines_tools.py +0 -0
  151. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/box_and_markers_classes.py +0 -0
  152. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/box_tools.py +0 -0
  153. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/collage_classes.py +0 -0
  154. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/curves_setter.py +0 -0
  155. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/image_tools.py +0 -0
  156. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/interactivity_tools.py +0 -0
  157. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/paraview_scripts.py +0 -0
  158. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/perspective_tools.py +0 -0
  159. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/GraphUtilities/tool_box/text_excerpt_tools.py +0 -0
  160. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/LaTeXUtilities.sty +0 -0
  161. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/__init__.py +0 -0
  162. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/aa_tests/__init__.py +0 -0
  163. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/aa_tests/latex_parser_tests.py +0 -0
  164. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/latex_parser.py +0 -0
  165. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/tool_box/__init__.py +0 -0
  166. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/tool_box/command_tools.py +0 -0
  167. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/tool_box/parsing_tools.py +0 -0
  168. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/LaTeXUtilities/tool_box/sty_file_tools.py +0 -0
  169. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/__init__.py +0 -0
  170. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/heat_transfer/heat_box.py +0 -0
  171. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/beam_with_fibers.py +0 -0
  172. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/box_with_young_modulus_field.py +0 -0
  173. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_HGO.py +0 -0
  174. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean.py +0 -0
  175. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean_incompressible.py +0 -0
  176. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/hyperelastic_box.py +0 -0
  177. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/incompressible_hyperelastic_box.py +0 -0
  178. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/cylindrical_coordinates_material_property.py +0 -0
  179. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/disc_HGO.py +0 -0
  180. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/local_coordinate_system_generation.py +0 -0
  181. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_hyperelastic_box.py +0 -0
  182. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_incompressible_box.py +0 -0
  183. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/read_dofs_in_volume.py +0 -0
  184. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/young_modulus_field.py +0 -0
  185. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/bending_case/beam_with_fibers_macroscale.py +0 -0
  186. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/bending_case/beam_with_fibers_microscale.py +0 -0
  187. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/deformation_laboratory/microscale_deformation_lab.py +0 -0
  188. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/disc_micropolar_neo_hookean.py +0 -0
  189. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam.py +0 -0
  190. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean.py +0 -0
  191. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean_pure_dolfin.py +0 -0
  192. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean_pure_dolfin_old.py +0 -0
  193. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Suh_et_al/suh_implementation.py +0 -0
  194. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/micropolar_with_homogenization.py +0 -0
  195. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/micropolar_with_homogenization_original.py +0 -0
  196. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/tools_homogenization.py +0 -0
  197. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/tools_io.py +0 -0
  198. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/stress_plots.py +0 -0
  199. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/numerical_differentiation.py +0 -0
  200. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/numerical_differentiation_second_elasticity_tensor.py +0 -0
  201. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/tangent_operator_plotter.py +0 -0
  202. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/torsion_case/beam_with_fibers_macroscale.py +0 -0
  203. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/torsion_case/beam_with_fibers_microscale.py +0 -0
  204. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/traction_case/beam_with_fibers_macroscale.py +0 -0
  205. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/traction_case/beam_with_fibers_microscale.py +0 -0
  206. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/curve_fitting.py +0 -0
  207. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/cylindrical_coordinates_field.py +0 -0
  208. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/cylindrical_coordinates_material_property.py +0 -0
  209. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/elasticity_tensor.py +0 -0
  210. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/incompressible.py +0 -0
  211. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/linear_expression_test.py +0 -0
  212. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/petsc_2D.py +0 -0
  213. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_periodic.py +0 -0
  214. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_periodic_class.py +0 -0
  215. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_shifted_field.py +0 -0
  216. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/teste_afim.py +0 -0
  217. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/working_example_dictionaries.py +0 -0
  218. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/multiscale/hyperelasticity/beam_with_fibers_microscale.py +0 -0
  219. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/compressible_hyperelasticity.py +0 -0
  220. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/incompressible_hyperelasticity.py +0 -0
  221. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes/beam_gmsh.py +0 -0
  222. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes_paths.py +0 -0
  223. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/aa_tests_and_examples/various_physics_tests.py +0 -0
  224. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/__init__.py +0 -0
  225. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/heat_transfer/isotropic_heat_conduction.py +0 -0
  226. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/hyperelasticity/__init__.py +0 -0
  227. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/hyperelasticity/anisotropic_hyperelasticity.py +0 -0
  228. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/hyperelasticity/isotropic_hyperelasticity.py +0 -0
  229. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/constitutive_models/hyperelasticity/micropolar_hyperelasticity.py +0 -0
  230. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/__init__.py +0 -0
  231. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/__init__.py +0 -0
  232. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_classes.py +0 -0
  233. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_expressions.py +0 -0
  234. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/multiscale_hyperelasticity.py +0 -0
  235. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/multiscale/multiscale_micropolar.py +0 -0
  236. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/physics/__init__.py +0 -0
  237. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/physics/hyperelastic_cauchy_continuum.py +0 -0
  238. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/physics/hyperelastic_incompressible_cauchy_continuum.py +0 -0
  239. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/physics/hyperelastic_micropolar_continuum.py +0 -0
  240. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/physics/steady_state_heat_transfer.py +0 -0
  241. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/post_processes/__init__.py +0 -0
  242. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/post_processes/post_processes_classes.py +0 -0
  243. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/post_processes/post_processes_functions.py +0 -0
  244. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/__init__.py +0 -0
  245. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/binary_tools.py +0 -0
  246. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/body_forces_loading_tools.py +0 -0
  247. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/boundary_conditions_tools.py +0 -0
  248. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/constitutive_tools.py +0 -0
  249. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/dirichlet_load_tools.py +0 -0
  250. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/expressions_tools.py +0 -0
  251. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/functional_tools.py +0 -0
  252. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/homogenization_tools.py +0 -0
  253. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/mesh_handling_tools.py +0 -0
  254. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/multiscale_boundary_conditions_tools.py +0 -0
  255. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/numerical_tools.py +0 -0
  256. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/parallelization_tools.py +0 -0
  257. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/post_processing_tools.py +0 -0
  258. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/pseudotime_stepping_tools.py +0 -0
  259. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/read_write_tools.py +0 -0
  260. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/surface_loading_tools.py +0 -0
  261. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/tensor_tools.py +0 -0
  262. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/variational_tools.py +0 -0
  263. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/MultiMech/tool_box/weak_boundary_conditions_tools.py +0 -0
  264. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/__init__.py +0 -0
  265. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/aa_tests/__init__.py +0 -0
  266. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/aa_tests/tests_template.py +0 -0
  267. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/aa_tests/txt_tests.py +0 -0
  268. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/coordinate_systems_tools.py +0 -0
  269. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/dictionary_tools.py +0 -0
  270. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/file_handling_tools.py +0 -0
  271. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/fonts/CMU_Serif_Roman.ttf +0 -0
  272. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/function_tools.py +0 -0
  273. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/interpolation_tools.py +0 -0
  274. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/math_experiments.py +0 -0
  275. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/numpy_tools.py +0 -0
  276. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/package_tools.py +0 -0
  277. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/path_tools.py +0 -0
  278. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/programming_tools.py +0 -0
  279. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/recursion_tools.py +0 -0
  280. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/tensor_and_math_tools.py +0 -0
  281. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/PythonicUtilities/user_interaction_tools.py +0 -0
  282. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/__init__.py +0 -0
  283. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/aa_tests/__init__.py +0 -0
  284. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/aa_tests/test_delaunay_tools.py +0 -0
  285. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/domain_decomposition/__init__.py +0 -0
  286. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/tool_box/__init__.py +0 -0
  287. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/tool_box/delaunay_tools.py +0 -0
  288. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/StochasticUtilities/tool_box/sampling_tools.py +0 -0
  289. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout/__init__.py +0 -0
  290. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout.egg-info/dependency_links.txt +0 -0
  291. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/source/Davout.egg-info/requires.txt +0 -0
  292. {davout-0.1.1.dev145 → davout-0.1.1.dev147}/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.dev145
3
+ Version: 0.1.1.dev147
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>
@@ -63,7 +63,7 @@ build-backend = "setuptools.build_meta"
63
63
 
64
64
  [project]
65
65
  name = "Davout"
66
- version = "0.1.1.dev145"
66
+ version = "0.1.1.dev147"
67
67
  description = "Scientific computing utilities combining FEM, ANN and tooling"
68
68
  readme = "README.md"
69
69
  authors = [
@@ -6,11 +6,11 @@ import os
6
6
 
7
7
  import tensorflow as tf
8
8
 
9
- from ...tool_box import ANN_tools, training_tools, parameters_tools, differentiation_tools
9
+ from .....Davout.DeepMech.tool_box import ANN_tools, training_tools, parameters_tools, differentiation_tools
10
10
 
11
- from ....PythonicUtilities.testing_tools import run_class_of_tests
11
+ from .....Davout.PythonicUtilities.testing_tools import run_class_of_tests, evaluate_function_performance
12
12
 
13
- from ....PythonicUtilities.path_tools import get_parent_path_of_file
13
+ from .....Davout.PythonicUtilities.path_tools import get_parent_path_of_file
14
14
 
15
15
  # Defines a function to test the SVD-based architecture
16
16
 
@@ -53,7 +53,7 @@ class TestSVDArchitecture:
53
53
 
54
54
  self.maximum_iterations = 5000
55
55
 
56
- n_samples_training = 1000
56
+ self.n_samples_training = 1000
57
57
 
58
58
  # Defines a function to get the true values
59
59
 
@@ -77,27 +77,27 @@ class TestSVDArchitecture:
77
77
 
78
78
  self.x_max = 1.0
79
79
 
80
- data_matrix = []
80
+ self.data_matrix = []
81
81
 
82
82
  true_values = []
83
83
 
84
84
  for i in range(self.n_samples_tests):
85
85
 
86
- data_matrix.append([ANN_tools.random_inRange(self.x_min,
86
+ self.data_matrix.append([ANN_tools.random_inRange(self.x_min,
87
87
  self.x_max) for j in range(self.whole_input_dimension
88
88
  )])
89
89
 
90
90
  # Evaluaets the true function
91
91
 
92
- true_values.append(self.true_function(data_matrix[-1]))
92
+ true_values.append(self.true_function(self.data_matrix[-1]))
93
93
 
94
- self.training_data = data_matrix[:n_samples_training]
94
+ self.training_data = self.data_matrix[:self.n_samples_training]
95
95
 
96
- self.training_true_values = true_values[:n_samples_training]
96
+ self.training_true_values = true_values[:self.n_samples_training]
97
97
 
98
- self.test_data = data_matrix[n_samples_training:]
98
+ self.test_data = self.data_matrix[self.n_samples_training:]
99
99
 
100
- self.test_true_values = true_values[n_samples_training:]
100
+ self.test_true_values = true_values[self.n_samples_training:]
101
101
 
102
102
  # Converts thet data to tensors
103
103
 
@@ -270,7 +270,7 @@ class TestSVDArchitecture:
270
270
 
271
271
  cfd_gradient = []
272
272
 
273
- cfd_step_length = tf.constant(1E-6, dtype=tf.as_dtype(
273
+ cfd_step_length = tf.constant(1E-4, dtype=tf.as_dtype(
274
274
  self.parameters_dtype))
275
275
 
276
276
  for parameter_index in range(
@@ -317,7 +317,7 @@ class TestSVDArchitecture:
317
317
  # Stacks the two gradients into a single matrix for comparison
318
318
 
319
319
  gradient_matrix = tf.stack([flat_gradient_input,
320
- gradient_wrt_params, cfd_gradient], axis=0)
320
+ gradient_wrt_params, cfd_gradient], axis=1)
321
321
 
322
322
  print("The three methods of evaluating the gradient are presen"+
323
323
  "ted below. The first\nrow shows the gradient evaluated when t"+
@@ -325,7 +325,7 @@ class TestSVDArchitecture:
325
325
  "ient when the model is called with the given\ntrainable param"+
326
326
  "eters as well using tensorflow AD. the third row shows\nthe g"+
327
327
  "radient evaluated from parameters using central finite differ"+
328
- "ences\n\n"+str(gradient_matrix)+"\n\nThe maximum absolute dif"+
328
+ "ences\n\n"+str(gradient_matrix.numpy())+"\n\nThe maximum absolute dif"+
329
329
  "ference between components of the gradient from\ninput to tho"+
330
330
  "se of the gradient from parameters is: "+str(tf.reduce_max(
331
331
  tf.abs(flat_gradient_input-gradient_wrt_params)).numpy())+"\nT"+
@@ -334,6 +334,242 @@ class TestSVDArchitecture:
334
334
  " differences is: "+str(tf.reduce_max(tf.abs(gradient_wrt_params
335
335
  -cfd_gradient)).numpy())+"\n")
336
336
 
337
+ # Defines a function to test the performance of the calculation of
338
+ # the derivative of the loss function
339
+
340
+ def test_derivative_performance(self):
341
+
342
+ print("#######################################################"+
343
+ "#################\n# Tests performance of the deri"+
344
+ "vative calculation #\n#############################"+
345
+ "###########################################\n")
346
+
347
+ # Sets the number of warm-up iterations and the number of actual
348
+ # time assessment iterations
349
+
350
+ n_warm_up_runs = 10
351
+
352
+ n_evaluation_runs = 100
353
+
354
+ # Selects the method for building each Householder vector from
355
+ # the flat tensor of DOFs of each Householder chain
356
+
357
+ householder_vector_builder_method = ("get_householder_vector_f"+
358
+ "rom_parameters")
359
+
360
+ # Sets sets of architectures
361
+
362
+ number_of_neurons_hidden_layer_main_network_performance = [[500],
363
+ [850], [1200]]
364
+
365
+ output_dimension_performance = 2000
366
+
367
+ modulating_function_performance = "identity"
368
+
369
+ # Defines a function to get the true values for the performance
370
+ # test
371
+
372
+ def true_function_performance(x):
373
+
374
+ value = 0.0
375
+
376
+ for x_i in x:
377
+
378
+ value += x_i**2
379
+
380
+ return [value for j in range(output_dimension_performance)]
381
+
382
+ # Creates the true values
383
+
384
+ true_values = []
385
+
386
+ for i in range(self.n_samples_training):
387
+
388
+ # Evaluaets the true function
389
+
390
+ true_values.append(true_function_performance(
391
+ self.data_matrix[i]))
392
+
393
+ # Converts the training true values to a tensorflow constant
394
+
395
+ training_true_values_performance = tf.constant(true_values,
396
+ dtype=tf.as_dtype(self.parameters_dtype))
397
+
398
+ # Iterates over the architectures for performance evaluation
399
+
400
+ for i in range(len(
401
+ number_of_neurons_hidden_layer_main_network_performance)):
402
+
403
+ print("\n#################################################"+
404
+ "#######################\n# Evaluates th"+
405
+ "e "+str(i+1)+"-th architecture #\n#####"+
406
+ "#########################################################"+
407
+ "##########\n")
408
+
409
+ # Shows the architecture as the number of neurons in each
410
+ # layer of each network
411
+
412
+ string_of_neurons_auxiliar_network = "\nAuxiliar: "+str(
413
+ self.whole_input_dimension-self.quotient_space_dimension)
414
+
415
+ string_of_neurons_main_network = "\nMain: "+str(
416
+ self.quotient_space_dimension)+" "
417
+
418
+ # Sets the activation functions of the main network
419
+
420
+ number_of_neurons_per_hidden_layer_main_network = (
421
+ number_of_neurons_hidden_layer_main_network_performance[i])
422
+
423
+ # Iterates over the hidden layer of the architecture to build
424
+ # the dictionary of activation functions for the main and for
425
+ # the auxiliar networks
426
+
427
+ activation_list_main_network_performance = []
428
+
429
+ accessory_activation_list_performance = []
430
+
431
+ for hidden_layer_number in range(len(
432
+ number_of_neurons_per_hidden_layer_main_network)):
433
+
434
+ # Adds the hidden layer of the main network
435
+
436
+ activation_list_main_network_performance.append({"quad"+
437
+ "ratic": {"number of neurons":
438
+ number_of_neurons_per_hidden_layer_main_network[
439
+ hidden_layer_number], "a2": 1.0}})
440
+
441
+ # Updates the string of neurons of the main network
442
+
443
+ string_of_neurons_main_network += " | "+str(
444
+ number_of_neurons_per_hidden_layer_main_network[
445
+ hidden_layer_number])
446
+
447
+ # If this is the first hidden layer
448
+
449
+ if hidden_layer_number==0:
450
+
451
+ # Adds the hidden layer of the auxiliar network con-
452
+ # sidering the quotient space dimension into the rank
453
+
454
+ accessory_activation_list_performance.append({"qua"+
455
+ "dratic": {"number of neurons": min(
456
+ self.quotient_space_dimension,
457
+ number_of_neurons_per_hidden_layer_main_network[
458
+ hidden_layer_number]), "a2": 1.0}})
459
+
460
+ # Updates the string of neurons of the auxiliar net-
461
+ # work
462
+
463
+ string_of_neurons_auxiliar_network += " | "+str(
464
+ min(self.quotient_space_dimension,
465
+ number_of_neurons_per_hidden_layer_main_network[
466
+ hidden_layer_number]))
467
+
468
+ # Otherwise, considers the last layer into the rank
469
+
470
+ else:
471
+
472
+ # Adds the hidden layer of the auxiliar network con-
473
+ # sidering the number of neurons of the last hidden
474
+ # layer of the main network
475
+
476
+ accessory_activation_list_performance.append({"qua"+
477
+ "dratic": {"number of neurons": min(
478
+ number_of_neurons_per_hidden_layer_main_network[
479
+ hidden_layer_number-1],
480
+ number_of_neurons_per_hidden_layer_main_network[
481
+ hidden_layer_number]), "a2": 1.0}})
482
+
483
+ # Updates the string of neurons of the auxiliar net-
484
+ # work
485
+
486
+ string_of_neurons_auxiliar_network += " | "+str(
487
+ min(number_of_neurons_per_hidden_layer_main_network[
488
+ hidden_layer_number-1],
489
+ number_of_neurons_per_hidden_layer_main_network[
490
+ hidden_layer_number]))
491
+
492
+ # Adds the output layer to both networks
493
+
494
+ activation_list_main_network_performance.append({
495
+ "linear": output_dimension_performance})
496
+
497
+ accessory_activation_list_performance.append({"linear": min(
498
+ output_dimension_performance,
499
+ number_of_neurons_per_hidden_layer_main_network[-1])})
500
+
501
+ # Updates the string of neurons of the main network
502
+
503
+ string_of_neurons_main_network += " | "+str(
504
+ output_dimension_performance)
505
+
506
+ # Updates the string of neurons of the auxiliar network
507
+
508
+ string_of_neurons_auxiliar_network += " | "+str(
509
+ min(output_dimension_performance,
510
+ number_of_neurons_per_hidden_layer_main_network[-1]))
511
+
512
+ # Sets the parameters of the custom SVD-based architecture
513
+
514
+ custom_architecture_performance = {"name": "SVDQuotientSpa"+
515
+ "ce", "weights modulating function":
516
+ modulating_function_performance, "Householder epsilon": 1.0,
517
+ "activations accessory layer list":
518
+ accessory_activation_list_performance, "householder vector"+
519
+ " builder method": householder_vector_builder_method}
520
+
521
+ # Assembles the model
522
+
523
+ ANN_class_performance = ANN_tools.MultiLayerModel(
524
+ self.whole_input_dimension,
525
+ activation_list_main_network_performance,
526
+ enforce_customLayers=True, verbose=True, parameters_dtype=
527
+ self.parameters_dtype, custom_architecture=
528
+ custom_architecture_performance, input_size_main_network=
529
+ self.quotient_space_dimension)
530
+
531
+ custom_model_performance = ANN_class_performance()
532
+
533
+ # Gets the model trainable parameters and their shapes
534
+
535
+ (initial_model_parameters_performance,
536
+ parameters_shapes_performance) = parameters_tools.model_parameters_to_flat_tensor_and_shapes(
537
+ custom_model_performance)
538
+
539
+ # Gets an instance of the class that evaluates the loss
540
+ # function and its derivative from the trainable parameters
541
+
542
+ gradient_class = differentiation_tools.ScalarGradientWrtTrainableParamsGivenParameters(
543
+ self.loss_metric, custom_model_performance,
544
+ self.training_input_constant, parameters_shapes_performance,
545
+ initial_model_parameters_performance, model_true_values=
546
+ training_true_values_performance, parameters_type=
547
+ initial_model_parameters_performance.dtype)
548
+
549
+ # Evaluates the loss function and the derivative with res-
550
+ # pect to the trainable parameters. Creates an argument-less
551
+ # function to
552
+
553
+ def evaluation_function():
554
+
555
+ loss_value, gradient_wrt_params = gradient_class(
556
+ initial_model_parameters_performance)
557
+
558
+ # Always return something that is a tensor to force syn-
559
+ # chronization
560
+
561
+ return gradient_wrt_params
562
+
563
+ # Tests performance of the derivative
564
+
565
+ evaluate_function_performance(evaluation_function,
566
+ n_warm_up_runs=n_warm_up_runs, n_evaluation_runs=
567
+ n_evaluation_runs, n_evaluations_to_show_memory_data=10)
568
+
569
+ print("\nThe architecture of the whole network of the last"+
570
+ " experiment is:\n"+string_of_neurons_auxiliar_network+
571
+ string_of_neurons_main_network+"\n")
572
+
337
573
  # Defines a function to test training a model with this architecture
338
574
 
339
575
  def test_training_model(self):
@@ -487,7 +723,8 @@ if __name__=="__main__":
487
723
  # Creates a list of methods (using their names) that are not to be
488
724
  # tested
489
725
 
490
- reserved_methods = []
726
+ reserved_methods = ["test_training_model", "test_monte_carlo_training_model",
727
+ "test_quotient_space_invariance_model", "test_convexity_in_quotient_space"]
491
728
 
492
729
  # Calls the function to run all the necessary tests
493
730
 
@@ -171,7 +171,7 @@ class TestCustomGradients:
171
171
  self.householder_first_index, self.householder_length,
172
172
  self.householder_number_of_leading_zeros,
173
173
  self.householder_parameters, householder_index,
174
- self.householder_epsilon_squared)
174
+ self.householder_epsilon_squared, self.input_dimension)
175
175
 
176
176
  print("The assembled "+str(i)+"-th Householder vector is:"+
177
177
  "\n"+str(householder_vector.numpy())+"\n")
@@ -197,7 +197,8 @@ class TestCustomGradients:
197
197
  self.householder_length,
198
198
  self.householder_number_of_leading_zeros,
199
199
  self.householder_parameters, self.constant_two,
200
- self.householder_epsilon_squared, output_dimension)
200
+ self.householder_epsilon_squared, output_dimension,
201
+ self.input_dimension)
201
202
 
202
203
  print("The result of the input tensor multiplied by the Househ"+
203
204
  "older chain has shape "+str(y_tensor.shape)+" and is:\n"+str(
@@ -212,15 +213,16 @@ class TestCustomGradients:
212
213
  tf.reverse(self.householder_length, axis=[0]),
213
214
  tf.reverse(self.householder_number_of_leading_zeros, axis=[0]),
214
215
  self.householder_parameters, self.constant_two,
215
- self.householder_epsilon_squared, output_dimension)
216
+ self.householder_epsilon_squared, output_dimension,
217
+ self.input_dimension)
216
218
 
217
219
  print("Reverse tensor has shape: "+str(reverse_tensor.shape)+
218
220
  "\n")
219
221
 
220
222
  print("Applies the Householder chain in reverse order to the f"+
221
- "ormer result to verify if it gets back to the original input "+
222
- "tensor. The maximum difference component-wise between the ori"+
223
- "ginal input tensor and the reconstructed one is: "+str(
223
+ "ormer result to\nverify if it gets back to the original input"+
224
+ "tensor. The maximum diffe-\nrence component-wise between the "+
225
+ "original input tensor and the recons-\ntructed one is: "+str(
224
226
  tf.reduce_max(tf.abs(reverse_tensor-self.X_input_vectors)).numpy(
225
227
  ))+"\n")
226
228
 
@@ -257,7 +259,7 @@ class TestCustomGradients:
257
259
  self.householder_first_index, self.householder_length,
258
260
  self.householder_number_of_leading_zeros,
259
261
  self.householder_parameters, householder_index,
260
- self.householder_epsilon_squared)
262
+ self.householder_epsilon_squared, self.input_dimension)
261
263
 
262
264
  # Gets the derivative of v_tilde and of alpha
263
265
 
@@ -414,7 +416,7 @@ class TestCustomGradients:
414
416
  self.householder_first_index, self.householder_length,
415
417
  self.householder_number_of_leading_zeros,
416
418
  self.householder_parameters, householder_index,
417
- self.householder_epsilon_squared)
419
+ self.householder_epsilon_squared, self.input_dimension)
418
420
 
419
421
  # Gets the derivative of the operation using the analytical
420
422
  # derivative implemented in SVD tools
@@ -462,7 +464,7 @@ class TestCustomGradients:
462
464
  self.householder_first_index, self.householder_length,
463
465
  self.householder_number_of_leading_zeros,
464
466
  updated_householder_parameters, self.constant_two,
465
- self.householder_epsilon_squared))
467
+ self.householder_epsilon_squared, self.input_dimension))
466
468
 
467
469
  CFD_y = derivative_tensor_valued_function_of_vector_argument(
468
470
  get_y, slice_of_vector_of_dofs, epsilon=1E-5)
@@ -510,7 +512,7 @@ class TestCustomGradients:
510
512
  self.householder_first_index, self.householder_length,
511
513
  self.householder_number_of_leading_zeros,
512
514
  self.householder_parameters, i,
513
- self.householder_epsilon_squared)
515
+ self.householder_epsilon_squared, self.input_dimension)
514
516
 
515
517
  # Multiplies this Householder reflector to the right of Q u-
516
518
  # sing the corresponding rank-1 update
@@ -545,7 +547,8 @@ class TestCustomGradients:
545
547
  self.householder_length,
546
548
  self.householder_number_of_leading_zeros,
547
549
  updated_householder_parameters, self.constant_two,
548
- self.householder_epsilon_squared, self.rank))
550
+ self.householder_epsilon_squared, self.rank,
551
+ self.input_dimension))
549
552
 
550
553
  # Evaluates the derivative using central finite differences
551
554
 
@@ -604,7 +607,8 @@ class TestCustomGradients:
604
607
  self.householder_length,
605
608
  self.householder_number_of_leading_zeros,
606
609
  self.householder_parameters, self.constant_two,
607
- self.householder_epsilon_squared, output_dimension)
610
+ self.householder_epsilon_squared, output_dimension,
611
+ self.input_dimension)
608
612
 
609
613
  # Defines a scalar loss L = 0.5 * sum(y^2)
610
614
 
@@ -632,7 +636,8 @@ class TestCustomGradients:
632
636
  self.householder_length,
633
637
  self.householder_number_of_leading_zeros,
634
638
  self.householder_parameters, self.constant_two,
635
- self.householder_epsilon_squared, output_dimension)
639
+ self.householder_epsilon_squared, output_dimension,
640
+ self.input_dimension)
636
641
 
637
642
  AD_loss = 0.5*tf.reduce_sum(tf.square(y_AD))
638
643
 
@@ -726,21 +731,23 @@ class TestCustomGradients:
726
731
  constant_two_performance = tf.constant(2.0, dtype=tf.as_dtype(
727
732
  parameters_type_performance))
728
733
 
729
- @tf.function(jit_compile=True)
730
- def optimized_AD_chain_multiplication(
731
- X, first_index, length, leading_zeros, params, constant_two, epsilon_sq, output_dim
732
- ):
734
+ @tf.function#(jit_compile=True)
735
+ def optimized_AD_chain_multiplication(X, first_index, length,
736
+ leading_zeros, params, constant_two, epsilon_sq, output_dim,
737
+ input_dimension):
738
+
733
739
  return SVD_tools.multiply_input_vector_by_householder_chain(
734
- X, first_index, length, leading_zeros, params, constant_two, epsilon_sq, output_dim
735
- )
740
+ X, first_index, length, leading_zeros, params, constant_two,
741
+ epsilon_sq, output_dim, input_dimension)
736
742
 
737
743
  """@tf.function(jit_compile=True)
738
- def optimized_custom_chain_multiplication(
739
- X, first_index, length, leading_zeros, params, constant_two, epsilon_sq, output_dim
740
- ):
744
+ def optimized_custom_chain_multiplication(X, first_index,
745
+ length, leading_zeros, params, constant_two, epsilon_sq,
746
+ output_dim, input_dimension):
747
+
741
748
  return SVD_tools.multiply_input_vector_by_householder_chain_with_custom_gradient(
742
- X, first_index, length, leading_zeros, params, constant_two, epsilon_sq, output_dim
743
- )"""
749
+ X, first_index, length, leading_zeros, params, constant_two,
750
+ epsilon_sq, output_dim, input_dimension)"""
744
751
 
745
752
  """# Defines a function to compute the gradient of the toy loss
746
753
  # function using the custom gradient
@@ -794,7 +801,8 @@ class TestCustomGradients:
794
801
  householder_parameters_performance,
795
802
  constant_two_performance,
796
803
  householder_epsilon_squared_performance,
797
- output_dimension_performance)
804
+ output_dimension_performance,
805
+ input_dimension_performance)
798
806
 
799
807
  AD_loss = 0.5*tf.reduce_sum(tf.square(y_AD))
800
808