Davout 0.1.1.dev147__tar.gz → 0.1.1.dev148__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.dev147/source/Davout.egg-info → davout-0.1.1.dev148}/PKG-INFO +1 -1
  2. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/pyproject.toml +1 -1
  3. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_based_NNs.py +14 -2
  4. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/custom_architectures/SVD_quotient_space.py +150 -65
  5. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/differentiation_tools.py +8 -18
  6. davout-0.1.1.dev148/source/Davout/GraphUtilities/aa_tests/strain_tensors.py +127 -0
  7. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/testing_tools.py +2 -2
  8. {davout-0.1.1.dev147 → davout-0.1.1.dev148/source/Davout.egg-info}/PKG-INFO +1 -1
  9. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout.egg-info/SOURCES.txt +1 -0
  10. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/LICENSE +0 -0
  11. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/README.md +0 -0
  12. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/setup.cfg +0 -0
  13. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/setup.py +0 -0
  14. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/__init__.py +0 -0
  15. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/__init__.py +0 -0
  16. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_artery.py +0 -0
  17. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_matrix_with_fiber.py +0 -0
  18. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/__init__.py +0 -0
  19. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/elastin_fiber_creator.py +0 -0
  20. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_artery_transfinite.py +0 -0
  21. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_matrix_with_fiber_transfinite.py +0 -0
  22. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/__init__.py +0 -0
  23. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/elastin_fiber_creator.py +0 -0
  24. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/spherical_RVE.py +0 -0
  25. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/__init__.py +0 -0
  26. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale.py +0 -0
  27. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale_ellipsoid.py +0 -0
  28. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/__init__.py +0 -0
  29. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/beam_micropolar_case_1.py +0 -0
  30. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/__init__.py +0 -0
  31. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/artery_parameters.py +0 -0
  32. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/fiber_matrix_parameters.py +0 -0
  33. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/periodic_structure.py +0 -0
  34. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/solids/__init__.py +0 -0
  35. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/solids/intervertebral_disc.py +0 -0
  36. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/solids/whole_ensemble_of_geometries.py +0 -0
  37. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/__init__.py +0 -0
  38. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_cylinders.py +0 -0
  39. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_ellipsoids.py +0 -0
  40. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_generator.py +0 -0
  41. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_helicoids.py +0 -0
  42. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_prisms.py +0 -0
  43. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/__init__.py +0 -0
  44. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/geometric_tools.py +0 -0
  45. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/mesh_data_retriever.py +0 -0
  46. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/meshing_tools.py +0 -0
  47. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/region_finder.py +0 -0
  48. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/verification_tools.py +0 -0
  49. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/PINNs/Physics/__init__.py +0 -0
  50. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/PINNs/Physics/elasticity_equation.py +0 -0
  51. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/PINNs/__init__.py +0 -0
  52. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/__init__.py +0 -0
  53. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/SVD_framework/box_with_imposed_displacement_gradient.py +0 -0
  54. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/SVD_framework/box_with_young_modulus_field.py +0 -0
  55. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/SVD_framework/dataset_generator.py +0 -0
  56. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/SVD_framework/input_data_filler.py +0 -0
  57. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/SVD_framework/kinematics_surrogate_model.py +0 -0
  58. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/SVD_framework/young_modulus_field_generator.py +0 -0
  59. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/heat_equation.py +0 -0
  60. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/box_with_imposed_displacement_gradient.py +0 -0
  61. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/box_with_young_modulus_field.py +0 -0
  62. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/dataset_generator.py +0 -0
  63. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/input_data_filler.py +0 -0
  64. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/neural_network_trainer.py +0 -0
  65. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/young_modulus_field_generator.py +0 -0
  66. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_optimization.py +0 -0
  67. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_tools.py +0 -0
  68. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_tools.py +0 -0
  69. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_convex_and_partially_convex_input_NNs.py +0 -0
  70. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_math_tools.py +0 -0
  71. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_quotient_space_NNs.py +0 -0
  72. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_tensor_tools.py +0 -0
  73. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/custom_architectures/__init__.py +0 -0
  74. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/custom_architectures/convexity_concerned_NNs.py +0 -0
  75. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/custom_architectures/gated_quotient_space.py +0 -0
  76. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/custom_architectures/generic_feed_forward.py +0 -0
  77. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/ANN_tools.py +0 -0
  78. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/SVD_tools.py +0 -0
  79. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/__init__.py +0 -0
  80. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/activation_function_utilities.py +0 -0
  81. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/custom_activation_functions.py +0 -0
  82. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/loss_assembler_classes.py +0 -0
  83. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/loss_tools.py +0 -0
  84. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/math_tools.py +0 -0
  85. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/numerical_tools.py +0 -0
  86. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/parameters_tools.py +0 -0
  87. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/tensor_tools.py +0 -0
  88. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/training_tools.py +0 -0
  89. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/__init__.py +0 -0
  90. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/REPL_experiments.py +0 -0
  91. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/__init__.py +0 -0
  92. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/optimization/__init__.py +0 -0
  93. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/optimization/tests_optimization_methods.py +0 -0
  94. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/tests_batching.py +0 -0
  95. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/tests_finite_elements.py +0 -0
  96. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/tests_loss_function.py +0 -0
  97. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/tests_physics.py +0 -0
  98. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/unidimensional/__init__.py +0 -0
  99. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/unidimensional/bar_fea.py +0 -0
  100. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/unidimensional/hyperelastic_1D_energies.py +0 -0
  101. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/unidimensional/variational_tools.py +0 -0
  102. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/assembly/__init__.py +0 -0
  103. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/assembly/body_forces_work.py +0 -0
  104. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/assembly/dirichlet_boundary_conditions_enforcer.py +0 -0
  105. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/assembly/hyperelastic_internal_work.py +0 -0
  106. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/assembly/surface_forces_work.py +0 -0
  107. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/constitutive_models/__init__.py +0 -0
  108. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/constitutive_models/hyperelastic_isotropic_models.py +0 -0
  109. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/__init__.py +0 -0
  110. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/elements_manager.py +0 -0
  111. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/finite_element_dispatcher.py +0 -0
  112. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/surface_elements/__init__.py +0 -0
  113. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/surface_elements/triangles.py +0 -0
  114. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/volume_elements/__init__.py +0 -0
  115. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/volume_elements/tetrahedrons.py +0 -0
  116. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/optimization/__init__.py +0 -0
  117. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/optimization/conditioning_matrices.py +0 -0
  118. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/optimization/loss_functions.py +0 -0
  119. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/optimization/neural_network_assembler.py +0 -0
  120. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/optimization/objective_function.py +0 -0
  121. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/physics/compressible_cauchy_hyperelasticy.py +0 -0
  122. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/__init__.py +0 -0
  123. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/constitutive_tools.py +0 -0
  124. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/dirichlet_loading_tools.py +0 -0
  125. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/math_tools.py +0 -0
  126. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/mesh_info_tools.py +0 -0
  127. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/mesh_tools.py +0 -0
  128. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/neumann_loading_tools.py +0 -0
  129. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/node_ordering.py +0 -0
  130. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/optimization_tools.py +0 -0
  131. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/parametric_curves_tools.py +0 -0
  132. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/sensitivity_tools.py +0 -0
  133. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/tensorflow_utilities.py +0 -0
  134. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/__init__.py +0 -0
  135. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/__init__.py +0 -0
  136. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/cauchy_tetrahedron.py +0 -0
  137. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/continuum_mechanics_potato_collage.py +0 -0
  138. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/fake_book_spines.py +0 -0
  139. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/null_space_architecture.py +0 -0
  140. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/tests_collage_tools.py +0 -0
  141. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/tests_delaunay.py +0 -0
  142. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/tests_paraview_tools.py +0 -0
  143. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/tests_plotting_tools.py +0 -0
  144. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/collage_tools.py +0 -0
  145. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/paraview_tools.py +0 -0
  146. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/plotting_tools.py +0 -0
  147. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/__init__.py +0 -0
  148. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/arrows_lines_tools.py +0 -0
  149. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/box_and_markers_classes.py +0 -0
  150. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/box_tools.py +0 -0
  151. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/collage_classes.py +0 -0
  152. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/curves_setter.py +0 -0
  153. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/image_tools.py +0 -0
  154. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/interactivity_tools.py +0 -0
  155. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/paraview_scripts.py +0 -0
  156. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/perspective_tools.py +0 -0
  157. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/text_excerpt_tools.py +0 -0
  158. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/LaTeXUtilities.sty +0 -0
  159. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/__init__.py +0 -0
  160. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/aa_tests/__init__.py +0 -0
  161. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/aa_tests/latex_parser_tests.py +0 -0
  162. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/latex_parser.py +0 -0
  163. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/tool_box/__init__.py +0 -0
  164. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/tool_box/command_tools.py +0 -0
  165. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/tool_box/parsing_tools.py +0 -0
  166. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/tool_box/sty_file_tools.py +0 -0
  167. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/__init__.py +0 -0
  168. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/heat_transfer/heat_box.py +0 -0
  169. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/beam_with_fibers.py +0 -0
  170. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/box_with_young_modulus_field.py +0 -0
  171. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_HGO.py +0 -0
  172. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean.py +0 -0
  173. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean_incompressible.py +0 -0
  174. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/hyperelastic_box.py +0 -0
  175. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/incompressible_hyperelastic_box.py +0 -0
  176. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/cylindrical_coordinates_material_property.py +0 -0
  177. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/disc_HGO.py +0 -0
  178. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/local_coordinate_system_generation.py +0 -0
  179. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_hyperelastic_box.py +0 -0
  180. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_incompressible_box.py +0 -0
  181. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/read_dofs_in_volume.py +0 -0
  182. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/young_modulus_field.py +0 -0
  183. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/bending_case/beam_with_fibers_macroscale.py +0 -0
  184. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/bending_case/beam_with_fibers_microscale.py +0 -0
  185. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/deformation_laboratory/microscale_deformation_lab.py +0 -0
  186. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/disc_micropolar_neo_hookean.py +0 -0
  187. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam.py +0 -0
  188. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean.py +0 -0
  189. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean_pure_dolfin.py +0 -0
  190. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean_pure_dolfin_old.py +0 -0
  191. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Suh_et_al/suh_implementation.py +0 -0
  192. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/micropolar_with_homogenization.py +0 -0
  193. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/micropolar_with_homogenization_original.py +0 -0
  194. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/tools_homogenization.py +0 -0
  195. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/tools_io.py +0 -0
  196. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/stress_plots.py +0 -0
  197. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/numerical_differentiation.py +0 -0
  198. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/numerical_differentiation_second_elasticity_tensor.py +0 -0
  199. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/tangent_operator_plotter.py +0 -0
  200. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/torsion_case/beam_with_fibers_macroscale.py +0 -0
  201. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/torsion_case/beam_with_fibers_microscale.py +0 -0
  202. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/traction_case/beam_with_fibers_macroscale.py +0 -0
  203. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/traction_case/beam_with_fibers_microscale.py +0 -0
  204. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/curve_fitting.py +0 -0
  205. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/cylindrical_coordinates_field.py +0 -0
  206. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/cylindrical_coordinates_material_property.py +0 -0
  207. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/elasticity_tensor.py +0 -0
  208. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/incompressible.py +0 -0
  209. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/linear_expression_test.py +0 -0
  210. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/petsc_2D.py +0 -0
  211. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_periodic.py +0 -0
  212. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_periodic_class.py +0 -0
  213. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_shifted_field.py +0 -0
  214. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/teste_afim.py +0 -0
  215. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/working_example_dictionaries.py +0 -0
  216. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/multiscale/hyperelasticity/beam_with_fibers_microscale.py +0 -0
  217. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/compressible_hyperelasticity.py +0 -0
  218. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/incompressible_hyperelasticity.py +0 -0
  219. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes/beam_gmsh.py +0 -0
  220. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes_paths.py +0 -0
  221. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/various_physics_tests.py +0 -0
  222. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/__init__.py +0 -0
  223. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/heat_transfer/isotropic_heat_conduction.py +0 -0
  224. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/hyperelasticity/__init__.py +0 -0
  225. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/hyperelasticity/anisotropic_hyperelasticity.py +0 -0
  226. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/hyperelasticity/isotropic_hyperelasticity.py +0 -0
  227. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/hyperelasticity/micropolar_hyperelasticity.py +0 -0
  228. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/__init__.py +0 -0
  229. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/__init__.py +0 -0
  230. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_classes.py +0 -0
  231. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_expressions.py +0 -0
  232. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/multiscale_hyperelasticity.py +0 -0
  233. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/multiscale_micropolar.py +0 -0
  234. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/physics/__init__.py +0 -0
  235. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/physics/hyperelastic_cauchy_continuum.py +0 -0
  236. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/physics/hyperelastic_incompressible_cauchy_continuum.py +0 -0
  237. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/physics/hyperelastic_micropolar_continuum.py +0 -0
  238. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/physics/steady_state_heat_transfer.py +0 -0
  239. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/post_processes/__init__.py +0 -0
  240. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/post_processes/post_processes_classes.py +0 -0
  241. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/post_processes/post_processes_functions.py +0 -0
  242. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/__init__.py +0 -0
  243. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/binary_tools.py +0 -0
  244. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/body_forces_loading_tools.py +0 -0
  245. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/boundary_conditions_tools.py +0 -0
  246. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/constitutive_tools.py +0 -0
  247. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/dirichlet_load_tools.py +0 -0
  248. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/expressions_tools.py +0 -0
  249. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/functional_tools.py +0 -0
  250. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/homogenization_tools.py +0 -0
  251. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/mesh_handling_tools.py +0 -0
  252. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/multiscale_boundary_conditions_tools.py +0 -0
  253. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/numerical_tools.py +0 -0
  254. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/parallelization_tools.py +0 -0
  255. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/post_processing_tools.py +0 -0
  256. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/pseudotime_stepping_tools.py +0 -0
  257. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/read_write_tools.py +0 -0
  258. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/surface_loading_tools.py +0 -0
  259. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/tensor_tools.py +0 -0
  260. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/variational_tools.py +0 -0
  261. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/weak_boundary_conditions_tools.py +0 -0
  262. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/__init__.py +0 -0
  263. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/aa_tests/__init__.py +0 -0
  264. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/aa_tests/tests_template.py +0 -0
  265. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/aa_tests/txt_tests.py +0 -0
  266. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/coordinate_systems_tools.py +0 -0
  267. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/dictionary_tools.py +0 -0
  268. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/file_handling_tools.py +0 -0
  269. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/fonts/CMU_Serif_Roman.ttf +0 -0
  270. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/function_tools.py +0 -0
  271. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/interpolation_tools.py +0 -0
  272. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/math_experiments.py +0 -0
  273. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/numpy_tools.py +0 -0
  274. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/package_tools.py +0 -0
  275. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/path_tools.py +0 -0
  276. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/programming_tools.py +0 -0
  277. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/recursion_tools.py +0 -0
  278. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/string_tools.py +0 -0
  279. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/tensor_and_math_tools.py +0 -0
  280. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/user_interaction_tools.py +0 -0
  281. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/__init__.py +0 -0
  282. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/aa_tests/__init__.py +0 -0
  283. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/aa_tests/test_delaunay_tools.py +0 -0
  284. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/domain_decomposition/__init__.py +0 -0
  285. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/tool_box/__init__.py +0 -0
  286. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/tool_box/delaunay_tools.py +0 -0
  287. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/tool_box/sampling_tools.py +0 -0
  288. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/tool_box/statistics_tools.py +0 -0
  289. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/__init__.py +0 -0
  290. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout.egg-info/dependency_links.txt +0 -0
  291. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout.egg-info/requires.txt +0 -0
  292. {davout-0.1.1.dev147 → davout-0.1.1.dev148}/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.dev147
