Commit 59cc69ac authored by Tobias Meisel's avatar Tobias Meisel
Browse files

[MeL/IO] Introduce test for parallel hdf5 and xdmf writing

parent e86a3881
......@@ -415,6 +415,20 @@ AddTest(
cube_1e3_neumann_ts_1_t_1_000000_2.vtu cube_1e3_neumann_ts_1_t_1_000000_2.vtu D1_left_front_N1_right pressure 1e-2 1e-2
)
AddTest(
NAME ParallelFEM_GroundWaterFlow3D_NeumannBC_XDMF
PATH EllipticPETSc/Xdmf
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3.prj
WRAPPER mpirun
WRAPPER_ARGS -np 3
TESTER xdmfdiff
REQUIREMENTS (OGS_USE_MPI AND OGS_USE_XDMF)
DIFF_DATA
cube_1e3.xdmf cube_1e.xdmf pressure pressure 1e-2 1e-2
cube_1e3.xdmf cube_1e.xdmf D1_left_front_N1_right D1_left_front_N1_right 0 0
)
AddTest(
NAME ParallelFEM_GroundWaterFlow2D_NeumannBC
PATH EllipticPETSc
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<OpenGeoSysProject>
<mesh>cube_1x1x1_hex_1e3.vtu</mesh>
<geometry>cube_1x1x1.gml</geometry>
<processes>
<process>
<name>GW23</name>
<type>STEADY_STATE_DIFFUSION</type>
<integration_order>2</integration_order>
<process_variables>
<process_variable>pressure</process_variable>
</process_variables>
<secondary_variables>
<secondary_variable internal_name="darcy_velocity" output_name="v"/>
</secondary_variables>
</process>
</processes>
<media>
<medium id="0">
<phases/>
<properties>
<property>
<name>diffusion</name>
<type>Constant</type>
<value>1</value>
</property>
<property>
<name>reference_temperature</name>
<type>Constant</type>
<value>293.15</value>
</property>
</properties>
</medium>
</media>
<time_loop>
<processes>
<process ref="GW23">
<nonlinear_solver>basic_picard</nonlinear_solver>
<convergence_criterion>
<type>DeltaX</type>
<norm_type>NORM2</norm_type>
<abstol>1.e-6</abstol>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>SingleStep</type>
</time_stepping>
</process>
</processes>
<output>
<type>XDMF</type>
<prefix>cube_1e3</prefix>
<variables>
<variable> pressure </variable>
<variable> v </variable>
</variables>
<suffix>_ts_{:timestep}_t_{:time}</suffix>
</output>
</time_loop>
<parameters>
<parameter>
<name>p0</name>
<type>Constant</type>
<value>0</value>
</parameter>
<parameter>
<name>p_Dirichlet_left</name>
<type>Constant</type>
<value>1</value>
</parameter>
<parameter>
<name>p_Dirichlet_right</name>
<type>Constant</type>
<value>-1</value>
</parameter>
</parameters>
<process_variables>
<process_variable>
<name>pressure</name>
<components>1</components>
<order>1</order>
<initial_condition>p0</initial_condition>
<boundary_conditions>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>left</geometry>
<type>Dirichlet</type>
<parameter>p_Dirichlet_left</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>right</geometry>
<type>Dirichlet</type>
<parameter>p_Dirichlet_right</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
</process_variables>
<nonlinear_solvers>
<nonlinear_solver>
<name>basic_picard</name>
<type>Picard</type>
<max_iter>10</max_iter>
<linear_solver>general_linear_solver</linear_solver>
</nonlinear_solver>
</nonlinear_solvers>
<linear_solvers>
<linear_solver>
<name>general_linear_solver</name>
<lis>-i cg -p jacobi -tol 1e-16 -maxiter 10000</lis>
<eigen>
<solver_type>CG</solver_type>
<precon_type>DIAGONAL</precon_type>
<max_iteration_step>10000</max_iteration_step>
<error_tolerance>1e-16</error_tolerance>
</eigen>
<petsc>
<prefix>gw</prefix>
<parameters>-gw_ksp_type bcgs -gw_pc_type mg -gw_ksp_rtol 1.e-16 -gw_ksp_max_it 10000</parameters>
</petsc>
</linear_solver>
</linear_solvers>
</OpenGeoSysProject>
<?xml version="1.0" encoding="utf-8"?>
<Xdmf xmlns:xi="http://www.w3.org/2001/XInclude" Version="3.0">
<Domain>
<Information Name="OGS_VERSION" Value="6.3.2-1102-g9cda168f35.dirty"/>
<Grid CollectionType="Temporal" GridType="Collection" Name="Collection">
<Grid Name="Grid">
<Time Value="0"/>
<Geometry Origin="" Type="XYZ">
<DataItem DataType="Float" Dimensions="643 3" Format="HDF" Precision="8">cube_1e3.h5:t_0/geometry</DataItem>
</Geometry>
<Topology Dimensions="3753" Type="Mixed">
<DataItem DataType="Int" Dimensions="3753 1" Format="HDF" Precision="4">cube_1e3.h5:t_0/topology</DataItem>
</Topology>
<Attribute Center="Node" ElementCell="" ElementDegree="0" ElementFamily="" ItemType="" Name="D1_left_front_N1_right" Type="None">
<DataItem DataType="Float" Dimensions="643 1" Format="HDF" Precision="8">cube_1e3.h5:t_0/D1_left_front_N1_right</DataItem>
</Attribute>
<Attribute Center="Node" ElementCell="" ElementDegree="0" ElementFamily="" ItemType="" Name="Linear_1_to_minus1" Type="None">
<DataItem DataType="Float" Dimensions="643 1" Format="HDF" Precision="8">cube_1e3.h5:t_0/Linear_1_to_minus1</DataItem>
</Attribute>
<Attribute Center="Cell" ElementCell="" ElementDegree="0" ElementFamily="" ItemType="" Name="MaterialIDs" Type="None">
<DataItem DataType="Int" Dimensions="417 1" Format="HDF" Precision="4">cube_1e3.h5:t_0/MaterialIDs</DataItem>
</Attribute>
<Attribute Center="Node" ElementCell="" ElementDegree="0" ElementFamily="" ItemType="" Name="pressure" Type="None">
<DataItem DataType="Float" Dimensions="643 1" Format="HDF" Precision="8">cube_1e3.h5:t_0/pressure</DataItem>
</Attribute>
<Attribute Center="Node" ElementCell="" ElementDegree="0" ElementFamily="" ItemType="" Name="v" Type="None">
<DataItem DataType="Float" Dimensions="643 3" Format="HDF" Precision="8">cube_1e3.h5:t_0/v</DataItem>
</Attribute>
</Grid>
<Grid Name="Grid">
<Time Value="1"/>
<xi:include xpointer="element(/1/1/2/1/2)"/>
<xi:include xpointer="element(/1/1/2/1/3)"/>
<Attribute Center="Node" ElementCell="" ElementDegree="0" ElementFamily="" ItemType="" Name="D1_left_front_N1_right" Type="None">
<DataItem DataType="Float" Dimensions="643 1" Format="HDF" Precision="8">cube_1e3.h5:t_1/D1_left_front_N1_right</DataItem>
</Attribute>
<Attribute Center="Node" ElementCell="" ElementDegree="0" ElementFamily="" ItemType="" Name="Linear_1_to_minus1" Type="None">
<DataItem DataType="Float" Dimensions="643 1" Format="HDF" Precision="8">cube_1e3.h5:t_1/Linear_1_to_minus1</DataItem>
</Attribute>
<Attribute Center="Cell" ElementCell="" ElementDegree="0" ElementFamily="" ItemType="" Name="MaterialIDs" Type="None">
<DataItem DataType="Int" Dimensions="417 1" Format="HDF" Precision="4">cube_1e3.h5:t_1/MaterialIDs</DataItem>
</Attribute>
<Attribute Center="Node" ElementCell="" ElementDegree="0" ElementFamily="" ItemType="" Name="pressure" Type="None">
<DataItem DataType="Float" Dimensions="643 1" Format="HDF" Precision="8">cube_1e3.h5:t_1/pressure</DataItem>
</Attribute>
<Attribute Center="Node" ElementCell="" ElementDegree="0" ElementFamily="" ItemType="" Name="v" Type="None">
<DataItem DataType="Float" Dimensions="643 3" Format="HDF" Precision="8">cube_1e3.h5:t_1/v</DataItem>
</Attribute>
</Grid>
</Grid>
</Domain>
</Xdmf>
<?xml version="1.0" encoding="ISO-8859-1"?>
<OpenGeoSysProject>
<mesh>cube_1x1x1_hex_1e3.vtu</mesh>
<geometry>cube_1x1x1.gml</geometry>
<processes>
<process>
<name>GW23</name>
<type>STEADY_STATE_DIFFUSION</type>
<integration_order>2</integration_order>
<process_variables>
<process_variable>pressure</process_variable>
</process_variables>
<secondary_variables>
<secondary_variable internal_name="darcy_velocity" output_name="v"/>
</secondary_variables>
</process>
</processes>
<media>
<medium id="0">
<phases/>
<properties>
<property>
<name>diffusion</name>
<type>Constant</type>
<value>1</value>
</property>
<property>
<name>reference_temperature</name>
<type>Constant</type>
<value>293.15</value>
</property>
</properties>
</medium>
</media>
<time_loop>
<processes>
<process ref="GW23">
<nonlinear_solver>basic_picard</nonlinear_solver>
<convergence_criterion>
<type>DeltaX</type>
<norm_type>NORM2</norm_type>
<abstol>1.e-6</abstol>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>SingleStep</type>
</time_stepping>
</process>
</processes>
<output>
<type>XDMF</type>
<prefix>cube_1e3</prefix>
<variables>
<variable> pressure </variable>
<variable> v </variable>
</variables>
<suffix>_ts_{:timestep}_t_{:time}</suffix>
</output>
</time_loop>
<parameters>
<parameter>
<name>p0</name>
<type>Constant</type>
<value>0</value>
</parameter>
<parameter>
<name>p_Dirichlet_left</name>
<type>Constant</type>
<value>1</value>
</parameter>
<parameter>
<name>p_Dirichlet_right</name>
<type>Constant</type>
<value>-1</value>
</parameter>
</parameters>
<process_variables>
<process_variable>
<name>pressure</name>
<components>1</components>
<order>1</order>
<initial_condition>p0</initial_condition>
<boundary_conditions>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>left</geometry>
<type>Dirichlet</type>
<parameter>p_Dirichlet_left</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>right</geometry>
<type>Dirichlet</type>
<parameter>p_Dirichlet_right</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
</process_variables>
<nonlinear_solvers>
<nonlinear_solver>
<name>basic_picard</name>
<type>Picard</type>
<max_iter>10</max_iter>
<linear_solver>general_linear_solver</linear_solver>
</nonlinear_solver>
</nonlinear_solvers>
<linear_solvers>
<linear_solver>
<name>general_linear_solver</name>
<lis>-i cg -p jacobi -tol 1e-16 -maxiter 10000</lis>
<eigen>
<solver_type>CG</solver_type>
<precon_type>DIAGONAL</precon_type>
<max_iteration_step>10000</max_iteration_step>
<error_tolerance>1e-16</error_tolerance>
</eigen>
<petsc>
<prefix>gw</prefix>
<parameters>-gw_ksp_type bcgs -gw_pc_type mg -gw_ksp_rtol 1.e-16 -gw_ksp_max_it 10000</parameters>
</petsc>
</linear_solver>
</linear_solvers>
</OpenGeoSysProject>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment