Davout 0.1.1.dev156__tar.gz → 0.1.1.dev158__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.dev156/source/Davout.egg-info → davout-0.1.1.dev158}/PKG-INFO +1 -1
  2. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/pyproject.toml +1 -1
  3. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_based_NNs.py +7 -4
  4. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_quotient_space_NNs.py +58 -3
  5. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/custom_architectures/SVD_quotient_space.py +141 -44
  6. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/ANN_tools.py +18 -1
  7. {davout-0.1.1.dev156 → davout-0.1.1.dev158/source/Davout.egg-info}/PKG-INFO +1 -1
  8. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/LICENSE +0 -0
  9. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/README.md +0 -0
  10. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/setup.cfg +0 -0
  11. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/setup.py +0 -0
  12. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/__init__.py +0 -0
  13. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/RVEs/__init__.py +0 -0
  14. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_artery.py +0 -0
  15. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_matrix_with_fiber.py +0 -0
  16. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/__init__.py +0 -0
  17. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/elastin_fiber_creator.py +0 -0
  18. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_artery_transfinite.py +0 -0
  19. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_matrix_with_fiber_transfinite.py +0 -0
  20. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/__init__.py +0 -0
  21. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/elastin_fiber_creator.py +0 -0
  22. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/spherical_RVE.py +0 -0
  23. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/__init__.py +0 -0
  24. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale.py +0 -0
  25. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale_ellipsoid.py +0 -0
  26. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/__init__.py +0 -0
  27. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/beam_micropolar_case_1.py +0 -0
  28. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/__init__.py +0 -0
  29. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/artery_parameters.py +0 -0
  30. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/fiber_matrix_parameters.py +0 -0
  31. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/periodic_structure.py +0 -0
  32. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/solids/__init__.py +0 -0
  33. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/solids/intervertebral_disc.py +0 -0
  34. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/aa_tests/solids/whole_ensemble_of_geometries.py +0 -0
  35. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/solids/__init__.py +0 -0
  36. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/solids/cuboid_cylinders.py +0 -0
  37. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/solids/cuboid_ellipsoids.py +0 -0
  38. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/solids/cuboid_generator.py +0 -0
  39. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/solids/cuboid_helicoids.py +0 -0
  40. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/solids/cuboid_prisms.py +0 -0
  41. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/tool_box/__init__.py +0 -0
  42. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/tool_box/geometric_tools.py +0 -0
  43. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/tool_box/mesh_data_retriever.py +0 -0
  44. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/tool_box/meshing_tools.py +0 -0
  45. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/tool_box/region_finder.py +0 -0
  46. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/CuboidGmsh/tool_box/verification_tools.py +0 -0
  47. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/PINNs/Physics/__init__.py +0 -0
  48. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/PINNs/Physics/elasticity_equation.py +0 -0
  49. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/PINNs/__init__.py +0 -0
  50. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/__init__.py +0 -0
  51. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/SVD_framework/box_with_imposed_displacement_gradient.py +0 -0
  52. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/SVD_framework/box_with_young_modulus_field.py +0 -0
  53. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/SVD_framework/dataset_generator.py +0 -0
  54. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/SVD_framework/input_data_filler.py +0 -0
  55. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/SVD_framework/kinematics_surrogate_model.py +0 -0
  56. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/SVD_framework/young_modulus_field_generator.py +0 -0
  57. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/heat_equation.py +0 -0
  58. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/box_with_imposed_displacement_gradient.py +0 -0
  59. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/box_with_young_modulus_field.py +0 -0
  60. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/dataset_generator.py +0 -0
  61. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/input_data_filler.py +0 -0
  62. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/neural_network_trainer.py +0 -0
  63. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/young_modulus_field_generator.py +0 -0
  64. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_optimization.py +0 -0
  65. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_tools.py +0 -0
  66. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_tools.py +0 -0
  67. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_convex_and_partially_convex_input_NNs.py +0 -0
  68. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_math_tools.py +0 -0
  69. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_tensor_tools.py +0 -0
  70. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/custom_architectures/__init__.py +0 -0
  71. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/custom_architectures/convexity_concerned_NNs.py +0 -0
  72. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/custom_architectures/gated_quotient_space.py +0 -0
  73. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/custom_architectures/generic_feed_forward.py +0 -0
  74. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/SVD_tools.py +0 -0
  75. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/__init__.py +0 -0
  76. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/activation_function_utilities.py +0 -0
  77. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/custom_activation_functions.py +0 -0
  78. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/differentiation_tools.py +0 -0
  79. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/loss_assembler_classes.py +0 -0
  80. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/loss_tools.py +0 -0
  81. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/math_tools.py +0 -0
  82. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/numerical_tools.py +0 -0
  83. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/parameters_tools.py +0 -0
  84. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/tensor_tools.py +0 -0
  85. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/DeepMech/tool_box/training_tools.py +0 -0
  86. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/__init__.py +0 -0
  87. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/REPL_experiments.py +0 -0
  88. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/__init__.py +0 -0
  89. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/optimization/__init__.py +0 -0
  90. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/optimization/tests_optimization_methods.py +0 -0
  91. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/tests_batching.py +0 -0
  92. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/tests_finite_elements.py +0 -0
  93. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/tests_loss_function.py +0 -0
  94. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/tests_physics.py +0 -0
  95. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/unidimensional/__init__.py +0 -0
  96. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/unidimensional/bar_fea.py +0 -0
  97. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/unidimensional/hyperelastic_1D_energies.py +0 -0
  98. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/aa_tests/unidimensional/variational_tools.py +0 -0
  99. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/assembly/__init__.py +0 -0
  100. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/assembly/body_forces_work.py +0 -0
  101. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/assembly/dirichlet_boundary_conditions_enforcer.py +0 -0
  102. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/assembly/hyperelastic_internal_work.py +0 -0
  103. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/assembly/surface_forces_work.py +0 -0
  104. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/constitutive_models/__init__.py +0 -0
  105. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/constitutive_models/hyperelastic_isotropic_models.py +0 -0
  106. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/finite_elements/__init__.py +0 -0
  107. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/finite_elements/elements_manager.py +0 -0
  108. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/finite_elements/finite_element_dispatcher.py +0 -0
  109. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/finite_elements/surface_elements/__init__.py +0 -0
  110. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/finite_elements/surface_elements/triangles.py +0 -0
  111. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/finite_elements/volume_elements/__init__.py +0 -0
  112. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/finite_elements/volume_elements/tetrahedrons.py +0 -0
  113. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/optimization/__init__.py +0 -0
  114. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/optimization/conditioning_matrices.py +0 -0
  115. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/optimization/loss_functions.py +0 -0
  116. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/optimization/neural_network_assembler.py +0 -0
  117. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/optimization/objective_function.py +0 -0
  118. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/physics/compressible_cauchy_hyperelasticy.py +0 -0
  119. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/__init__.py +0 -0
  120. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/constitutive_tools.py +0 -0
  121. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/dirichlet_loading_tools.py +0 -0
  122. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/math_tools.py +0 -0
  123. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/mesh_info_tools.py +0 -0
  124. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/mesh_tools.py +0 -0
  125. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/neumann_loading_tools.py +0 -0
  126. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/node_ordering.py +0 -0
  127. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/optimization_tools.py +0 -0
  128. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/parametric_curves_tools.py +0 -0
  129. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/sensitivity_tools.py +0 -0
  130. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/FENN/tool_box/tensorflow_utilities.py +0 -0
  131. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/__init__.py +0 -0
  132. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/aa_tests/__init__.py +0 -0
  133. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/aa_tests/cauchy_tetrahedron.py +0 -0
  134. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/aa_tests/continuum_mechanics_potato_collage.py +0 -0
  135. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/aa_tests/fake_book_spines.py +0 -0
  136. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/aa_tests/null_space_architecture.py +0 -0
  137. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/aa_tests/strain_tensors.py +0 -0
  138. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/aa_tests/tests_collage_tools.py +0 -0
  139. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/aa_tests/tests_delaunay.py +0 -0
  140. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/aa_tests/tests_paraview_tools.py +0 -0
  141. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/aa_tests/tests_plotting_tools.py +0 -0
  142. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/collage_tools.py +0 -0
  143. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/paraview_tools.py +0 -0
  144. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/plotting_tools.py +0 -0
  145. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/__init__.py +0 -0
  146. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/arrows_lines_tools.py +0 -0
  147. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/box_and_markers_classes.py +0 -0
  148. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/box_tools.py +0 -0
  149. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/collage_classes.py +0 -0
  150. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/curves_setter.py +0 -0
  151. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/image_tools.py +0 -0
  152. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/interactivity_tools.py +0 -0
  153. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/paraview_scripts.py +0 -0
  154. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/perspective_tools.py +0 -0
  155. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/GraphUtilities/tool_box/text_excerpt_tools.py +0 -0
  156. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/LaTeXUtilities/LaTeXUtilities.sty +0 -0
  157. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/LaTeXUtilities/__init__.py +0 -0
  158. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/LaTeXUtilities/aa_tests/__init__.py +0 -0
  159. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/LaTeXUtilities/aa_tests/latex_parser_tests.py +0 -0
  160. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/LaTeXUtilities/latex_parser.py +0 -0
  161. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/LaTeXUtilities/tool_box/__init__.py +0 -0
  162. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/LaTeXUtilities/tool_box/command_tools.py +0 -0
  163. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/LaTeXUtilities/tool_box/parsing_tools.py +0 -0
  164. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/LaTeXUtilities/tool_box/sty_file_tools.py +0 -0
  165. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/__init__.py +0 -0
  166. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/heat_transfer/heat_box.py +0 -0
  167. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/beam_with_fibers.py +0 -0
  168. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/box_with_young_modulus_field.py +0 -0
  169. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_HGO.py +0 -0
  170. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean.py +0 -0
  171. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean_incompressible.py +0 -0
  172. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/hyperelastic_box.py +0 -0
  173. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/incompressible_hyperelastic_box.py +0 -0
  174. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/cylindrical_coordinates_material_property.py +0 -0
  175. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/disc_HGO.py +0 -0
  176. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/intervertebral_disc/local_coordinate_system_generation.py +0 -0
  177. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_hyperelastic_box.py +0 -0
  178. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_incompressible_box.py +0 -0
  179. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/read_dofs_in_volume.py +0 -0
  180. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/young_modulus_field.py +0 -0
  181. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/bending_case/beam_with_fibers_macroscale.py +0 -0
  182. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/bending_case/beam_with_fibers_microscale.py +0 -0
  183. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/deformation_laboratory/microscale_deformation_lab.py +0 -0
  184. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/disc_micropolar_neo_hookean.py +0 -0
  185. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam.py +0 -0
  186. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean.py +0 -0
  187. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean_pure_dolfin.py +0 -0
  188. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Bauer_et_al/beam_neo_hookean_pure_dolfin_old.py +0 -0
  189. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/Suh_et_al/suh_implementation.py +0 -0
  190. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/micropolar_with_homogenization.py +0 -0
  191. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/micropolar_with_homogenization_original.py +0 -0
  192. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/tools_homogenization.py +0 -0
  193. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/old_tests/tools_io.py +0 -0
  194. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/stress_plots.py +0 -0
  195. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/numerical_differentiation.py +0 -0
  196. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/numerical_differentiation_second_elasticity_tensor.py +0 -0
  197. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/tangent_operators/tangent_operator_plotter.py +0 -0
  198. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/torsion_case/beam_with_fibers_macroscale.py +0 -0
  199. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/torsion_case/beam_with_fibers_microscale.py +0 -0
  200. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/traction_case/beam_with_fibers_macroscale.py +0 -0
  201. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/traction_case/beam_with_fibers_microscale.py +0 -0
  202. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/curve_fitting.py +0 -0
  203. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/cylindrical_coordinates_field.py +0 -0
  204. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/cylindrical_coordinates_material_property.py +0 -0
  205. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/elasticity_tensor.py +0 -0
  206. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/incompressible.py +0 -0
  207. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/linear_expression_test.py +0 -0
  208. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/petsc_2D.py +0 -0
  209. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_periodic.py +0 -0
  210. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_periodic_class.py +0 -0
  211. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/test_shifted_field.py +0 -0
  212. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/teste_afim.py +0 -0
  213. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/minimal_working_examples_forum/working_example_dictionaries.py +0 -0
  214. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/multiscale/hyperelasticity/beam_with_fibers_microscale.py +0 -0
  215. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/compressible_hyperelasticity.py +0 -0
  216. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/incompressible_hyperelasticity.py +0 -0
  217. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes/beam_gmsh.py +0 -0
  218. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes_paths.py +0 -0
  219. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/aa_tests_and_examples/various_physics_tests.py +0 -0
  220. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/constitutive_models/__init__.py +0 -0
  221. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/constitutive_models/heat_transfer/isotropic_heat_conduction.py +0 -0
  222. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/constitutive_models/hyperelasticity/__init__.py +0 -0
  223. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/constitutive_models/hyperelasticity/anisotropic_hyperelasticity.py +0 -0
  224. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/constitutive_models/hyperelasticity/isotropic_hyperelasticity.py +0 -0
  225. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/constitutive_models/hyperelasticity/micropolar_hyperelasticity.py +0 -0
  226. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/multiscale/__init__.py +0 -0
  227. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/__init__.py +0 -0
  228. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_classes.py +0 -0
  229. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_expressions.py +0 -0
  230. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/multiscale/multiscale_hyperelasticity.py +0 -0
  231. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/multiscale/multiscale_micropolar.py +0 -0
  232. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/physics/__init__.py +0 -0
  233. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/physics/hyperelastic_cauchy_continuum.py +0 -0
  234. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/physics/hyperelastic_incompressible_cauchy_continuum.py +0 -0
  235. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/physics/hyperelastic_micropolar_continuum.py +0 -0
  236. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/physics/steady_state_heat_transfer.py +0 -0
  237. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/post_processes/__init__.py +0 -0
  238. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/post_processes/post_processes_classes.py +0 -0
  239. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/post_processes/post_processes_functions.py +0 -0
  240. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/__init__.py +0 -0
  241. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/binary_tools.py +0 -0
  242. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/body_forces_loading_tools.py +0 -0
  243. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/boundary_conditions_tools.py +0 -0
  244. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/constitutive_tools.py +0 -0
  245. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/dirichlet_load_tools.py +0 -0
  246. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/expressions_tools.py +0 -0
  247. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/functional_tools.py +0 -0
  248. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/homogenization_tools.py +0 -0
  249. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/mesh_handling_tools.py +0 -0
  250. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/multiscale_boundary_conditions_tools.py +0 -0
  251. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/numerical_tools.py +0 -0
  252. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/parallelization_tools.py +0 -0
  253. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/post_processing_tools.py +0 -0
  254. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/pseudotime_stepping_tools.py +0 -0
  255. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/read_write_tools.py +0 -0
  256. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/surface_loading_tools.py +0 -0
  257. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/tensor_tools.py +0 -0
  258. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/variational_tools.py +0 -0
  259. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/MultiMech/tool_box/weak_boundary_conditions_tools.py +0 -0
  260. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/__init__.py +0 -0
  261. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/aa_tests/__init__.py +0 -0
  262. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/aa_tests/tests_template.py +0 -0
  263. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/aa_tests/txt_tests.py +0 -0
  264. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/coordinate_systems_tools.py +0 -0
  265. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/dictionary_tools.py +0 -0
  266. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/file_handling_tools.py +0 -0
  267. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/fonts/CMU_Serif_Roman.ttf +0 -0
  268. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/function_tools.py +0 -0
  269. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/interpolation_tools.py +0 -0
  270. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/math_experiments.py +0 -0
  271. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/numpy_tools.py +0 -0
  272. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/package_tools.py +0 -0
  273. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/path_tools.py +0 -0
  274. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/programming_tools.py +0 -0
  275. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/recursion_tools.py +0 -0
  276. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/string_tools.py +0 -0
  277. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/tensor_and_math_tools.py +0 -0
  278. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/testing_tools.py +0 -0
  279. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/PythonicUtilities/user_interaction_tools.py +0 -0
  280. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/StochasticUtilities/__init__.py +0 -0
  281. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/StochasticUtilities/aa_tests/__init__.py +0 -0
  282. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/StochasticUtilities/aa_tests/test_delaunay_tools.py +0 -0
  283. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/StochasticUtilities/domain_decomposition/__init__.py +0 -0
  284. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/StochasticUtilities/tool_box/__init__.py +0 -0
  285. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/StochasticUtilities/tool_box/delaunay_tools.py +0 -0
  286. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/StochasticUtilities/tool_box/sampling_tools.py +0 -0
  287. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/StochasticUtilities/tool_box/statistics_tools.py +0 -0
  288. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout/__init__.py +0 -0
  289. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout.egg-info/SOURCES.txt +0 -0
  290. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout.egg-info/dependency_links.txt +0 -0
  291. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/source/Davout.egg-info/requires.txt +0 -0
  292. {davout-0.1.1.dev156 → davout-0.1.1.dev158}/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.dev156