3
+ Version: 0.1.1.dev148
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.dev147"
66
+ version = "0.1.1.dev148"
67
67
  description = "Scientific computing utilities combining FEM, ANN and tooling"
68
68
  readme = "README.md"
69
69
  authors = [
@@ -366,6 +366,11 @@ class TestSVDArchitecture:
366
366
 
367
367
  modulating_function_performance = "identity"
368
368
 
369
+ # Gets the training data as a tensorflow array
370
+
371
+ self.training_input_constant = tf.constant(self.training_data,
372
+ dtype=tf.as_dtype(self.parameters_dtype))
373
+
369
374
  # Defines a function to get the true values for the performance
370
375
  # test
371
376
 
@@ -723,8 +728,15 @@ if __name__=="__main__":
723
728
  # Creates a list of methods (using their names) that are not to be
724
729
  # tested
725
730
 
726
- reserved_methods = ["test_training_model", "test_monte_carlo_training_model",
727
- "test_quotient_space_invariance_model", "test_convexity_in_quotient_space"]
731
+ #"""
732
+ reserved_methods = ["test_assembling_model", "test_saving_and_load"+
733
+ "ing", "test_input_and_parameters", "test_derivative", "test_train"+
734
+ "ing_model", "test_monte_carlo_training_model", "test_quotient_spa"+
735
+ "ce_invariance_model", "test_convexity_in_quotient_space"]#"""
736
+
737
+ #reserved_methods = ["test_convexity_in_quotient_space"]
738
+
739
+ #reserved_methods = ["test_derivative_performance"]
728
740
 
729
741
  # Calls the function to run all the necessary tests
730
742
 
@@ -1041,7 +1041,8 @@ class SVDQuotientSpace:
1041
1041
  # flector since the multiplication by a vector is from
1042
1042
  # the right side
1043
1043
 
1044
- n_dofs_householder_vector = reflector_index+1
1044
+ n_dofs_householder_vector = (reflector_index+
1045
+ self.n_neurons_current_main_layer-self.weights_rank)
1045
1046
 
1046
1047
  self.householder_first_index_A.append(
1047
1048
  counter_parameters_A)
@@ -1120,6 +1121,38 @@ class SVDQuotientSpace:
1120
1121
  self.householder_number_of_leading_zeros_B, dtype=
1121
1122
  self.layer_self.code_given_info_class.int_dtype)
