Commit 3bf0b539 authored by GILLES Sebastien's avatar GILLES Sebastien

#1443 Hyperelastic model: add the run from prepartitioned data in the test. In...

#1443 Hyperelastic model: add the run from prepartitioned data in the test. In the process, clean up the various Lua file present there and keep only 2.
parent 5ba5a3d5
......@@ -3351,7 +3351,6 @@
BE3B364F1D9183A700DB81A3 /* Ensight4Stokes */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Ensight4Stokes; sourceTree = BUILT_PRODUCTS_DIR; };
BE3B366D1D9183C200DB81A3 /* Ensight4Heat */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Ensight4Heat; sourceTree = BUILT_PRODUCTS_DIR; };
BE3B368B1D9183FD00DB81A3 /* Ensight4RivlinCube */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Ensight4RivlinCube; sourceTree = BUILT_PRODUCTS_DIR; };
BE3B7E2822F02AFE00F76A79 /* demo_test.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo_test.lua; sourceTree = "<group>"; };
BE3B7E2C22F0A20200F76A79 /* Helper.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = Helper.cpp; sourceTree = "<group>"; };
BE3B7E2D22F0A20200F76A79 /* Helper.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Helper.hxx; sourceTree = "<group>"; };
BE3B7E2E22F0A20200F76A79 /* Helper.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Helper.hpp; sourceTree = "<group>"; };
......@@ -3747,6 +3746,8 @@
BE510D801CB3D44900E953FE /* CompNA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CompNA.cpp; sourceTree = "<group>"; };
BE510D811CB3D44900E953FE /* CompNA.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = CompNA.hpp; sourceTree = "<group>"; };
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>"; };
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>"; };
......@@ -3898,7 +3899,6 @@
BE6E4EE01B2ABE8B0049BB2D /* AccessGhostContent.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = AccessGhostContent.hxx; sourceTree = "<group>"; };
BE6EA61E1EC32FFB0085E651 /* demo_3d.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo_3d.lua; sourceTree = "<group>"; };
BE6EA61F1EC32FFB0085E651 /* demo_2d.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo_2d.lua; sourceTree = "<group>"; };
BE6EA6201EC330820085E651 /* demo_input_hyperelasticity.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo_input_hyperelasticity.lua; sourceTree = "<group>"; };
BE6EA6211EC331BC0085E651 /* demo_input_heat_1d.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo_input_heat_1d.lua; sourceTree = "<group>"; };
BE6EA6221EC331BC0085E651 /* demo_input_heat.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo_input_heat.lua; sourceTree = "<group>"; };
BE6EA6231EC332A70085E651 /* demo_input_test_parameter_time_dependency.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo_input_test_parameter_time_dependency.lua; sourceTree = "<group>"; };
......@@ -4212,11 +4212,11 @@
BE8E21CC207FA4D800E24E6D /* CompareEnsightFiles.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = CompareEnsightFiles.hxx; sourceTree = "<group>"; };
BE8E21CD207FA4D800E24E6D /* CompareEnsightFiles.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = CompareEnsightFiles.hpp; sourceTree = "<group>"; };
BE8E21CF207FA60000E24E6D /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
BE8E697024916B75000FEFBA /* unused-local-typedef.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = "unused-local-typedef.hpp"; sourceTree = "<group>"; };
BE8E697124916C2F000FEFBA /* reorder.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = reorder.hpp; sourceTree = "<group>"; };
BE8E696A249118AF000FEFBA /* ComputeGeometricEltList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComputeGeometricEltList.cpp; path = Internal/ComputeGeometricEltList.cpp; sourceTree = "<group>"; };
BE8E696B249118AF000FEFBA /* ComputeGeometricEltList.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = ComputeGeometricEltList.hxx; path = Internal/ComputeGeometricEltList.hxx; sourceTree = "<group>"; };
BE8E696C249118AF000FEFBA /* ComputeGeometricEltList.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = ComputeGeometricEltList.hpp; path = Internal/ComputeGeometricEltList.hpp; sourceTree = "<group>"; };
BE8E697024916B75000FEFBA /* unused-local-typedef.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = "unused-local-typedef.hpp"; sourceTree = "<group>"; };
BE8E697124916C2F000FEFBA /* reorder.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = reorder.hpp; sourceTree = "<group>"; };
BE8F0E391A8110EE00D81C9F /* ___FILEBASENAME___.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "___FILEBASENAME___.cpp"; sourceTree = "<group>"; };
BE8F0E3A1A8110EE00D81C9F /* ___FILEBASENAME___.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = "___FILEBASENAME___.hpp"; sourceTree = "<group>"; };
BE8F0E3B1A8110EE00D81C9F /* ___FILEBASENAME___.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = "___FILEBASENAME___.hxx"; sourceTree = "<group>"; };
......@@ -4238,7 +4238,6 @@
BE93B31C1F0536DA004F84CF /* OutputDeformedMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OutputDeformedMesh.cpp; sourceTree = "<group>"; };
BE93B31D1F0536DA004F84CF /* OutputDeformedMesh.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = OutputDeformedMesh.hpp; sourceTree = "<group>"; };
BE93B31E1F0536DA004F84CF /* OutputDeformedMesh.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = OutputDeformedMesh.hxx; sourceTree = "<group>"; };
BE940F672481390D0095C5BB /* demo_initial.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo_initial.lua; sourceTree = "<group>"; };
BE9453992100BCA500953B84 /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
BE94539B2100BCA500953B84 /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
BE94539C2100BCA500953B84 /* demo_morefem_data.lua */ = {isa = PBXFileReference; lastKnownFileType = text; path = demo_morefem_data.lua; sourceTree = "<group>"; };
......@@ -4588,7 +4587,6 @@
BECEF92A22DF5D5E00D0DDE7 /* Now.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Now.hpp; sourceTree = "<group>"; };
BECEF93322DF640900D0DDE7 /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
BECEF93422DF640A00D0DDE7 /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
BECEF93522DF7B0200D0DDE7 /* demo_result_directory_start_time.lua */ = {isa = PBXFileReference; lastKnownFileType = text; path = demo_result_directory_start_time.lua; sourceTree = "<group>"; };
BECF3E1E22E8A39E00FF951A /* LuaFormat.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = LuaFormat.hpp; sourceTree = "<group>"; };
BECF3E1F22E8A39F00FF951A /* LuaFormat.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = LuaFormat.hxx; sourceTree = "<group>"; };
BECF3E3022E8D3A400FF951A /* main_update_lua_file.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main_update_lua_file.cpp; sourceTree = "<group>"; };
......@@ -4784,7 +4782,6 @@
BEF795D922DDBFCD0054B192 /* demo.lua */ = {isa = PBXFileReference; lastKnownFileType = text; path = demo.lua; sourceTree = "<group>"; };
BEF795DA22DDBFCD0054B192 /* ToyModel.hxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = ToyModel.hxx; sourceTree = "<group>"; };
BEF795DD22DDDE430054B192 /* BinaryOrAscii.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = BinaryOrAscii.hpp; sourceTree = "<group>"; };
BEF8E7362487E0F500C3EE7A /* demo_rerun.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = demo_rerun.lua; sourceTree = "<group>"; };
BEF9835B180451CF00E7905D /* Factory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Factory.cpp; sourceTree = "<group>"; };
BEF9835C180451CF00E7905D /* Factory.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Factory.hpp; sourceTree = "<group>"; };
BEF9B613231EA647009A680D /* GetRankDirectory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GetRankDirectory.cpp; sourceTree = "<group>"; };
......@@ -5614,13 +5611,10 @@
137F2B081E38B22900BD6083 /* Hyperelasticity */ = {
isa = PBXGroup;
children = (
BE940F672481390D0095C5BB /* demo_initial.lua */,
BEF8E7362487E0F500C3EE7A /* demo_rerun.lua */,
BE0AFB7220750C570089FD9D /* CMakeLists.txt */,
BEB0C6171EC3054500D62905 /* README */,
BE6EA6201EC330820085E651 /* demo_input_hyperelasticity.lua */,
BE3B7E2822F02AFE00F76A79 /* demo_test.lua */,
BECEF93522DF7B0200D0DDE7 /* demo_result_directory_start_time.lua */,
BE5275222498C02500507228 /* demo.lua */,
BE5275232498EA5000507228 /* demo_from_prepartitioned_data.lua */,
137F2B091E38B22900BD6083 /* InputData.hpp */,
137F2B0A1E38B22900BD6083 /* main.cpp */,
137F2B0B1E38B22900BD6083 /* main_ensight_output.cpp */,
......@@ -41,8 +41,9 @@ add_test(Hyperelasticity
MoReFEM4Hyperelasticity
--overwrite_directory
-e MOREFEM_ROOT=${MOREFEM_ROOT}
-i ${MOREFEM_ROOT}/Sources/ModelInstances/Hyperelasticity/demo_input_hyperelasticity.lua
-e MOREFEM_RESULT_DIR=${MOREFEM_TEST_OUTPUT_DIR}/Seq)
-i ${MOREFEM_ROOT}/Sources/ModelInstances/Hyperelasticity/demo.lua
-e MOREFEM_RESULT_DIR=${MOREFEM_TEST_OUTPUT_DIR}/Seq
-e MOREFEM_PREPARTITIONED_DATA_DIR=${MOREFEM_TEST_OUTPUT_DIR}/PrepartitionedData)
set_tests_properties(Hyperelasticity PROPERTIES TIMEOUT 120)
......@@ -52,16 +53,30 @@ add_test(Hyperelasticity-mpi
-np 4 MoReFEM4Hyperelasticity
--overwrite_directory
-e MOREFEM_ROOT=${MOREFEM_ROOT}
-i ${MOREFEM_ROOT}/Sources/ModelInstances/Hyperelasticity/demo_input_hyperelasticity.lua
-e MOREFEM_RESULT_DIR=${MOREFEM_TEST_OUTPUT_DIR}/Mpi4)
-i ${MOREFEM_ROOT}/Sources/ModelInstances/Hyperelasticity/demo.lua
-e MOREFEM_RESULT_DIR=${MOREFEM_TEST_OUTPUT_DIR}/Mpi4
-e MOREFEM_PREPARTITIONED_DATA_DIR=${MOREFEM_TEST_OUTPUT_DIR}/PrepartitionedData)
set_tests_properties(Hyperelasticity-mpi PROPERTIES TIMEOUT 120)
add_test(Hyperelasticity-rerun-mpi
${OPEN_MPI_INCL_DIR}/../bin/mpirun
--oversubscribe
-np 4 MoReFEM4Hyperelasticity
--overwrite_directory
-e MOREFEM_ROOT=${MOREFEM_ROOT}
-i ${MOREFEM_ROOT}/Sources/ModelInstances/Hyperelasticity/demo_from_prepartitioned_data.lua
-e MOREFEM_RESULT_DIR=${MOREFEM_TEST_OUTPUT_DIR}/Mpi4_FromPrepartitionedData
-e MOREFEM_PREPARTITIONED_DATA_DIR=${MOREFEM_TEST_OUTPUT_DIR}/PrepartitionedData)
set_tests_properties(Hyperelasticity-rerun-mpi PROPERTIES TIMEOUT 120)
add_test(HyperelasticityModelEnsightOutput
MoReFEM4HyperelasticityEnsightOutput
-e MOREFEM_ROOT=${MOREFEM_ROOT}
-i ${MOREFEM_TEST_OUTPUT_DIR}/Seq/MidpointHyperelasticity/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=${MOREFEM_TEST_OUTPUT_DIR}/Seq)
-e MOREFEM_RESULT_DIR=${MOREFEM_TEST_OUTPUT_DIR}/Seq
-e MOREFEM_PREPARTITIONED_DATA_DIR=${MOREFEM_TEST_OUTPUT_DIR}/PrepartitionedData)
set_tests_properties(HyperelasticityModelEnsightOutput PROPERTIES TIMEOUT 20)
......@@ -69,10 +84,20 @@ add_test(HyperelasticityModelEnsightOutput-mpi
MoReFEM4HyperelasticityEnsightOutput
-e MOREFEM_ROOT=${MOREFEM_ROOT}
-i ${MOREFEM_TEST_OUTPUT_DIR}/Mpi4/MidpointHyperelasticity/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=${MOREFEM_TEST_OUTPUT_DIR}/Mpi4)
-e MOREFEM_RESULT_DIR=${MOREFEM_TEST_OUTPUT_DIR}/Mpi4
-e MOREFEM_PREPARTITIONED_DATA_DIR=${MOREFEM_TEST_OUTPUT_DIR}/PrepartitionedData)
set_tests_properties(HyperelasticityModelEnsightOutput-mpi PROPERTIES TIMEOUT 20)
add_test(HyperelasticityModelEnsightOutput-rerun-mpi
MoReFEM4HyperelasticityEnsightOutput
-e MOREFEM_ROOT=${MOREFEM_ROOT}
-i ${MOREFEM_TEST_OUTPUT_DIR}/Mpi4_FromPrepartitionedData/MidpointHyperelasticity/Rank_0/input_data.lua
-e MOREFEM_RESULT_DIR=${MOREFEM_TEST_OUTPUT_DIR}/Mpi4_FromPrepartitionedData
-e MOREFEM_PREPARTITIONED_DATA_DIR=${MOREFEM_TEST_OUTPUT_DIR}/PrepartitionedData)
set_tests_properties(HyperelasticityModelEnsightOutput-rerun-mpi PROPERTIES TIMEOUT 20)
add_test(HyperelasticityCheckResults
MoReFEM4HyperelasticityCheckResults
--
......
../demo_input_hyperelasticity.lua
\ No newline at end of file
../demo.lua
\ No newline at end of file
......@@ -19,7 +19,7 @@ transient = {
-- Maximum time, if set to zero run a static case.
-- Expected format: VALUE
-- Constraint: v >= 0.
timeMax = 2
timeMax = 2.
} -- transient
......@@ -59,7 +59,9 @@ Unknown1 = {
Mesh1 = {
-- Path of the mesh file to use.
-- Path of the mesh file to use.
-- IMPORTANT: if run from preprocessed data, this path won't be used (the already cut mesh will be used
-- instead).
-- Expected format: "VALUE"
mesh = '${MOREFEM_ROOT}/Data/Mesh/Bar.mesh',
......@@ -200,7 +202,6 @@ Domain3 = {
Domain4 = {
-- Index of the geometric mesh upon which the domain is defined (as defined in the present file). Might be
-- left empty if domain not limited to one mesh; at most one value is expected here.
-- Expected format: { VALUE1, VALUE2, ...}
......@@ -516,37 +517,39 @@ Solid = {
}, -- Kappa2
-- If the displacement induced by the applied loading is strong enough it can lead to inverted elements:
-- some vertices of the element are moved such that the volume of the finite element becomes negative.
-- This means that the resulting deformed mesh is no longer valid.
-- This parameter enables a computationally expensive test on all quadrature points to check that the volume
-- of all finite elements remains positive throughout the computation.
CheckInvertedElements = false
} -- Solid
-- If the displacement induced by the applied loading is strong enoughit can lead to inverted elements:
-- some vertices of the element are movedsuch that the volume of the finite element becomes negative. This
-- meansthat the resulting deformed mesh is no longer valid. This parameter enables acomputationally
-- expensive test on all quadrature points to check that the volumeof all finite elements remains positive
-- throughout the computation.
-- Expected format: 'true' or 'false' (without the quote)
CheckInvertedElements = false
} -- Solid
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',
-- 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',
-- If Policy is 'RunFromPreprocessed', path to the directory which contains the pre-processed data.
-- Expected format: "VALUE"
directory = '${MOREFEM_RESULT_DIR}/MidpointHyperelasticity_Parallelism'
-- Directory in which parallelism data will be written or read (depending on the policy).
-- Expected format: "VALUE"
directory = '${MOREFEM_PREPARTITIONED_DATA_DIR}/MidpointHyperelasticity'
} -- Parallelism
Result = {
......
......@@ -19,7 +19,7 @@ transient = {
-- Maximum time, if set to zero run a static case.
-- Expected format: VALUE
-- Constraint: v >= 0.
timeMax = 0.
timeMax = 2.
} -- transient
......@@ -59,7 +59,9 @@ Unknown1 = {
Mesh1 = {
-- Path of the mesh file to use.
-- Path of the mesh file to use.
-- IMPORTANT: if run from preprocessed data, this path won't be used (the already cut mesh will be used
-- instead).
-- Expected format: "VALUE"
mesh = '${MOREFEM_ROOT}/Data/Mesh/Bar.mesh',
......@@ -257,7 +259,7 @@ EssentialBoundaryCondition1 = {
-- Values at each of the relevant component.
-- Expected format: { VALUE1, VALUE2, ...}
value = { 0., 0., 0. },
value = { 0, 0, 0 },
-- Index of the domain onto which essential boundary condition is defined.
......@@ -406,7 +408,7 @@ TransientSource1 = {
-- ]]
-- where x, y and z are global coordinates. sin, cos, tan, exp and so forth require a 'math.' preffix.
-- Expected format: { VALUE1, VALUE2, ...}
value = { 0., 300., 0. }
value = { 0, 300, 0 }
} -- TransientSource1
......@@ -434,7 +436,7 @@ Solid = {
-- ]]
-- where x, y and z are global coordinates. sin, cos, tan, exp and so forth require a 'math.' preffix.
-- Expected format: see the variant description...
value = 1.
value = 1
}, -- VolumicMass
......@@ -460,7 +462,7 @@ Solid = {
-- ]]
-- where x, y and z are global coordinates. sin, cos, tan, exp and so forth require a 'math.' preffix.
-- Expected format: see the variant description...
value = 1750000.
value = 1750000
}, -- HyperelasticBulk
......@@ -486,7 +488,7 @@ Solid = {
-- ]]
-- where x, y and z are global coordinates. sin, cos, tan, exp and so forth require a 'math.' preffix.
-- Expected format: see the variant description...
value = 500.
value = 500
}, -- Kappa1
......@@ -515,39 +517,39 @@ Solid = {
value = 403346.153846154
}, -- Kappa2
-- If the displacement induced by the applied loading is strong enough it can lead to inverted elements:
-- some vertices of the element are moved such that the volume of the finite element becomes negative.
-- This means that the resulting deformed mesh is no longer valid.
-- This parameter enables a computationally expensive test on all quadrature points to check that the volume
-- of all finite elements remains positive throughout the computation.
CheckInvertedElements = false
} -- Solid
-- If the displacement induced by the applied loading is strong enoughit can lead to inverted elements:
-- some vertices of the element are movedsuch that the volume of the finite element becomes negative. This
-- meansthat the resulting deformed mesh is no longer valid. This parameter enables acomputationally
-- expensive test on all quadrature points to check that the volumeof all finite elements remains positive
-- throughout the computation.
-- Expected format: 'true' or 'false' (without the quote)
CheckInvertedElements = false
} -- Solid
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 = 'RunFromPreprocessed',
-- 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 = 'RunFromPreprocessed',
-- If Policy is 'RunFromPreprocessed', path to the directory which contains the pre-processed data.
-- Expected format: "VALUE"y
directory = '/Users/sebastien/Codes/MoReFEM/CoreLibrary/build/Hyperelasticity_Parallelism'
-- Directory in which parallelism data will be written or read (depending on the policy).
-- Expected format: "VALUE"
directory = '${MOREFEM_PREPARTITIONED_DATA_DIR}/MidpointHyperelasticity'
} -- Parallelism
Result = {
......@@ -558,7 +560,7 @@ Result = {
-- YYYY_MM_DD_HH_MM_SS.Please do not read the value directly from this Lua file: whenever you need the path
-- to the result directory, use instead MoReFEMData::GetResultDirectory().
-- Expected format: "VALUE"
output_directory = '${MOREFEM_RESULT_DIR}/MidpointHyperelasticity', -- /${MOREFEM_START_TIME}',
output_directory = '${MOREFEM_RESULT_DIR}/MidpointHyperelasticity',
-- Enables to skip some printing in the console. Can be used to WriteSolution every n time.
......
-- Comment lines are introduced by "--".
-- In a section (i.e. within braces), all entries must be separated by a comma.
transient = {
-- Time at the beginning of the code (in seconds).
-- Expected format: VALUE
-- Constraint: v >= 0.
init_time = 0.,
-- Time step between two iterations, in seconds.
-- Expected format: VALUE
-- Constraint: v > 0.
timeStep = 0.1,
-- Maximum time, if set to zero run a static case.
-- Expected format: VALUE
-- Constraint: v >= 0.
timeMax = No default value was provided!
} -- transient
NumberingSubset1 = {
-- Name of the numbering subset (not really used; at the moment I just need one input parameter to ground
-- the possible values to choose elsewhere).
-- Expected format: "VALUE"
name = No default value was provided!,
-- Whether a vector defined on this numbering subset might be used to compute a movemesh. If true, a
-- FEltSpace featuring this numbering subset will compute additional quantities to enable fast computation.
-- This should be false for most numbering subsets, and when it's true the sole unknown involved should be a
-- displacement.
-- Expected format: 'true' or 'false' (without the quote)
do_move_mesh = false
} -- NumberingSubset1
Unknown1 = {
-- Name of the unknown (used for displays in output).
-- Expected format: "VALUE"
name = No default value was provided!,
-- Index of the god of dof into which the finite element space is defined.
-- Expected format: "VALUE"
-- Constraint: value_in(v, {'scalar', 'vectorial'})
nature = No default value was provided!
} -- Unknown1
Mesh1 = {
-- Path of the mesh file to use.
-- Expected format: "VALUE"
mesh = No default value was provided!,
-- Format of the input mesh.
-- Expected format: "VALUE"
-- Constraint: value_in(v, {'Ensight', 'Medit'})
format = "Medit",
-- Highest dimension of the input mesh. This dimension might be lower than the one effectively read in the
-- mesh file; in which case Coords will be reduced provided all the dropped values are 0. If not, an
-- exception is thrown.
-- Expected format: VALUE
-- Constraint: v <= 3 and v > 0
dimension = No default value was provided!,
-- Space unit of the mesh.
-- Expected format: VALUE
space_unit = 1.
} -- Mesh1
Domain1 = {
-- Index of the geometric mesh upon which the domain is defined (as defined in the present file). Might be
-- left empty if domain not limited to one mesh; at most one value is expected here.
-- Expected format: { VALUE1, VALUE2, ...}
mesh_index = No default value was provided!,
-- List of dimensions encompassed by the domain. Might be left empty if no restriction at all upon
-- dimensions.
-- Expected format: { VALUE1, VALUE2, ...}
-- Constraint: value_in(v, {0, 1, 2, 3})
dimension_list = No default value was provided!,
-- List of mesh labels encompassed by the domain. Might be left empty if no restriction at all upon mesh
-- labels. This parameter does not make sense if no mesh is defined for the domain.
-- Expected format: { VALUE1, VALUE2, ...}
mesh_label_list = No default value was provided!,
-- List of geometric element types considered in the domain. Might be left empty if no restriction upon
-- these. No constraint is applied at  LuaOptionFile level, as some geometric element types could be added
-- after generation of current input data file. Current list is below; if an incorrect value is put there it
-- will be detected a bit later when the domain object is built.
-- The known types when this file was generated are:
-- . Point1
-- . Segment2, Segment3
-- . Triangle3, Triangle6
-- . Quadrangle4, Quadrangle8, Quadrangle9
-- . Tetrahedron4, Tetrahedron10
-- . Hexahedron8, Hexahedron20, Hexahedron27.
-- Expected format: {"VALUE1", "VALUE2", ...}
geometric_element_type_list = No default value was provided!
} -- Domain1
Domain2 = {
-- Index of the geometric mesh upon which the domain is defined (as defined in the present file). Might be
-- left empty if domain not limited to one mesh; at most one value is expected here.
-- Expected format: { VALUE1, VALUE2, ...}
mesh_index = No default value was provided!,
-- List of dimensions encompassed by the domain. Might be left empty if no restriction at all upon
-- dimensions.
-- Expected format: { VALUE1, VALUE2, ...}
-- Constraint: value_in(v, {0, 1, 2, 3})
dimension_list = No default value was provided!,
-- List of mesh labels encompassed by the domain. Might be left empty if no restriction at all upon mesh
-- labels. This parameter does not make sense if no mesh is defined for the domain.
-- Expected format: { VALUE1, VALUE2, ...}
mesh_label_list = No default value was provided!,
-- List of geometric element types considered in the domain. Might be left empty if no restriction upon
-- these. No constraint is applied at  LuaOptionFile level, as some geometric element types could be added
-- after generation of current input data file. Current list is below; if an incorrect value is put there it
-- will be detected a bit later when the domain object is built.
-- The known types when this file was generated are:
-- . Point1
-- . Segment2, Segment3
-- . Triangle3, Triangle6
-- . Quadrangle4, Quadrangle8, Quadrangle9
-- . Tetrahedron4, Tetrahedron10
-- . Hexahedron8, Hexahedron20, Hexahedron27.
-- Expected format: {"VALUE1", "VALUE2", ...}
geometric_element_type_list = No default value was provided!
} -- Domain2
Domain3 = {
-- Index of the geometric mesh upon which the domain is defined (as defined in the present file). Might be
-- left empty if domain not limited to one mesh; at most one value is expected here.
-- Expected format: { VALUE1, VALUE2, ...}
mesh_index = No default value was provided!,
-- List of dimensions encompassed by the domain. Might be left empty if no restriction at all upon
-- dimensions.
-- Expected format: { VALUE1, VALUE2, ...}
-- Constraint: value_in(v, {0, 1, 2, 3})
dimension_list = No default value was provided!,
-- List of mesh labels encompassed by the domain. Might be left empty if no restriction at all upon mesh
-- labels. This parameter does not make sense if no mesh is defined for the domain.
-- Expected format: { VALUE1, VALUE2, ...}
mesh_label_list = No default value was provided!,
-- List of geometric element types considered in the domain. Might be left empty if no restriction upon
-- these. No constraint is applied at  LuaOptionFile level, as some geometric element types could be added
-- after generation of current input data file. Current list is below; if an incorrect value is put there it
-- will be detected a bit later when the domain object is built.
-- The known types when this file was generated are:
-- . Point1
-- . Segment2, Segment3
-- . Triangle3, Triangle6
-- . Quadrangle4, Quadrangle8, Quadrangle9
-- . Tetrahedron4, Tetrahedron10
-- . Hexahedron8, Hexahedron20, Hexahedron27.
-- Expected format: {"VALUE1", "VALUE2", ...}
geometric_element_type_list = No default value was provided!
} -- Domain3
Domain4 = {
-- Index of the geometric mesh upon which the domain is defined (as defined in the present file). Might be
-- left empty if domain not limited to one mesh; at most one value is expected here.
-- Expected format: { VALUE1, VALUE2, ...}
mesh_index = No default value was provided!,
-- List of dimensions encompassed by the domain. Might be left empty if no restriction at all upon
-- dimensions.
-- Expected format: { VALUE1, VALUE2, ...}
-- Constraint: value_in(v, {0, 1, 2, 3})
dimension_list = No default value was provided!,
-- List of mesh labels encompassed by the domain. Might be left empty if no restriction at all upon mesh
-- labels. This parameter does not make sense if no mesh is defined for the domain.
-- Expected format: { VALUE1, VALUE2, ...}
mesh_label_list = No default value was provided!,
-- List of geometric element types considered in the domain. Might be left empty if no restriction upon
-- these. No constraint is applied at  LuaOptionFile level, as some geometric element types could be added
-- after generation of current input data file. Current list is below; if an incorrect value is put there it
-- will be detected a bit later when the domain object is built.
-- The known types when this file was generated are:
-- . Point1
-- . Segment2, Segment3
-- . Triangle3, Triangle6
-- . Quadrangle4, Quadrangle8, Quadrangle9
-- . Tetrahedron4, Tetrahedron10
-- . Hexahedron8, Hexahedron20, Hexahedron27.
-- Expected format: {"VALUE1", "VALUE2", ...}
geometric_element_type_list = No default value was provided!
} -- Domain4
EssentialBoundaryCondition1 = {
-- Name of the boundary condition (must be unique).
-- Expected format: "VALUE"
name = No default value was provided!,