3
+ Version: 0.1.1.dev158
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.dev156"
66
+ version = "0.1.1.dev158"
67
67
  description = "Scientific computing utilities combining FEM, ANN and tooling"
68
68
  readme = "README.md"
69
69
  authors = [
@@ -352,10 +352,12 @@ class TestSVDArchitecture:
352
352
  n_evaluation_runs = 100
353
353
 
354
354
  # Selects the method for building each Householder vector from
355
- # the flat tensor of DOFs of each Householder chain
355
+ # the flat tensor of DOFs of each Householder chain. The default
356
+ # value is 'hardware-based suggestion' which chooses the imple-
357
+ # mentation based on the hardware: CPU or GPU. The default is
358
+ # CPU-oriented
356
359
 
357
- householder_vector_builder_method = ("get_householder_vector_f"+
358
- "rom_parameters")
360
+ householder_vector_builder_method = "hardware-based suggestion"
359
361
 
360
362
  # Sets sets of architectures
361
363
 
@@ -524,7 +526,8 @@ class TestSVDArchitecture:
524
526
  modulating_function_performance, "Householder epsilon": 1.0,
525
527
  "activations accessory layer list":
526
528
  accessory_activation_list_performance, "householder vector"+
527
- " builder method": householder_vector_builder_method}
529
+ " builder method": householder_vector_builder_method,
530
+ "hardware device": "CPU"}
528
531
 
