Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
MoReFEM
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
47
Issues
47
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MoReFEM
CoreLibrary
MoReFEM
Commits
81e5bd5c
Commit
81e5bd5c
authored
Jun 16, 2020
by
GILLES Sebastien
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#1443
Add for Elasticity model the from partitioned data test.
parent
2ec170c3
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1862 additions
and
245 deletions
+1862
-245
MoReFEM.xcodeproj/project.pbxproj
MoReFEM.xcodeproj/project.pbxproj
+8
-0
Sources/ModelInstances/Elasticity/CMakeLists.txt
Sources/ModelInstances/Elasticity/CMakeLists.txt
+118
-16
Sources/ModelInstances/Elasticity/InputData.hpp
Sources/ModelInstances/Elasticity/InputData.hpp
+2
-0
Sources/ModelInstances/Elasticity/demo_2d.lua
Sources/ModelInstances/Elasticity/demo_2d.lua
+24
-0
Sources/ModelInstances/Elasticity/demo_2d_binary.lua
Sources/ModelInstances/Elasticity/demo_2d_binary.lua
+22
-0
Sources/ModelInstances/Elasticity/demo_2d_binary_from_prepartitioned_data.lua
...es/Elasticity/demo_2d_binary_from_prepartitioned_data.lua
+89
-211
Sources/ModelInstances/Elasticity/demo_2d_from_prepartitioned_data.lua
...Instances/Elasticity/demo_2d_from_prepartitioned_data.lua
+576
-0
Sources/ModelInstances/Elasticity/demo_3d.lua
Sources/ModelInstances/Elasticity/demo_3d.lua
+22
-0
Sources/ModelInstances/Elasticity/demo_3d_binary.lua
Sources/ModelInstances/Elasticity/demo_3d_binary.lua
+22
-0
Sources/ModelInstances/Elasticity/demo_3d_binary_from_prepartitioned_data.lua
...es/Elasticity/demo_3d_binary_from_prepartitioned_data.lua
+466
-0
Sources/ModelInstances/Elasticity/demo_3d_from_prepartitioned_data.lua
...Instances/Elasticity/demo_3d_from_prepartitioned_data.lua
+466
-0
Sources/ModelInstances/Elasticity/test_results.cpp
Sources/ModelInstances/Elasticity/test_results.cpp
+47
-18
No files found.
MoReFEM.xcodeproj/project.pbxproj
View file @
81e5bd5c
...
...
@@ -3748,6 +3748,10 @@
BE510D821CB3D44900E953FE /* Component.doxygen */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Component.doxygen; sourceTree = "<group>"; };
BE5275222498C02500507228 /* demo.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo.lua; sourceTree = "<group>"; };
BE5275232498EA5000507228 /* demo_from_prepartitioned_data.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo_from_prepartitioned_data.lua; sourceTree = "<group>"; };
BE5275242499002700507228 /* demo_3d_binary_from_prepartitioned_data.lua */ = {isa = PBXFileReference; lastKnownFileType = text; path = demo_3d_binary_from_prepartitioned_data.lua; sourceTree = "<group>"; };
BE5275252499002700507228 /* demo_2d_binary_from_prepartitioned_data.lua */ = {isa = PBXFileReference; lastKnownFileType = text; path = demo_2d_binary_from_prepartitioned_data.lua; sourceTree = "<group>"; };
BE5275262499002700507228 /* demo_3d_from_prepartitioned_data.lua */ = {isa = PBXFileReference; lastKnownFileType = text; path = demo_3d_from_prepartitioned_data.lua; sourceTree = "<group>"; };
BE5275272499002800507228 /* demo_2d_from_prepartitioned_data.lua */ = {isa = PBXFileReference; lastKnownFileType = text; path = demo_2d_from_prepartitioned_data.lua; sourceTree = "<group>"; };
BE5301441E774418004CA0BA /* ApplySetCauchyGreenTensor.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ApplySetCauchyGreenTensor.hpp; path = Internal/ApplySetCauchyGreenTensor.hpp; sourceTree = "<group>"; };
BE5301451E774418004CA0BA /* ApplySetCauchyGreenTensor.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ApplySetCauchyGreenTensor.hxx; path = Internal/ApplySetCauchyGreenTensor.hxx; sourceTree = "<group>"; };
BE5389FB1C897FE400D80749 /* Mpi.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Mpi.hpp; sourceTree = "<group>"; };
...
...
@@ -8202,6 +8206,10 @@
BE6EA61F1EC32FFB0085E651 /* demo_2d.lua */,
BE7ABCE822DCDF0100238C51 /* demo_3d_binary.lua */,
BE7ABCE922DCDF0100238C51 /* demo_2d_binary.lua */,
BE5275252499002700507228 /* demo_2d_binary_from_prepartitioned_data.lua */,
BE5275272499002800507228 /* demo_2d_from_prepartitioned_data.lua */,
BE5275242499002700507228 /* demo_3d_binary_from_prepartitioned_data.lua */,
BE5275262499002700507228 /* demo_3d_from_prepartitioned_data.lua */,
BE4478861AA740F800665010 /* main.cpp */,
BECF3E3022E8D3A400FF951A /* main_update_lua_file.cpp */,
BE3B35FB1D91792500DB81A3 /* main_ensight_output.cpp */,
Sources/ModelInstances/Elasticity/CMakeLists.txt
View file @
81e5bd5c
...
...
@@ -42,7 +42,8 @@ add_test(ElasticityModel3D
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_3d.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Ascii
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel3D PROPERTIES TIMEOUT 50
)
...
...
@@ -53,16 +54,31 @@ add_test(ElasticityModel3D-mpi
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_3d.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel3D-mpi PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel3D-mpi-from-prepartitioned-data
${
OPEN_MPI_INCL_DIR
}
/../bin/mpirun
--oversubscribe
-np 4 MoReFEM4Elasticity
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_3d_from_prepartitioned_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel3D-mpi-from-prepartitioned-data PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel2D
MoReFEM4Elasticity
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_2d.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Ascii
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel2D PROPERTIES TIMEOUT 50
)
...
...
@@ -73,15 +89,30 @@ add_test(ElasticityModel2D-mpi
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_2d.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel2D-mpi PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel2D-mpi-from-prepartitioned-data
${
OPEN_MPI_INCL_DIR
}
/../bin/mpirun
--oversubscribe
-np 4 MoReFEM4Elasticity
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_2d_from_prepartitioned_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel2D-mpi-from-prepartitioned-data PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel3DEnsightOutput
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Ascii/Elasticity/3D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Ascii
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel3DEnsightOutput PROPERTIES TIMEOUT 50
)
...
...
@@ -89,15 +120,26 @@ add_test(ElasticityModel3DEnsightOutput-mpi
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii/Elasticity/3D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel3DEnsightOutput-mpi PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel3DEnsightOutput-mpi-from-prepartitioned-data
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Ascii/Elasticity/3D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel3DEnsightOutput-mpi-from-prepartitioned-data PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel2DEnsightOutput
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii/Elasticity/2D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Ascii
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel2DEnsightOutput PROPERTIES TIMEOUT 50
)
...
...
@@ -105,16 +147,27 @@ add_test(ElasticityModel2DEnsightOutput-mpi
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii/Elasticity/2D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel2DEnsightOutput-mpi PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel2DEnsightOutput-mpi-from-prepartitioned-data
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Ascii/Elasticity/2D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Ascii
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Ascii
)
set_tests_properties
(
ElasticityModel2DEnsightOutput-mpi-from-prepartitioned-data PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel3D-bin
MoReFEM4Elasticity
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_3d_binary.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Binary
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel3D-bin PROPERTIES TIMEOUT 50
)
...
...
@@ -125,16 +178,30 @@ add_test(ElasticityModel3D-mpi-bin
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_3d_binary.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel3D-mpi-bin PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel3D-mpi-bin-from-prepartitioned-data
${
OPEN_MPI_INCL_DIR
}
/../bin/mpirun
--oversubscribe
-np 4 MoReFEM4Elasticity
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_3d_binary_from_prepartitioned_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel3D-mpi-bin-from-prepartitioned-data PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel2D-bin
MoReFEM4Elasticity
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_2d_binary.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Binary
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel2D-bin PROPERTIES TIMEOUT 50
)
...
...
@@ -145,15 +212,29 @@ add_test(ElasticityModel2D-mpi-bin
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_2d_binary.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel2D-mpi-bin PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel2D-mpi-bin-from-prepartitioned-data
${
OPEN_MPI_INCL_DIR
}
/../bin/mpirun
--oversubscribe
-np 4 MoReFEM4Elasticity
--overwrite_directory
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_ROOT
}
/Sources/ModelInstances/Elasticity/demo_2d_binary_from_prepartitioned_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel2D-mpi-bin-from-prepartitioned-data PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel3DEnsightOutput-bin
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Binary/Elasticity/3D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Binary
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel3DEnsightOutput-bin PROPERTIES TIMEOUT 50
)
...
...
@@ -161,15 +242,26 @@ add_test(ElasticityModel3DEnsightOutput-mpi-bin
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary/Elasticity/3D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel3DEnsightOutput-mpi-bin PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel3DEnsightOutput-mpi-bin-from-prepartitioned-data
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Binary/Elasticity/3D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel3DEnsightOutput-mpi-from-prepartitioned-data PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel2DEnsightOutput-bin
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary/Elasticity/2D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Binary
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Seq/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel2DEnsightOutput-bin PROPERTIES TIMEOUT 50
)
...
...
@@ -177,10 +269,20 @@ add_test(ElasticityModel2DEnsightOutput-mpi-bin
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary/Elasticity/2D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary
)
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel2DEnsightOutput-mpi-bin PROPERTIES TIMEOUT 50
)
add_test
(
ElasticityModel2DEnsightOutput-mpi-bin-from-prepartitioned-data
MoReFEM4ElasticityEnsightOutput
-e MOREFEM_ROOT=
${
MOREFEM_ROOT
}
-i
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Binary/Elasticity/2D/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/Mpi4_FromPrepartitionedData/Binary
-e MOREFEM_PREPARTITIONED_DATA_DIR=
${
MOREFEM_TEST_OUTPUT_DIR
}
/PrepartitionedData/Binary
)
set_tests_properties
(
ElasticityModel3DEnsightOutput-mpi-bin-from-prepartitioned-data PROPERTIES TIMEOUT 50
)
morefem_install
(
MoReFEM4ElasticityEnsightOutput
)
add_executable
(
MoReFEM4ElasticityCheckResults
${
CMAKE_CURRENT_LIST_DIR
}
/test_results.cpp
)
...
...
Sources/ModelInstances/Elasticity/InputData.hpp
View file @
81e5bd5c
...
...
@@ -26,6 +26,7 @@
# include "Core/InputData/Instances/TimeManager/TimeManager.hpp"
# include "Core/InputData/Instances/Geometry/Mesh.hpp"
# include "Core/InputData/Instances/Solver/Petsc.hpp"
# include "Core/InputData/Instances/Parallelism/Parallelism.hpp"
# include "FormulationSolver/Crtp/VolumicAndSurfacicSource.hpp"
...
...
@@ -130,6 +131,7 @@ namespace MoReFEM
InputDataNS
::
VectorialTransientSource
<
EnumUnderlyingType
(
SourceIndex
::
volumic
)
>
,
InputDataNS
::
VectorialTransientSource
<
EnumUnderlyingType
(
SourceIndex
::
surfacic
)
>
,
InputDataNS
::
Parallelism
,
InputDataNS
::
Result
>
;
...
...
Sources/ModelInstances/Elasticity/demo_2d.lua
View file @
81e5bd5c
...
...
@@ -525,6 +525,30 @@ TransientSource2 = {
}
-- TransientSource2
Parallelism
=
{
-- What should be done for a parallel run. There are 4 possibilities:
-- 'Precompute': Precompute the data for a later parallel run and stop once it's done.
-- 'ParallelNoWrite': Run the code in parallel without using any pre-processed data and do not write down
-- the processed data.
-- 'Parallel': Run the code in parallel without using any pre-processed data and write down the processed
-- data.
-- 'RunFromPreprocessed': Run the code in parallel using pre-processed data.
-- Expected format: "VALUE"
-- Constraint: value_in(v, {'Precompute', 'ParallelNoWrite', 'Parallel', 'RunFromPreprocessed'})
policy
=
'Parallel'
,
-- Directory in which parallelism data will be written or read (depending on the policy).
-- Expected format: "VALUE"
directory
=
'${MOREFEM_PREPARTITIONED_DATA_DIR}/Elasticity/2D'
}
Result
=
{
...
...
Sources/ModelInstances/Elasticity/demo_2d_binary.lua
View file @
81e5bd5c
...
...
@@ -412,6 +412,28 @@ TransientSource2 = {
}
-- TransientSource2
Parallelism
=
{
-- What should be done for a parallel run. There are 4 possibilities:
-- 'Precompute': Precompute the data for a later parallel run and stop once it's done.
-- 'ParallelNoWrite': Run the code in parallel without using any pre-processed data and do not write down
-- the processed data.
-- 'Parallel': Run the code in parallel without using any pre-processed data and write down the processed
-- data.
-- 'RunFromPreprocessed': Run the code in parallel using pre-processed data.
-- Expected format: "VALUE"
-- Constraint: value_in(v, {'Precompute', 'ParallelNoWrite', 'Parallel', 'RunFromPreprocessed'})
policy
=
'Parallel'
,
-- Directory in which parallelism data will be written or read (depending on the policy).
-- Expected format: "VALUE"
directory
=
'${MOREFEM_PREPARTITIONED_DATA_DIR}/Elasticity/2D'
}
-- Result
Result
=
{
-- Directory in which all the results will be written. This path may use the environment variable
...
...
Sources/ModelInstances/Elasticity/demo_
input_elasticity_copy
.lua
→
Sources/ModelInstances/Elasticity/demo_
2d_binary_from_prepartitioned_data
.lua
View file @
81e5bd5c
...
...
@@ -4,12 +4,6 @@
-- transient
transient
=
{
-- Tells which policy is used to describe time evolution.
-- Expected format: "VALUE"
-- Constraint: value_in(v, {'constant_time_step', 'variable_time_step'}})
time_evolution_policy
=
"constant_time_step"
,
-- Time at the beginning of the code (in seconds).
-- Expected format: VALUE
-- Constraint: v >= 0.
...
...
@@ -19,16 +13,12 @@ transient = {
-- Expected format: VALUE
-- Constraint: v > 0.
timeStep
=
0
.
1
,
-- Minimum time step between two iterations, in seconds.
-- Expected format: VALUE
-- Constraint: v > 0.
minimum_time_step
=
0
.
1
,
-- Maximum time, if set to zero run a static case.
-- Expected format: VALUE
-- Constraint: v >= 0.
timeMax
=
0
.
timeMax
=
0
.
5
}
...
...
@@ -49,8 +39,6 @@ NumberingSubset1 = {
}
-- Unknown1: displacement.
Unknown1
=
{
-- Name of the unknown (used for displays in output).
...
...
@@ -329,116 +317,58 @@ Solid = {
VolumicMass
=
{
-- How is given the
parameter
(as a constant, as a Lua function, per quadrature point, etc...)
-- How is given the
Young modulus
(as a constant, as a Lua function, per quadrature point, etc...)
-- Expected format: "VALUE"
-- Constraint: value_in(v, {'ignore', 'constant', 'lua_function', '
at_quadrature_point', '
piecewise_constant_by_domain'})
-- Constraint: value_in(v, {'ignore', 'constant', 'lua_function', 'piecewise_constant_by_domain'})
nature
=
"constant"
,
-- Value of the volumic mass in the case nature is 'constant'(and also initial value if nature is
-- 'at_quadrature_point'; irrelevant otherwise).
-- Expected format: VALUE
-- Constraint: v > 0.
scalar_value
=
1
.,
-- Value of the volumic mass in the case nature is 'lua_function'(and also initial value if nature is
-- 'at_quadrature_point'; irrelevant otherwise).
-- Expected format: Function in Lua language, for instance:
-- -- function(arg1, arg2, arg3)
-- return arg1 + arg2 -
-- arg3
-- The value for the parameter, which type depends directly on the nature chosen:
-- If nature is 'constant', expected format is VALUE
-- If nature is 'piecewise_constant_by_domain', expected format is {[KEY1] = VALUE1, [KEY2] = VALUE2, ...}
-- If nature is 'lua_function', expected format is a Lua function with prototype function(x, y, z)
-- return x + y - z
-- end
-- sin, cos and tan require a 'math.'
-- preffix.
-- If you do not wish to provide one, put anything you want (e.g. 'none'): the
-- content is not interpreted by LuaOptionFile until an actual use of the underlying function.
lua_function
=
none
,
-- Domain indices of the parameter in the case nature is 'piecewise_constant_by_domain'. The various
-- domains given here must not intersect.
-- Expected format: {VALUE1, VALUE2, ...}
piecewise_constant_domain_id
=
{
},
-- Value of the parameter in the case nature is 'piecewise_constant_by_domain'.
-- Expected format: {VALUE1, VALUE2, ...}
piecewise_constant_domain_value
=
{
}
-- where x, y and z are global coordinates. sin, cos, tan, exp and so forth require a 'math.' preffix.
value
=
1
.
3
},
-- VolumicMass
PoissonRatio
=
{
-- How is given the
parameter
(as a constant, as a Lua function, per quadrature point, etc...)
-- How is given the
Young modulus
(as a constant, as a Lua function, per quadrature point, etc...)
-- Expected format: "VALUE"
-- Constraint: value_in(v, {'ignore', 'constant', 'lua_function', '
at_quadrature_point', '
piecewise_constant_by_domain'})
-- Constraint: value_in(v, {'ignore', 'constant', 'lua_function', 'piecewise_constant_by_domain'})
nature
=
"constant"
,
-- Value of the volumic mass in the case nature is 'constant'(and also initial value if nature is
-- 'at_quadrature_point'; irrelevant otherwise).
-- Expected format: VALUE
-- Constraint: v > 0.
scalar_value
=
0
.
3
,
-- Value of the volumic mass in the case nature is 'lua_function'(and also initial value if nature is
-- 'at_quadrature_point'; irrelevant otherwise).
-- Expected format: Function in Lua language, for instance:
-- -- function(arg1, arg2, arg3)
-- return arg1 + arg2 -
-- arg3
-- The value for the parameter, which type depends directly on the nature chosen:
-- If nature is 'constant', expected format is VALUE
-- If nature is 'piecewise_constant_by_domain', expected format is {[KEY1] = VALUE1, [KEY2] = VALUE2, ...}
-- If nature is 'lua_function', expected format is a Lua function with prototype function(x, y, z)
-- return x + y - z
-- end
-- sin, cos and tan require a 'math.'
-- preffix.
-- If you do not wish to provide one, put anything you want (e.g. 'none'): the
-- content is not interpreted by LuaOptionFile until an actual use of the underlying function.
lua_function
=
none
,
-- Domain indices of the parameter in the case nature is 'piecewise_constant_by_domain'. The various
-- domains given here must not intersect.
-- Expected format: {VALUE1, VALUE2, ...}
piecewise_constant_domain_id
=
{},
-- Value of the parameter in the case nature is 'piecewise_constant_by_domain'.
-- Expected format: {VALUE1, VALUE2, ...}
piecewise_constant_domain_value
=
{},
-- where x, y and z are global coordinates. sin, cos, tan, exp and so forth require a 'math.' preffix.
value
=
0
.
03846150295857715
,
},
-- PoissonRatio
YoungModulus
=
{
--
How is given the parameter
(as a constant, as a Lua function, per quadrature point, etc...)
--
- How is given the Young modulus
(as a constant, as a Lua function, per quadrature point, etc...)
-- Expected format: "VALUE"
-- Constraint: value_in(v, {'ignore', 'constant', 'lua_function', 'at_quadrature_point', 'piecewise_constant_by_domain'})
nature
=
'constant'
,
-- Value of the volumic mass in the case nature is 'constant'(and also initial value if nature is
-- 'at_quadrature_point'; irrelevant otherwise).
-- Expected format: VALUE
-- Constraint: v > 0.
scalar_value
=
3
.
e7
,
-- Value of the volumic mass in the case nature is 'lua_function'(and also initial value if nature is
-- 'at_quadrature_point'; irrelevant otherwise).
-- Expected format: Function in Lua language, for instance:
-- -- function(arg1, arg2, arg3)
-- return arg1 + arg2 -
-- arg3
-- Constraint: value_in(v, {'ignore', 'constant', 'lua_function', 'piecewise_constant_by_domain'})
nature
=
"constant"
,
-- The value for the parameter, which type depends directly on the nature chosen:
-- If nature is 'constant', expected format is VALUE
-- If nature is 'piecewise_constant_by_domain', expected format is {[KEY1] = VALUE1, [KEY2] = VALUE2, ...}
-- If nature is 'lua_function', expected format is a Lua function with prototype function(x, y, z)
-- return x + y - z
-- end
-- sin, cos and tan require a 'math.'
-- preffix.
-- If you do not wish to provide one, put anything you want (e.g. 'none'): the
-- content is not interpreted by LuaOptionFile until an actual use of the underlying function.
lua_function
=
none
,
-- Domain indices of the parameter in the case nature is 'piecewise_constant_by_domain'. The various
-- domains given here must not intersect.
-- Expected format: {VALUE1, VALUE2, ...}
piecewise_constant_domain_id
=
{},
-- Value of the parameter in the case nature is 'piecewise_constant_by_domain'.
-- Expected format: {VALUE1, VALUE2, ...}
piecewise_constant_domain_value
=
{},
-- where x, y and z are global coordinates. sin, cos, tan, exp and so forth require a 'math.' preffix.
value
=
8307692
.
023668617
,
},
-- YoungModulus
}
-- Solid
...
...
@@ -446,130 +376,78 @@ Solid = {
TransientSource1
=
{
-- How is given the transient source value (as a constant, as a Lua function, per quadrature point, etc...)
-- Expected format:
{"VALUE1", "VALUE2", ...}
-- Expected format:
"VALUE"
-- Constraint: value_in(v, {'ignore', 'constant', 'lua_function'})
nature
=
{
"ignore"
,
"ignore"
,
"ignore"
},
-- Value of the transient source in the case nature is 'constant'(and also initial value if nature is
-- 'at_quadrature_point'; irrelevant otherwise).
-- Expected format: {VALUE1, VALUE2, ...}
scalar_value
=
{
0
.
,
-
0
.
0001
,
0
.},
-- Value of the transient source in the case nature is 'lua_function'(and also initial value if nature is
-- 'at_quadrature_point'; irrelevant otherwise).
-- Function expects as arguments global coordinates (coordinates in the mesh).
-- Expected format: Function in Lua language, for instance:
-- -- function(arg1, arg2, arg3)
-- return arg1 + arg2 -
-- arg3
-- end
-- sin, cos and tan require a 'math.'
-- preffix.
-- If you do not wish to provide one, put anything you want (e.g. 'none'): the
-- content is not interpreted by LuaOptionFile until an actual use of the underlying function.
lua_function_x
=
none
,
-- Value of the transient source in the case nature is 'lua_function'(and also initial value if nature is
-- 'at_quadrature_point'; irrelevant otherwise).
-- Function expects as arguments global coordinates (coordinates in the mesh).
-- Expected format: Function in Lua language, for instance:
-- -- function(arg1, arg2, arg3)
-- return arg1 + arg2 -
-- arg3
-- end
-- sin, cos and tan require a 'math.'
-- preffix.
-- If you do not wish to provide one, put anything you want (e.g. 'none'): the
-- content is not interpreted by LuaOptionFile until an actual use of the underlying function.
lua_function_y
=
none
,
-- Value of the transient source in the case nature is 'lua_function'(and also initial value if nature is
-- 'at_quadrature_point'; irrelevant otherwise).
-- Function expects as arguments global coordinates (coordinates in the mesh).
-- Expected format: Function in Lua language, for instance:
-- -- function(arg1, arg2, arg3)
-- return arg1 + arg2 -
-- arg3
-- end
-- sin, cos and tan require a 'math.'
-- preffix.
-- If you do not wish to provide one, put anything you want (e.g. 'none'): the
-- content is not interpreted by LuaOptionFile until an actual use of the underlying function.
lua_function_z
=
none
nature
=
{
'ignore'
,
'ignore'
,
'ignore'
},
-- The value for the parameter, which type depends directly on the nature chosen:
-- If nature is 'constant', expected format is VALUE
-- If nature is 'piecewise_constant_by_domain', expected format is {[KEY1] = VALUE1, [KEY2] = VALUE2, ...}
-- If nature is 'lua_function', expected format is a Lua function with prototype function(x, y, z)
-- return x + y - z
-- end
-- where x, y and z are global coordinates. sin, cos, tan, exp and so forth require a 'math.' preffix.
value
=
{
0
.,
0
.,
0
.
}
}
-- TransientSource1
-- Surfacic source
TransientSource2
=
{