1122
1123
 
1124
+ # TEST-TensorArray
1125
+ # Defines a function to get a contiguous flat tensor and split it
1126
+ # into a set of vectors of different sizes. Each vector comprises
1127
+ # the degrees of freedom of the corresponding Householder reflector
1128
+
1129
+ def split_flat_tensor_into_householder_dofs(self,
1130
+ householder_parameters, householder_lengths):
1131
+
1132
+ # Splits the flat tensor of Householder DOFs of the whole chain
1133
+
1134
+ split_householder_raw_vectors = tf.split(householder_parameters,
1135
+ householder_lengths)
1136
+
1137
+ householder_dofs_tensor_array = tf.TensorArray(dtype=
1138
+ self.layer_self.code_given_info_class.float_dtype,
1139
+ size=len(householder_lengths), infer_shape=False,
1140
+ clear_after_read=False)
1141
+
1142
+ # Iterates over the python list generated by tf.split to write
1143
+ # the individual components into the TensorArray that stores the
1144
+ # raw vector of DOFs of each Householder reflector
1145
+
1146
+ for i, split_householder_raw_vector in enumerate(
1147
+ split_householder_raw_vectors):
1148
+
1149
+ householder_dofs_tensor_array = householder_dofs_tensor_array.write(
1150
+ i, split_householder_raw_vector)
1151
+
1152
+ # Returns the TensorArray only
1153
+
1154
+ return householder_dofs_tensor_array
1155
+
1123
1156
  # Defines a function to multiply the result of the multiplication of