529
532
  # Assembles the model
530
533
 
@@ -11,9 +11,11 @@ import os
11
11
 
12
12
  import tensorflow as tf
13
13
 
14
- from ...tool_box import ANN_tools
14
+ from .....Davout.DeepMech.tool_box import ANN_tools
15
15
 
16
- from ...tool_box import training_tools
16
+ from .....Davout.DeepMech.tool_box import training_tools
17
+
18
+ from .....Davout.PythonicUtilities.path_tools import get_parent_path_of_file
17
19
 
18
20
  # Defines a function to test the ANN tools methods
19
21
 
@@ -104,7 +106,60 @@ class TestANNTools(unittest.TestCase):
104
106
 
105
107
  self.save_model_file = "saved_model.keras"
106
108
 
107
- # Defines a function to test the gated architecture
109
+ self.parameters_dtype = "float64"
110
+
111
+ # Defines a function to test saving and reloading the model
112
+
113
+ def test_saving_and_loading(self):
114
+
115
+ print("\n#####################################################"+
116
+ "###################\n# Tests saving and"+
117
+ " loading #\n###########################"+
118
+ "#############################################\n")
119
+
120
+ # Sets the path to save the model
121
+
122
+ model_path = os.path.join(get_parent_path_of_file(), "gated_mo"+
123
+ "del.keras")
124
+
125
+ print("\nSaves the model at: "+str(model_path)+"\n")
126
+
127
+ # Saves the model
128
+
129
+ # Tests now with custom layers
130
+
131
+ ANN_class = ANN_tools.MultiLayerModel(
132
+ self.input_dimension_gradient_tests,
133
+ self.activation_list_gradient_tests, enforce_customLayers=True,
134
+ verbose=True, parameters_dtype=self.parameters_dtype,
135
+ custom_architecture={"name": "GatedQuotientSpace",
136
+ "quotient space dimension": self.quotient_space_dimension})
137
+
138
+ custom_model = ANN_class()
139
+
140
+ custom_model.save(model_path)
141
+
142
+ # Loads it back
143
+
144
+ loaded_model = tf.keras.models.load_model(model_path)
145
+
146
+ # Gets the training data as a tensorflow array
147
+
148
+ self.training_input_constant = tf.constant(self.training_data,
149
+ dtype=tf.as_dtype(self.parameters_dtype))
150
+
151
+ # Tests the loaded model
152
+
153
+ output_original = custom_model(self.training_input_constant)
154
+
155
+ output_loaded = loaded_model(self.training_input_constant)
156
+
157
+ print("Output from saved model:\n"+str(output_original))
158
+
159
+ print("\nOutput from loaded model:\n"+str(output_loaded)+"\n\n"+
160
+ "The maximum absolute difference between components of the ori"+
161
+ "ginal and loaded models is: "+str(tf.reduce_max(tf.abs(
162
+ output_original-output_loaded)).numpy())+"\n")
108
163
 
