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.
- {davout-0.1.1.dev147/source/Davout.egg-info → davout-0.1.1.dev148}/PKG-INFO +1 -1
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/pyproject.toml +1 -1
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/custom_architectures/SVD_quotient_space.py +150 -65
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/differentiation_tools.py +8 -18
- davout-0.1.1.dev148/source/Davout/GraphUtilities/aa_tests/strain_tensors.py +127 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/testing_tools.py +2 -2
- {davout-0.1.1.dev147 → davout-0.1.1.dev148/source/Davout.egg-info}/PKG-INFO +1 -1
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout.egg-info/SOURCES.txt +1 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/LICENSE +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/README.md +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/setup.cfg +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/setup.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/RVE_artery.py +0 -0
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/non_transfinite/elastin_fiber_creator.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/RVE_artery_transfinite.py +0 -0
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/elastin_fiber_creator.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/transfinite/spherical_RVE.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/artery/artery_macroscale_ellipsoid.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/micropolar_meshes/beam_micropolar_case_1.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/artery_parameters.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/fiber_matrix_parameters.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/periodic_meshes/periodic_structure.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/solids/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/solids/intervertebral_disc.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/solids/whole_ensemble_of_geometries.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_cylinders.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_ellipsoids.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_generator.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_helicoids.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_prisms.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/geometric_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/mesh_data_retriever.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/meshing_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/region_finder.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/verification_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/PINNs/Physics/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/PINNs/Physics/elasticity_equation.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/PINNs/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/__init__.py +0 -0
- {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
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/SVD_framework/dataset_generator.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/SVD_framework/input_data_filler.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/SVD_framework/kinematics_surrogate_model.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/SVD_framework/young_modulus_field_generator.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/heat_equation.py +0 -0
- {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
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/mecsol_2026_quotient_space/dataset_generator.py +0 -0
- {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
- {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
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_optimization.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_ANN_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_SVD_tools.py +0 -0
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_math_tools.py +0 -0
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/aa_tests/tests_tool_box/test_tensor_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/custom_architectures/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/custom_architectures/convexity_concerned_NNs.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/custom_architectures/gated_quotient_space.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/custom_architectures/generic_feed_forward.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/ANN_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/SVD_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/activation_function_utilities.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/custom_activation_functions.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/loss_assembler_classes.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/loss_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/math_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/numerical_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/parameters_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/tensor_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/training_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/REPL_experiments.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/optimization/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/optimization/tests_optimization_methods.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/tests_batching.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/tests_finite_elements.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/tests_loss_function.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/tests_physics.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/unidimensional/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/unidimensional/bar_fea.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/unidimensional/hyperelastic_1D_energies.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/aa_tests/unidimensional/variational_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/assembly/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/assembly/body_forces_work.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/assembly/dirichlet_boundary_conditions_enforcer.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/assembly/hyperelastic_internal_work.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/assembly/surface_forces_work.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/constitutive_models/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/constitutive_models/hyperelastic_isotropic_models.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/elements_manager.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/finite_element_dispatcher.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/surface_elements/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/surface_elements/triangles.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/volume_elements/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/finite_elements/volume_elements/tetrahedrons.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/optimization/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/optimization/conditioning_matrices.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/optimization/loss_functions.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/optimization/neural_network_assembler.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/optimization/objective_function.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/physics/compressible_cauchy_hyperelasticy.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/constitutive_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/dirichlet_loading_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/math_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/mesh_info_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/mesh_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/neumann_loading_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/node_ordering.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/optimization_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/parametric_curves_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/sensitivity_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/FENN/tool_box/tensorflow_utilities.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/cauchy_tetrahedron.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/continuum_mechanics_potato_collage.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/fake_book_spines.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/null_space_architecture.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/tests_collage_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/tests_delaunay.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/tests_paraview_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/aa_tests/tests_plotting_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/collage_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/paraview_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/plotting_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/arrows_lines_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/box_and_markers_classes.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/box_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/collage_classes.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/curves_setter.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/image_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/interactivity_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/paraview_scripts.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/perspective_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/GraphUtilities/tool_box/text_excerpt_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/LaTeXUtilities.sty +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/aa_tests/latex_parser_tests.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/latex_parser.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/tool_box/command_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/tool_box/parsing_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/LaTeXUtilities/tool_box/sty_file_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/heat_transfer/heat_box.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/beam_with_fibers.py +0 -0
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_HGO.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/disc_neo_hookean.py +0 -0
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/hyperelastic_box.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/incompressible_hyperelastic_box.py +0 -0
- {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
- {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
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_hyperelastic_box.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/parallel_incompressible_box.py +0 -0
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/hyperelasticity/young_modulus_field.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/micropolar/stress_plots.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/compressible_hyperelasticity.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/physics_prototypes/incompressible_hyperelasticity.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes/beam_gmsh.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/test_meshes_paths.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/aa_tests_and_examples/various_physics_tests.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/heat_transfer/isotropic_heat_conduction.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/hyperelasticity/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/hyperelasticity/anisotropic_hyperelasticity.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/hyperelasticity/isotropic_hyperelasticity.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/constitutive_models/hyperelasticity/micropolar_hyperelasticity.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_classes.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/multiscale_boundary_conditions/multiscale_expressions.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/multiscale_hyperelasticity.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/multiscale/multiscale_micropolar.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/physics/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/physics/hyperelastic_cauchy_continuum.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/physics/hyperelastic_incompressible_cauchy_continuum.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/physics/hyperelastic_micropolar_continuum.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/physics/steady_state_heat_transfer.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/post_processes/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/post_processes/post_processes_classes.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/post_processes/post_processes_functions.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/binary_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/body_forces_loading_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/boundary_conditions_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/constitutive_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/dirichlet_load_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/expressions_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/functional_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/homogenization_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/mesh_handling_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/multiscale_boundary_conditions_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/numerical_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/parallelization_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/post_processing_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/pseudotime_stepping_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/read_write_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/surface_loading_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/tensor_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/variational_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/MultiMech/tool_box/weak_boundary_conditions_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/aa_tests/tests_template.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/aa_tests/txt_tests.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/coordinate_systems_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/dictionary_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/file_handling_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/fonts/CMU_Serif_Roman.ttf +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/function_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/interpolation_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/math_experiments.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/numpy_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/package_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/path_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/programming_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/recursion_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/string_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/tensor_and_math_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/user_interaction_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/aa_tests/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/aa_tests/test_delaunay_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/domain_decomposition/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/tool_box/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/tool_box/delaunay_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/tool_box/sampling_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/StochasticUtilities/tool_box/statistics_tools.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/__init__.py +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout.egg-info/dependency_links.txt +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout.egg-info/requires.txt +0 -0
- {davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout.egg-info/top_level.txt +0 -0
|
@@ -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
|
-
|
|
727
|
-
"
|
|
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+
|
|
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
|
-
|
|
1215
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1362
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1379
|
-
|
|
1440
|
+
#"""
|
|
1441
|
+
householder_dofs_tensor_array = self.split_flat_tensor_into_householder_dofs(
|
|
1442
|
+
householder_parameters_orthogonal_matrix, householder_length)#"""
|
|
1380
1443
|
|
|
1381
|
-
|
|
1382
|
-
|
|
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
|
-
|
|
1453
|
+
#split_householder_DOFs,
|
|
1454
|
+
#householder_parameters_orthogonal_matrix,
|
|
1455
|
+
householder_dofs_tensor_array,
|
|
1386
1456
|
input_dimensionality)
|
|
1387
1457
|
|
|
1388
|
-
#
|
|
1458
|
+
# Uses foldl to perform the chain multiplication
|
|
1389
1459
|
|
|
1390
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/DeepMech/tool_box/differentiation_tools.py
RENAMED
|
@@ -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
|
-
|
|
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.
|
|
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()
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/PythonicUtilities/testing_tools.py
RENAMED
|
@@ -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")+"
|
|
186
|
-
"
|
|
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(
|
|
@@ -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
|
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/RVEs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/aa_tests/solids/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_cylinders.py
RENAMED
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_ellipsoids.py
RENAMED
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_generator.py
RENAMED
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_helicoids.py
RENAMED
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/solids/cuboid_prisms.py
RENAMED
|
File without changes
|
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/geometric_tools.py
RENAMED
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/mesh_data_retriever.py
RENAMED
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/meshing_tools.py
RENAMED
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/region_finder.py
RENAMED
|
File without changes
|
{davout-0.1.1.dev147 → davout-0.1.1.dev148}/source/Davout/CuboidGmsh/tool_box/verification_tools.py
RENAMED
|
File without changes
|