1124
1157
  # the input vector by the B matrix then by the tensor of singular
1125
1158
  # values. This function is for the case of identity modulation func-
@@ -1194,52 +1227,9 @@ class SVDQuotientSpace:
1194
1227
  # rank, p_i]. The final result must be [n_samples, rank, p_i]
1195
1228
 
1196
1229
  return (singular_values[:,:,None]*B_matrix[None,:,:])
1197
-
1198
- # Defines a function to parse a single Householder vector from a
1199
- # vector of all Householder vectors to construct an orthogonal ma-
1200
- # trix. The incoming vector is a tensor [0.5*(m_rank*((2*n_rows)-
1201
- # m_rank-1))], where m_rank is the number of columns of the final
1202
- # orthogonal matrix, and n_rows is the number of rows. Receives the
1203
- # index of the Householder reflector in the Householder chain to
1204
- # collect the corresponding Householder vector
1205
-
1206
- def get_householder_vector_from_parameters(self,
1207
- householder_first_index, householder_length,
1208
- householder_number_of_leading_zeros, householder_parameters,
1209
- householder_reflector_index, input_dimensionality):
1210
-
1211
- # Gets the first and last indices of the Householder vector,
1212
- # then the vector that will become the Householder vector
1213
1230
 
1214
- initial_index = householder_first_index[
1215
- householder_reflector_index]
1216
-
1217
- length = householder_length[householder_reflector_index]
1218
-
1219
- number_of_leading_zeros = householder_number_of_leading_zeros[
1220
- householder_reflector_index]
1221
-
1222
- raw_vector = tf.slice(householder_parameters, [initial_index], [
1223
- length])
1224
-
1225
- # Computes the average of the raw vector
1226
-
1227
- average_raw_vector = tf.reduce_mean(raw_vector)
1228
-
1229
- # Concatenates the non-free component of the Householder vector
1230
- # to the first position
1231
-
1232
- raw_vector = tf.concat([tf.sqrt((average_raw_vector*
1233
- average_raw_vector)+self.householder_epsilon_squared)[None],
1234
- raw_vector], axis=0)
1235
-
1236
- # Rescales the raw vector to have unit norm, then adds the trai-
1237
- # ling zeros and returns it
1238
-
1239
- return tf.pad(tf.math.l2_normalize(raw_vector), [[
1240
- number_of_leading_zeros, 0]])
1241
-
1242
- # Defines the same function but XLA-compliant
1231
+ # Defines the same function as get_householder_vector_from_parameters
1232
+ # but XLA-compliant
1243
1233
 