109
164
  def test_gated_nn(self):
110
165
 
@@ -38,15 +38,63 @@ class SVDQuotientSpace:
38
38
  "thod": {"type": str, "description": "String with the name of "+
39
39
  "the function that constructs each Householder vector from the"+
40
40
  " flat tensor of DOFs of the Householder chain for each orthog"+
41
- "onal matrix", "default": "get_householder_vector_from_paramet"+
42
- "ers"}}, "custom_architecture", "SVDQuotientSpace")
41
+ "onal matrix", "default": "hardware-based suggestion"}, "hardw"+
42
+ "are device": {"type": str, "description": "String with the na"+
43
+ "me of the device that runs the code. It can be either 'CPU' o"+
44
+ "r 'GPU'", "default": "CPU"}},
45
+ "custom_architecture", "SVDQuotientSpace")
43
46
 
44
- # Selects the method for computing the Householder vectors from
45
- # the flat tensor of parameters
47
+ # Checks whether the code is run in CPU or GPU
46
48
 
47
- self.method_for_householder_vector_from_parameters = getattr(
48
- self, architecture_info_dict["householder vector builder metho"+
49
- "d"])
49
+ if architecture_info_dict["hardware device"]=="CPU":
50
+
51
+ # Uses the method that stores the Householder DOFs in a Ten-
52
+ # sorArray. This method was benchmarked to be the fastest
53
+ # option in CPU
54
+
55
+ self.multiply_input_vector_by_householder_chain = (
56
+ self.multiply_input_vector_by_householder_chain_tensor_array)
57
+
58
+ # Selects, thus, the method that extracts and assembles the
59
+ # Householder vector
60
+
61
+ self.method_for_householder_vector_from_parameters = (
62
+ self.get_householder_vector_from_parameters_tensor_array)
63
+
64
+ elif architecture_info_dict["hardware device"]=="GPU":
65
+
66
+ # Uses the method that stores the Householder DOFs in a flat
67
+ # tensor, then each Householder vector is sliced from the
68
+ # flat tensor. This method was benchmarked to be the fastest
69
+ # option in GPU
70
+
71
+ self.multiply_input_vector_by_householder_chain = (
72
+ self.multiply_input_vector_by_householder_chain_slice)
73
+
74
+ # Selects, thus, the method that extracts and assembles the
75
+ # Householder vector
76
+
77
+ self.method_for_householder_vector_from_parameters = (
78
+ self.get_householder_vector_from_parameters_slice)
79
+
80
+ else:
81
+
82
+ raise ValueError("The value for the key 'hardware device' "+
83
+ "in 'SVDQuotientSpace' is '"+str(architecture_info_dict["h"+
84
+ "ardware device"])+"'. But it must be 'CPU' or 'GPU'")
85
+
86
+ # Checks if a specific method to get the Householder vector was
87
+ # prescribed by the used
88
+
89
+ if architecture_info_dict["householder vector builder method"
90
+ ]!="hardware-based suggestion":
91
+
92
+ # Selects the method for computing the Householder vectors
93
+ # from the flat tensor of parameters
94
+
95
+ self.method_for_householder_vector_from_parameters = getattr(
96
+ self, architecture_info_dict["householder vector builder m"+
97
+ "ethod"])
50
98
 
