From f077de26d5bc3cfef0dc520ba61e895de44816b9 Mon Sep 17 00:00:00 2001 From: renchao_lu <renchao.lu@gmail.com> Date: Tue, 26 Feb 2019 00:34:52 +0100 Subject: [PATCH] [T] Benchmark of tracer test. --- ProcessLib/ComponentTransport/Tests.cmake | 21 ++ .../TracerSimulation/TracerSimulation.gml | 3 + .../TracerSimulation/TracerSimulation.prj | 290 ++++++++++++++++++ .../TracerSimulation/TracerSimulation.vtu | 3 + ...imulation_pcs_1_ts_100_t_100000.000000.vtu | 3 + ...1_ts_100_t_100000.000000_expected_ogs5.vtu | 3 + ...rSimulation_pcs_1_ts_20_t_20000.000000.vtu | 3 + ...s_1_ts_20_t_20000.000000_expected_ogs5.vtu | 3 + ...rSimulation_pcs_1_ts_40_t_40000.000000.vtu | 3 + ...s_1_ts_40_t_40000.000000_expected_ogs5.vtu | 3 + ...rSimulation_pcs_1_ts_60_t_60000.000000.vtu | 3 + ...s_1_ts_60_t_60000.000000_expected_ogs5.vtu | 3 + ...rSimulation_pcs_1_ts_80_t_80000.000000.vtu | 3 + ...s_1_ts_80_t_80000.000000_expected_ogs5.vtu | 3 + 14 files changed, 347 insertions(+) create mode 100644 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.gml create mode 100644 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.prj create mode 100644 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.vtu create mode 100644 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu create mode 100755 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu create mode 100644 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu create mode 100755 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu create mode 100644 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu create mode 100755 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu create mode 100644 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu create mode 100755 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu create mode 100644 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu create mode 100755 Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu diff --git a/ProcessLib/ComponentTransport/Tests.cmake b/ProcessLib/ComponentTransport/Tests.cmake index 64bedb473e0..4b63101058f 100644 --- a/ProcessLib/ComponentTransport/Tests.cmake +++ b/ProcessLib/ComponentTransport/Tests.cmake @@ -451,6 +451,27 @@ AddTest( cube_1x1x1_hex_1e3_right_pcs_1_ts_1_t_1.000000.vtu cube_1x1x1_hex_1e3_right_pcs_1_ts_1_t_1.000000.vtu Si Si 1e-10 1e-16 ) +AddTest( + NAME 2D_StaggeredScheme_ComponentTransport_TracerSimulation + PATH Parabolic/ComponentTransport/TracerSimulation + EXECUTABLE ogs + EXECUTABLE_ARGS TracerSimulation.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu Cs Cs 4e-7 1e-10 + TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu Cs Cs 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu Cs Cs 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu Cs Cs 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu Cs Cs 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu pressure pressure 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu pressure pressure 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu pressure pressure 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu pressure pressure 1.3e-7 1e-10 + TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu pressure pressure 1.3e-7 1e-10 +) + AddTest( NAME LARGE_2D_ComponentTransport_Goswami PATH Parabolic/ComponentTransport/goswami diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.gml b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.gml new file mode 100644 index 00000000000..bf6dd69ac72 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.gml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c2b00c5d4deb6e4f8e4780eb72d438abada593e2e0d331e3527e940405f46c0 +size 702 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.prj b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.prj new file mode 100644 index 00000000000..f63274053e3 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.prj @@ -0,0 +1,290 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <mesh>TracerSimulation.vtu</mesh> + <geometry>TracerSimulation.gml</geometry> + <processes> + <process> + <name>hc</name> + <type>ComponentTransport</type> + <integration_order>2</integration_order> + <coupling_scheme>staggered</coupling_scheme> + <process_variables> + <concentration>Cs</concentration> + <pressure>pressure</pressure> + </process_variables> + <fluid> + <density> + <type>Constant</type> + <value>1e3</value> + </density> + <viscosity> + <type>Constant</type> + <value>1e-3</value> + </viscosity> + </fluid> + <porous_medium> + <porous_medium id="0"> + <permeability> + <type>Constant</type> + <permeability_tensor_entries>kappa</permeability_tensor_entries> + </permeability> + <porosity> + <type>Constant</type> + <porosity_parameter>porosity</porosity_parameter> + </porosity> + <storage> + <type>Constant</type> + <value>0.0</value> + </storage> + </porous_medium> + </porous_medium> + <fluid_reference_density>rho_fluid</fluid_reference_density> + <retardation_factor>retardation</retardation_factor> + <decay_rate>decay</decay_rate> + <specific_body_force>0 0</specific_body_force> + <secondary_variables> + <secondary_variable type="static" internal_name="darcy_velocity" output_name="darcy_velocity"/> + </secondary_variables> + </process> + </processes> + <media> + <medium id="0"> + <phases> + <phase> + <type>AqueousLiquid</type> + <components> + <component> + <name>Cs</name> + <properties> + <property> + <name>molecular_diffusion</name> + <type>Constant</type> + <value>1e-9</value> + </property> + </properties> + </component> + </components> + </phase> + </phases> + <properties> + <property> + <name>longitudinal_dispersivity</name> + <type>Constant</type> + <value>0.2</value> + </property> + <property> + <name>transversal_dispersivity</name> + <type>Constant</type> + <value>0.2</value> + </property> + </properties> + </medium> + </media> + <time_loop> + <global_process_coupling> + <max_iter>6</max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process (p) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-14</reltol> + </convergence_criterion> + <!-- convergence criterion for the second process (Cs) --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-14</reltol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + <processes> + <!-- convergence criterion for hydraulic equation --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-14</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>100000</t_end> + <timesteps> + <pair> + <repeat>100</repeat> + <delta_t>1000</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + <!-- convergence criterion for component transport equation (Cs) --> + <process ref="hc"> + <nonlinear_solver>basic_picard</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-14</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>100000</t_end> + <timesteps> + <pair> + <repeat>100</repeat> + <delta_t>1000</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>TracerSimulation</prefix> + <timesteps> + <pair> + <repeat>5</repeat> + <each_steps>20</each_steps> + </pair> + </timesteps> + <variables> + <variable>Cs</variable> + <variable>pressure</variable> + <variable>darcy_velocity</variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>kappa</name> + <type>Constant</type> + <values>1.019368e-11 0 0 1.019368e-11</values> + </parameter> + <parameter> + <name>porosity</name> + <type>Constant</type> + <value>0.2</value> + </parameter> + <parameter> + <name>rho_fluid</name> + <type>Constant</type> + <value>1000</value> + </parameter> + <parameter> + <name>retardation</name> + <type>Constant</type> + <value>1</value> + </parameter> + <parameter> + <name>decay</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>p0</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>p_Neumann_left</name> + <type>Constant</type> + <value>3e-2</value> + </parameter> + <parameter> + <name>p_Dirichlet_right</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>c0</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>c_spatial</name> + <type>Constant</type> + <value>1</value> + </parameter> + <parameter> + <name>c_Dirichlet_left</name> + <type>CurveScaled</type> + <curve>c_temporal</curve> + <parameter>c_spatial</parameter> + </parameter> + </parameters> + <curves> + <curve> + <name>c_temporal</name> + <coords>0 10000 10000.001 100000</coords> + <values>1e-5 1e-5 0 0</values> + </curve> + </curves> + <process_variables> + <process_variable> + <name>pressure</name> + <components>1</components> + <order>1</order> + <initial_condition>p0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>left</geometry> + <type>Neumann</type> + <parameter>p_Neumann_left</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>right</geometry> + <type>Dirichlet</type> + <parameter>p_Dirichlet_right</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + <process_variable> + <name>Cs</name> + <components>1</components> + <order>1</order> + <initial_condition>c0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>geometry</geometrical_set> + <geometry>left</geometry> + <type>Dirichlet</type> + <parameter>c_Dirichlet_left</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 bicgstab -p ilut -tol 1e-8 -maxiter 20000</lis> + <eigen> + <solver_type>BiCGSTAB</solver_type> + <precon_type>ILUT</precon_type> + <max_iteration_step>10000</max_iteration_step> + <error_tolerance>1e-12</error_tolerance> + </eigen> + <petsc> + <prefix>hc</prefix> + <parameters>-hc_ksp_type bcgs -hc_pc_type bjacobi -hc_ksp_rtol 1e-8 -hc_ksp_max_it 20000</parameters> + </petsc> + </linear_solver> + </linear_solvers> +</OpenGeoSysProject> diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.vtu new file mode 100644 index 00000000000..02409115fee --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31716dc187cb09943833193e11f056937eec5d839424950ab4874e6f68a74dc7 +size 177539 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu new file mode 100644 index 00000000000..39effc2c8a3 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35d3abfc30314cf96d38a68f121a97d5b9805728443445b2887b351bac62ebb6 +size 73917 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu new file mode 100755 index 00000000000..dbfbaa4452e --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_100_t_100000.000000_expected_ogs5.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f901ead7d9b10cc4d0c41b24e1b420589a1318e1bbb04ba2988fcb4eeece8ab4 +size 238720 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu new file mode 100644 index 00000000000..4b470d1ae88 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a10951e0fffbfa0058e9e73d1fc9e4f018062c765f01123c0ea16b457a22d0b1 +size 74409 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu new file mode 100755 index 00000000000..5883c1a49e6 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_20_t_20000.000000_expected_ogs5.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04a947b6abc8b033ea674f171ef5b9c7faa6a77072986e6d09ad1ef9cad68c47 +size 238736 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu new file mode 100644 index 00000000000..f86a358eab5 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02e665e217bc20e1693690e80253da4e7d584e3af05bd24229d27b7bc340086e +size 74125 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu new file mode 100755 index 00000000000..8218d6d9e3b --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_40_t_40000.000000_expected_ogs5.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0196e05b49951381bfc3c5c00a2b1ff3dcc8c2c5c6932bb3c5be000fb2461423 +size 238720 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu new file mode 100644 index 00000000000..2447bc797ea --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce34af9dd553740b0c57864b291d9370e81467a4f495bfd55ce41243c4121bbc +size 74009 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu new file mode 100755 index 00000000000..d35cf688389 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_60_t_60000.000000_expected_ogs5.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32f3289988df4bd26ca607ed87b185695374916ab60881650adaa5c68ab94b1f +size 238720 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu new file mode 100644 index 00000000000..b30801f3b59 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b0c83c365c7969b0ddae438ac9655bc5fad71fd393bce4b612d6c701d1a5839 +size 73989 diff --git a/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu new file mode 100755 index 00000000000..fa2430d1343 --- /dev/null +++ b/Tests/Data/Parabolic/ComponentTransport/TracerSimulation/TracerSimulation_pcs_1_ts_80_t_80000.000000_expected_ogs5.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ec49de4815597968e525b84683137b2283fe1c519a7462790dd6ddc44e002d0 +size 238720 -- GitLab