1244
1234
  def get_householder_vector_from_parameters_XLA_compliant(self,
1245
1235
  householder_first_index, householder_length,
@@ -1332,6 +1322,60 @@ class SVDQuotientSpace:
1332
1322
 
1333
1323
  return householder_vector
1334
1324
 
1325
+ # Defines a function to parse a single Householder vector from a
1326
+ # vector of all Householder vectors to construct an orthogonal ma-
1327
+ # trix. The incoming vector is a tensor [0.5*(m_rank*((2*n_rows)-
1328
+ # m_rank-1))], where m_rank is the number of columns of the final
1329
+ # orthogonal matrix, and n_rows is the number of rows. Receives the
1330
+ # index of the Householder reflector in the Householder chain to
1331
+ # collect the corresponding Householder vector
1332
+
1333
+ def get_householder_vector_from_parameters(self,
1334
+ householder_first_index, householder_length,
1335
+ householder_number_of_leading_zeros,
1336
+ #split_householder_DOFs,
1337
+ #householder_parameters,
1338
+ householder_dofs_tensor_array,
1339
+ householder_reflector_index, input_dimensionality):
1340
+
1341
+ # Gets the first and last indices of the Householder vector,
1342
+ # then the vector that will become the Householder vector
1343
+
1344
+ initial_index = householder_first_index[
1345
+ householder_reflector_index]
1346
+
1347
+ length = householder_length[householder_reflector_index]
1348
+
1349
+ number_of_leading_zeros = householder_number_of_leading_zeros[
1350
+ householder_reflector_index]
1351
+
1352
+ """
1353
+ raw_vector = tf.slice(householder_parameters, [initial_index], [
1354
+ length])#"""
1355
+
1356
+ #raw_vector = split_householder_DOFs[householder_reflector_index]
1357
+
1358
+ # TensorArray
1359
+ #"""
1360
+ raw_vector = householder_dofs_tensor_array.read(
1361
+ householder_reflector_index) #"""
1362
+
1363
+ # Computes the average of the raw vector
1364
+
1365
+ average_raw_vector = tf.reduce_mean(raw_vector)
1366
+
1367
+ # Concatenates the non-free component of the Householder vector
1368
+ # to the first position
1369
+
1370
+ raw_vector = tf.math.l2_normalize(tf.concat([tf.sqrt(
1371
+ tf.math.square(average_raw_vector)+
1372
+ self.householder_epsilon_squared)[None], raw_vector], axis=0))
1373
+
1374
+ # Rescales the raw vector to have unit norm, then adds the trai-
1375
+ # ling zeros and returns it
1376
+
1377
+ return raw_vector, number_of_leading_zeros
1378
+
1335
1379
  # Defines a function to evaluate the multiplication of one Househol-
1336
1380
  # der reflector of the Householder chain of one of the two orthogo-
1337
1381
  # nal matrices of the SVD decomposition (A*diag(sigma)*transpose(B))
@@ -1342,24 +1386,35 @@ class SVDQuotientSpace:
1342
1386
  def multiply_input_vector_by_householder_reflector(self,
1343
1387
  input_vector, householder_reflector_index, householder_first_index,
1344
1388
  householder_length, householder_number_of_leading_zeros,
1345
- householder_parameters_orthogonal_matrix, input_dimensionality):
1389
+ #split_householder_DOFs,
1390
+ #householder_parameters_orthogonal_matrix,
1391
+ householder_dofs_tensor_array,
1392
+ input_dimensionality):
1346
1393
 