51
99
  # Stores variables that will be used in the get_config for seri-
52
100
  # alization and class rebuilding
@@ -1328,14 +1376,13 @@ class SVDQuotientSpace:
1328
1376
  # m_rank-1))], where m_rank is the number of columns of the final
1329
1377
  # orthogonal matrix, and n_rows is the number of rows. Receives the
1330
1378
  # index of the Householder reflector in the Householder chain to
1331
- # collect the corresponding Householder vector
1379
+ # collect the corresponding Householder vector. This function slices
1380
+ # the flat tensor of Householder parameters to recover the DOFs of
1381
+ # the current Householder vector
1332
1382
 
1333
- def get_householder_vector_from_parameters(self,
1383
+ def get_householder_vector_from_parameters_slice(self,
1334
1384
  householder_first_index, householder_length,
1335
- householder_number_of_leading_zeros,
1336
- #split_householder_DOFs,
1337
- householder_parameters,
1338
- #householder_dofs_tensor_array,
1385
+ householder_number_of_leading_zeros, householder_parameters,
1339
1386
  householder_reflector_index, input_dimensionality):
1340
1387
 
1341
1388
  # Gets the first and last indices of the Householder vector,
@@ -1349,16 +1396,52 @@ class SVDQuotientSpace:
1349
1396
  number_of_leading_zeros = householder_number_of_leading_zeros[
1350
1397
  householder_reflector_index]
1351
1398
 
1352
- #"""
1399
+ # Slices the DOFs of this Householder vector from the flat ten-
1400
+ # sor of DOFs of the Householder chain
1401
+
1353
1402
  raw_vector = tf.slice(householder_parameters, [initial_index], [
1354
- length])#"""
1403
+ length])
1404
+
1405
+ # Computes the average of the raw vector
1406
+
1407
+ average_raw_vector = tf.reduce_mean(raw_vector)
1408
+
1409
+ # Concatenates the non-free component of the Householder vector
1410
+ # to the first position
1411
+
1412
+ raw_vector = tf.math.l2_normalize(tf.concat([tf.sqrt(
1413
+ tf.math.square(average_raw_vector)+
1414
+ self.householder_epsilon_squared)[None], raw_vector], axis=0))
1415
+
1416
+ # Rescales the raw vector to have unit norm, then adds the trai-
1417
+ # ling zeros and returns it
1418
+
1419
+ return raw_vector, number_of_leading_zeros
1420
+
1421
+ # Defines a function to parse a single Householder vector from a
1422
+ # vector of all Householder vectors to construct an orthogonal ma-
1423
+ # trix. The incoming vector is a tensor [0.5*(m_rank*((2*n_rows)-
1424
+ # m_rank-1))], where m_rank is the number of columns of the final
1425
+ # orthogonal matrix, and n_rows is the number of rows. Receives the
1426
+ # index of the Householder reflector in the Householder chain to
1427
+ # collect the corresponding Householder vector. This function reco-
1428
+ # vers the DOFs of the Householder parameters from a TensorArray
1429
+
1430
+ def get_householder_vector_from_parameters_tensor_array(self,
1431
+ householder_first_index, householder_length,
1432
+ householder_number_of_leading_zeros, householder_dofs_tensor_array,
1433
+ householder_reflector_index, input_dimensionality):
1434
+
1435
+ # Gets the number of leading zeros of this Householder vector
1436
+
1437
+ number_of_leading_zeros = householder_number_of_leading_zeros[
1438
+ householder_reflector_index]
1355
1439
 
1356
- #raw_vector = split_householder_DOFs[householder_reflector_index]
1440
+ # Recovers the DOFs of this Householder vector from the Tensor-
1441
+ # Array
1357
1442
 
1358
- # TensorArray
1359
- """
1360
1443
  raw_vector = householder_dofs_tensor_array.read(
1361
- householder_reflector_index) #"""
1444
+ householder_reflector_index)
1362
1445
 
1363
1446
  # Computes the average of the raw vector
1364
1447
 
@@ -1386,10 +1469,7 @@ class SVDQuotientSpace:
1386
1469
  def multiply_input_vector_by_householder_reflector(self,
1387
1470
  input_vector, householder_reflector_index, householder_first_index,
1388
1471
  householder_length, householder_number_of_leading_zeros,
1389
- #split_householder_DOFs,
1390
- householder_parameters_orthogonal_matrix,
1391
- #householder_dofs_tensor_array,
1392
- input_dimensionality):
1472
+ tensor_with_householder_parameters, input_dimensionality):
1393
1473
 
1394
1474
  # Gets the Householder vector from the Householder parameters of
1395
1475
  # the B matrix. Keep in mind that the order of the Householder
@@ -1400,10 +1480,8 @@ class SVDQuotientSpace:
1400
1480
  ) = self.method_for_householder_vector_from_parameters(
1401
1481
  householder_first_index, householder_length,
1402
1482
  householder_number_of_leading_zeros,
1403
- #split_householder_DOFs,
1404
- householder_parameters_orthogonal_matrix,
1405
- #householder_dofs_tensor_array,
1406
- householder_reflector_index, input_dimensionality)
1483
+ tensor_with_householder_parameters, householder_reflector_index,
1484
+ input_dimensionality)
1407
1485
 