1347
1394
  # Gets the Householder vector from the Householder parameters of
1348
1395
  # the B matrix. Keep in mind that the order of the Householder
1349
1396
  # chain of the B matrix is versed with respect to the A matrix,
1350
1397
  # since B is transposed in the SVD
1351
1398
 
1352
- householder_vector = self.method_for_householder_vector_from_parameters(
1399
+ (householder_vector_core, number_of_leading_zeros
1400
+ ) = self.method_for_householder_vector_from_parameters(
1353
1401
  householder_first_index, householder_length,
1354
1402
  householder_number_of_leading_zeros,
1355
- householder_parameters_orthogonal_matrix,
1403
+ #split_householder_DOFs,
1404
+ #householder_parameters_orthogonal_matrix,
1405
+ householder_dofs_tensor_array,
1356
1406
  householder_reflector_index, input_dimensionality)
1357
1407
 
1358
1408
  # Multiplies the input vector by the Householder reflector (the
1359
- # operation is already broken down into the rank-1 calculation)
1360
-
1361
- return input_vector-(self.two*tf.reduce_sum(input_vector*
1362
- householder_vector, axis=-1, keepdims=True)*householder_vector)
1409
+ # operation is already broken down into the rank-1 calculation).
1410
+ # Note that the multiplication by the Householder vector is done
1411
+ # only for the non-zero components and that the result is padded
1412
+ # to be added to the original input vector
1413
+
1414
+ return input_vector+tf.pad(-(self.two*tf.einsum('bi,i->b',
1415
+ input_vector[:,number_of_leading_zeros:],
1416
+ householder_vector_core)[:,None]*householder_vector_core[None,:]
1417
+ ), [[0,0], [number_of_leading_zeros,0]])
1363
1418
 
1364
1419
  # Defines a function to create a wrapper for the method that multi-
1365
1420
  # plies the input vector by an orthogonal matrix and, then, calls
@@ -1370,24 +1425,40 @@ class SVDQuotientSpace:
1370
1425
  householder_reflector_indices, householder_first_index,
1371
1426
  householder_length, householder_number_of_leading_zeros,
1372
1427
  householder_parameters_orthogonal_matrix, input_dimensionality):
1373
-
1374
- # Iterates through the indices of Householder reflectors
1375
1428
 
1376
- for householder_reflector_index in householder_reflector_indices:
1429
+ # Splits the Householder DOFs of each Householder vector from
1430
+ # the flat tensor of DOFs of the chain
1431
+
1432
+ #split_householder_DOFs = tf.split(
1433
+ #householder_parameters_orthogonal_matrix, householder_length)
1434
+
1435
+ """
1436
+ split_householder_DOFs = tf.RaggedTensor.from_row_lengths(
1437
+ householder_parameters_orthogonal_matrix,
1438
+ householder_length)#"""
1377
1439
 
1378
- # Updates the input vector by recursive multiplication of
1379
- # reflectors of the Householder chain
1440
+ #"""
1441
+ householder_dofs_tensor_array = self.split_flat_tensor_into_householder_dofs(
1442
+ householder_parameters_orthogonal_matrix, householder_length)#"""
1380
1443
 