1408
1486
  # Multiplies the input vector by the Householder reflector (the
1409
1487
  # operation is already broken down into the rank-1 calculation).
@@ -1419,27 +1497,49 @@ class SVDQuotientSpace:
1419
1497
  # Defines a function to create a wrapper for the method that multi-
1420
1498
  # plies the input vector by an orthogonal matrix and, then, calls
1421
1499
  # foldl to evaluate the chain of Householder reflectors operating on
1422
- # the input vector
1500
+ # the input vector. This function passes the flat tensor of Househol-
1501
+ # der parameters and it is sliced to create the Householder vector
1423
1502
 
1424
- def multiply_input_vector_by_householder_chain(self, input_vector,
1425
- householder_reflector_indices, householder_first_index,
1503
+ def multiply_input_vector_by_householder_chain_slice(self,
1504
+ input_vector, householder_reflector_indices, householder_first_index,
1426
1505
  householder_length, householder_number_of_leading_zeros,
1427
1506
  householder_parameters_orthogonal_matrix, input_dimensionality):
1428
1507
 
1429
- # Splits the Householder DOFs of each Householder vector from
1430
- # the flat tensor of DOFs of the chain
1508
+ # Defines the step function that will perform each update of the
1509
+ # input tensor by means of the Householder reflector
1431
1510
 
1432
- #split_householder_DOFs = tf.split(
1433
- #householder_parameters_orthogonal_matrix, householder_length)
1511
+ def update_step(accumulator_vector, householder_reflector_index):
1434
1512
 
1435
- """
1436
- split_householder_DOFs = tf.RaggedTensor.from_row_lengths(
1437
- householder_parameters_orthogonal_matrix,
1438
- householder_length)#"""
1513
+ return self.multiply_input_vector_by_householder_reflector(
1514
+ accumulator_vector, householder_reflector_index,
1515
+ householder_first_index, householder_length,
1516
+ householder_number_of_leading_zeros,
1517
+ householder_parameters_orthogonal_matrix,
1518
+ input_dimensionality)
1519
+
1520
+ # Uses foldl to perform the chain multiplication
1521
+
1522
+ return tf.foldl(update_step, householder_reflector_indices,
1523
+ initializer=input_vector)
1524
+
1525
+ # Defines a function to create a wrapper for the method that multi-
1526
+ # plies the input vector by an orthogonal matrix and, then, calls
1527
+ # foldl to evaluate the chain of Householder reflectors operating on
1528
+ # the input vector. This function splits the flat tensor of Househol-
1529
+ # der parameters first and passes a TensorArray object to create the
1530
+ # Householder vector
1531
+
1532
+ def multiply_input_vector_by_householder_chain_tensor_array(
1533
+ self, input_vector, householder_reflector_indices,
1534
+ householder_first_index, householder_length,
1535
+ householder_number_of_leading_zeros,
1536
+ householder_parameters_orthogonal_matrix, input_dimensionality):
1537
+
1538
+ # Splits the Householder DOFs of each Householder vector from
1539
+ # the flat tensor of DOFs of the chain
1439
1540
 
1440
- """
1441
1541
  householder_dofs_tensor_array = self.split_flat_tensor_into_householder_dofs(
1442
- householder_parameters_orthogonal_matrix, householder_length)#"""
1542
+ householder_parameters_orthogonal_matrix, householder_length)
1443
1543
 