1381
- input_vector = self.multiply_input_vector_by_householder_reflector(
1382
- input_vector, householder_reflector_index,
1444
+ # Defines the step function that will perform each update of the
1445
+ # input tensor by means of the Householder reflector
1446
+
1447
+ def update_step(accumulator_vector, householder_reflector_index):
1448
+
1449
+ return self.multiply_input_vector_by_householder_reflector(
1450
+ accumulator_vector, householder_reflector_index,
1383
1451
  householder_first_index, householder_length,
1384
1452
  householder_number_of_leading_zeros,
1385
- householder_parameters_orthogonal_matrix,
1453
+ #split_householder_DOFs,
1454
+ #householder_parameters_orthogonal_matrix,
1455
+ householder_dofs_tensor_array,
1386
1456
  input_dimensionality)
1387
1457
 
1388
- # Returns the updated input vector
1458
+ # Uses foldl to perform the chain multiplication
1389
1459
 
1390
- return input_vector
1460
+ return tf.foldl(update_step, householder_reflector_indices,
1461
+ initializer=input_vector)
1391
1462
 
1392
1463
  # Defines a function to evaluate the multiplication of the Househol-
1393
1464
  # der chain of the transposed B matrix of the SVD decomposition (A*
@@ -1410,12 +1481,19 @@ class SVDQuotientSpace:
1410
1481
  # Householder chain of the B matrix is reversed with respect
1411
1482
  # to the A matrix, since B is transposed in the SVD
1412
1483
 
1413
- householder_vector = self.method_for_householder_vector_from_parameters(
1484
+ (householder_vector_core, number_of_leading_zeros
1485
+ ) = self.method_for_householder_vector_from_parameters(
1414
1486
  householder_first_index_B, householder_length_B,
1415
1487
  householder_number_of_leading_zeros_B,
1416
1488
  householder_parameters_B_matrix, householder_reflector_index,
1417
1489
  input_dimensionality)
1418
1490
 
1491
+ # Gets the Householder vector by padding the core with the
1492
+ # leading zeros
1493
+
1494
+ householder_vector = tf.pad(householder_vector_core, [[
1495
+ number_of_leading_zeros, 0]])
1496
+
1419
1497
  # Multiplies the partially reconstructed B matrix by the
1420
1498
  # Householder reflector to the left. However, the structure
1421
1499
  # of the rank-1 projection is taken advantage of
@@ -1446,12 +1524,19 @@ class SVDQuotientSpace:
1446
1524
  # Gets the Householder vector from the Householder parameters
1447
1525
  # of the A matrix
1448
1526
 
1449
- householder_vector = self.method_for_householder_vector_from_parameters(
1527
+ (householder_vector_core, number_of_leading_zeros
1528
+ ) = self.method_for_householder_vector_from_parameters(
1450
1529
  householder_first_index_A, householder_length_A,
1451
1530
  householder_number_of_leading_zeros_A,
1452
1531
  householder_parameters_A_matrix, householder_reflector_index,
1453
1532
  input_dimensionality)
1454
1533
 
1534
+ # Gets the Householder vector by padding the core with the
1535
+ # leading zeros
1536
+
1537
+ householder_vector = tf.pad(householder_vector_core, [[
1538
+ number_of_leading_zeros, 0]])
1539
+
1455
1540
  # Multiplies the partially reconstructed A matrix by the
1456
1541
  # Householder reflector to the left. However, the structure
1457
1542
  # of the rank-1 projection is taken advantage of. The multi-
@@ -172,8 +172,8 @@ class ScalarGradientWrtTrainableParamsGivenParameters:
172
172
 
173
173
  self.parameters_type = parameters_type
174
174
 
175
- self.model_trainable_parameters = tf.Variable(tf.constant(
176
- model_initial_parameters, dtype=self.parameters_type))
175
+ #self.model_trainable_parameters = tf.Variable(tf.constant(
176
+ #model_initial_parameters, dtype=self.parameters_type))
177
177
 
178
178
  # Defines a helper function to enable the true values of y argument
179
179
  # even though the original scalar function does not use it
@@ -224,16 +224,11 @@ class ScalarGradientWrtTrainableParamsGivenParameters:
224
224
 
225
225
  def evaluate_scalar_function(self, trainable_parameters):
226
226
 
227
- # Sets the trainable variables to the variable tensor for ease
228
- # of differentiation
229
-
230
- self.model_trainable_parameters.assign(tf.cast(
231
- trainable_parameters, self.parameters_type))
232
-
233
227
  # Gets the response of the model
234
228
 
235
229
  y = self.model_output_given_parameters(self.input_tensor,
236
- self.model_trainable_parameters)
230
+ tf.convert_to_tensor(trainable_parameters, dtype=
231
+ self.parameters_type))
237
232
 
238
233
  # Gets the scalar function value and returns it
239
234
 
@@ -289,17 +284,12 @@ class ScalarGradientWrtTrainableParamsGivenParameters:
289
284
 
290
285
  def __call__(self, trainable_parameters):
291
286
 
292
- # Sets the trainable variables to the variable tensor for ease
293
- # of differentiation
294
-
295
- self.model_trainable_parameters.assign(tf.cast(
296
- trainable_parameters, self.parameters_type))
297
-
298
287
  # Calls the loss function and the gradient using the same func-
299
- # tion to spare computational effort
288
+ # tion to spare computational effort. But converts the input to
289
+ # a tensorflow tensor first
300
290
 
301
- return self.joint_loss_gradient_method(
302
- self.model_trainable_parameters)
291
+ return self.joint_loss_gradient_method(tf.convert_to_tensor(
292
+ trainable_parameters, dtype=self.parameters_type))
303
293
 
304
294
  # Defines a function to update the scalar function if it is parame-
305
295
  # terizable by externally-given quantities
@@ -0,0 +1,127 @@
1
+ # Routine to demonstrate the differences between the Green-Lagrange and
2
+ # infinitesimal strain tensors
3
+
4
+ import matplotlib.pyplot as plt
5
+
6
+ import numpy as np
7
+
8
+ # Defines a function to evaluate the rotation tensor as a function of
9
+ # time
10
+
11
+ def rotation_tensor(t):
12
+
13
+ theta = 0.5*np.pi*t
14
+
15
+ c = np.cos(theta)
16
+
17
+ s = np.sin(theta)
18
+
19
+ return np.array([[c, s, 0.0], [-s, c, 0.0], [0.0, 0.0, 1.0]])
20
+
21
+ # Defines a function to evaluate the stretch tensor
22
+
23
+ def stretch_tensor(t):
24
+
25
+ T = min(t, 1.0)
26
+
27
+ return np.array([[T, 0.0, 0.0], [0.0, T*T, 0.0], [0.0, 0.0, 1.0]])
28
+
29
+ # Defines the displacement as a linear mapping
30
+
31
+ def displacement_field(t, material_position_vector):
32
+
33
+ # Evaluates the rotation and stretch tensors
34
+
35
+ R = rotation_tensor(t)
36
+
37
+ U = stretch_tensor(t)
38
+
39
+ # Evaluates the displacement field
40
+
41
+ return np.einsum('ik,k->i', np.einsum('ij,jk->ik', R, U)-np.eye(3),
42
+ material_position_vector)
43
+
44
+ # Defines a function to evaluate the deformation gradient
45
+
46
+ def deformation_gradient(t):
47
+
48
+ # Evaluates the rotation and stretch tensors
49
+
50
+ R = rotation_tensor(t)
51
+
52
+ U = stretch_tensor(t)
53
+
54
+ return np.matmul(R, U)+np.eye(3)
55
+
56
+ # Defines a function to compute the Green-Lagrange strain tensor
57
+
58
+ def green_lagrange_strain(t):
59
+
60
+ # Evaluates the deformation gradient
61
+
62
+ F = deformation_gradient(t)
63
+
64
+ # Evaluates the Green-Lagrange strain tensor
65
+
66
+ return 0.5*(np.einsum('ji,jk->ik', F, F)-np.eye(3))
67
+
68
+ # Defines a function to compute the infinitesimal strain tensor
69
+
70
+ def infinitesimal_strain(t):
71
+
72
+ # Evaluates the deformation gradient
73
+
74
+ F = deformation_gradient(t)
75
+
76
+ return 0.5*(F.T+F)-np.eye(3)
77
+
78
+ # Defines a function to compute the Frobenius norm of the difference of
79
+ # the two tensors
80
+
81
+ def difference_between_strain_tensors(t):
82
+
83
+ # Computes the Green-Lagrange and infinitesimal strain tensors
84
+
85
+ E = green_lagrange_strain(t)
86
+
87
+ epsilon = infinitesimal_strain(t)
88
+
89
+ # Returns the Frobenius norm
90
+
91
+ delta = E-epsilon
92
+
93
+ return np.linalg.norm(delta, ord="fro")
94
+
95
+ # Test block
96
+
97
+ if __name__=="__main__":
98
+
99
+ # Gets a set of time points
100
+
101
+ t_final = 1.0
102
+
103
+ t_initial = 0.0
104
+
105
+ t_range = np.linspace(t_initial, t_final, 50)
106
+
107
+ # Computes the difference between the two tensor as a function of time
108
+
109
+ differences = [difference_between_strain_tensors(t) for t in t_range]
110
+
111
+ plt.figure(figsize=(8, 5))
112
+
113
+ plt.plot(t_range, differences, color="crimson", linewidth=2)
114
+
115
+ plt.xlabel("Time $t$ / Deformation Magnitude", fontsize=11)
116
+
117
+ plt.ylabel(r"Frobenius Norm $\|\mathbf{E} - \mathbf{\epsilon}\|_F$",
118
+ fontsize=11)
119
+
120
+ plt.title("Divergence between Green-Lagrange and Infinitesimal Str"+
121
+ "ain", fontsize=12)
122
+
123
+ plt.grid(True, linestyle="--", alpha=0.6)
124
+
125
+ plt.tight_layout()
126
+
127
+ plt.show()
@@ -182,8 +182,8 @@ n_evaluations_to_show_memory_data=None, ten_notation=" E"):
182
182
 
183
183
  print("The "+str(n_warm_up_runs)+" warm-up runs took "+
184
184
  terminal_color(warm_up_time, "green")+" seconds. Thus, it is estim"+
185
- "ated\nthat the "+terminal_color(n_evaluation_runs, "yellow")+"eva"+
186
- "luation runs will took "+terminal_color(estimated_time, "bold red")
185
+ "ated\nthat the "+terminal_color(n_evaluation_runs, "yellow")+" ev"+
186
+ "aluation runs will took "+terminal_color(estimated_time, "bold red")
187
187
  +" seconds\nNow, the computer strikes its clock at "+terminal_color(
188
188
  current_computer_time.strftime('%H:%M:%S'), "bold light blue")+";"+
189
189
  "\nthe evaluations are estimated to be completed at "+terminal_color(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Davout
3
- Version: 0.1.1.dev147
3
+ Version: 0.1.1.dev148
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>
@@ -140,6 +140,7 @@ source/Davout/GraphUtilities/aa_tests/cauchy_tetrahedron.py
140
140
  source/Davout/GraphUtilities/aa_tests/continuum_mechanics_potato_collage.py
141
141
  source/Davout/GraphUtilities/aa_tests/fake_book_spines.py
142
142
  source/Davout/GraphUtilities/aa_tests/null_space_architecture.py
143
+ source/Davout/GraphUtilities/aa_tests/strain_tensors.py
143
144
  source/Davout/GraphUtilities/aa_tests/tests_collage_tools.py
144
145
  source/Davout/GraphUtilities/aa_tests/tests_delaunay.py
145
146
  source/Davout/GraphUtilities/aa_tests/tests_paraview_tools.py
File without changes
File without changes
File without changes
File without changes