1444
1544
  # Defines the step function that will perform each update of the
1445
1545
  # input tensor by means of the Householder reflector
@@ -1450,10 +1550,7 @@ class SVDQuotientSpace:
1450
1550
  accumulator_vector, householder_reflector_index,
1451
1551
  householder_first_index, householder_length,
1452
1552
  householder_number_of_leading_zeros,
1453
- #split_householder_DOFs,
1454
- householder_parameters_orthogonal_matrix,
1455
- #householder_dofs_tensor_array,
1456
- input_dimensionality)
1553
+ householder_dofs_tensor_array, input_dimensionality)
1457
1554
 
1458
1555
  # Uses foldl to perform the chain multiplication
1459
1556
 
@@ -4,6 +4,8 @@ import tensorflow as tf
4
4
 
5
5
  import numpy as np
6
6
 
7
+ import inspect
8
+
7
9
  from ...DeepMech import custom_architectures
8
10
 
9
11
  from ..tool_box import differentiation_tools as diff_tools
@@ -679,8 +681,23 @@ class MixedActivationLayer(tf.keras.layers.Layer):
679
681
 
680
682
  code_info_dictionary = config.pop("code_given_info_class")
681
683
 
684
+ # Gets all the necessary arguments of CodeGivenLayerInfo
685
+
686
+ arguments_of_layer_info = inspect.signature(CodeGivenLayerInfo
687
+ ).parameters.keys()
688
+
689
+ # Completes the dictionary of code-given information to allow
690
+ # for the inclusion of keys that were not incorporated in older
691
+ # models. Notice that, for missing keys, the default value will
692
+ # be None
693
+
694
+ complete_dictionary = {argument_name: code_info_dictionary.get(
695
+ argument_name, None) for argument_name in arguments_of_layer_info}
696
+
697
+ # Instantiates the class of code-given information
698
+
682
699
  config["code_given_info_class"] = CodeGivenLayerInfo(
683
- **code_info_dictionary)
700
+ **complete_dictionary)
684
701
 
685
702
  return cls(**config)
686
703
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Davout
3
- Version: 0.1.1.dev156
3
+ Version: 0.1.1.dev158
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>
File without changes
File without changes
File without changes
File without changes