OGS
RadionuclideSorption_SitesMoles.prj
<OpenGeoSysProject>
  <meshes>
    <mesh>RadionuclideSorption.vtu</mesh>
    <mesh>RadionuclideSorption_ReactiveDomain.vtu</mesh>
    <mesh>RadionuclideSorption_left.vtu</mesh>
    <mesh>RadionuclideSorption_right.vtu</mesh>
  </meshes>
  <processes>
    <process>
      <name>hc</name>
      <type>ComponentTransport</type>
      <integration_order>2</integration_order>
      <coupling_scheme>staggered</coupling_scheme>
      <process_variables>
        <concentration>Na</concentration>
        <concentration>Cl</concentration>
        <concentration>Ca</concentration>
        <concentration>C(4)</concentration>
        <concentration>H</concentration>
        <concentration>U(6)</concentration>
        <pressure>pressure</pressure>
      </process_variables>
      <specific_body_force>0</specific_body_force>
      <secondary_variables>
        <secondary_variable internal_name="darcy_velocity" output_name="darcy_velocity" />
      </secondary_variables>
    </process>
  </processes>
  <media>
    <medium id="0">
      <phases>
        <phase>
          <type>AqueousLiquid</type>
          <components>
            <component>
              <name>Na</name>
              <properties>
                <property>
                  <name>pore_diffusion</name>
                  <type>Constant</type>
                  <value>1e-9</value>
                </property>
                <property>
                  <name>retardation_factor</name>
                  <type>Constant</type>
                  <value>1</value>
                </property>
                <property>
                  <name>decay_rate</name>
                  <type>Parameter</type>
                  <parameter_name>decay</parameter_name>
                </property>
              </properties>
            </component>
            <component>
              <name>Cl</name>
              <properties>
                <property>
                  <name>pore_diffusion</name>
                  <type>Constant</type>
                  <value>1e-9</value>
                </property>
                <property>
                  <name>retardation_factor</name>
                  <type>Constant</type>
                  <value>1</value>
                </property>
                <property>
                  <name>decay_rate</name>
                  <type>Parameter</type>
                  <parameter_name>decay</parameter_name>
                </property>
              </properties>
            </component>
            <component>
              <name>Ca</name>
              <properties>
                <property>
                  <name>pore_diffusion</name>
                  <type>Constant</type>
                  <value>1e-9</value>
                </property>
                <property>
                  <name>retardation_factor</name>
                  <type>Constant</type>
                  <value>1</value>
                </property>
                <property>
                  <name>decay_rate</name>
                  <type>Parameter</type>
                  <parameter_name>decay</parameter_name>
                </property>
              </properties>
            </component>
            <component>
              <name>C(4)</name>
              <properties>
                <property>
                  <name>pore_diffusion</name>
                  <type>Constant</type>
                  <value>1e-9</value>
                </property>
                <property>
                  <name>retardation_factor</name>
                  <type>Constant</type>
                  <value>1</value>
                </property>
                <property>
                  <name>decay_rate</name>
                  <type>Parameter</type>
                  <parameter_name>decay</parameter_name>
                </property>
              </properties>
            </component>
            <component>
              <name>H</name>
              <properties>
                <property>
                  <name>pore_diffusion</name>
                  <type>Constant</type>
                  <value>1e-9</value>
                </property>
                <property>
                  <name>retardation_factor</name>
                  <type>Constant</type>
                  <value>1</value>
                </property>
                <property>
                  <name>decay_rate</name>
                  <type>Parameter</type>
                  <parameter_name>decay</parameter_name>
                </property>
              </properties>
            </component>
            <component>
              <name>U(6)</name>
              <properties>
                <property>
                  <name>pore_diffusion</name>
                  <type>Constant</type>
                  <value>1e-9</value>
                </property>
                <property>
                  <name>retardation_factor</name>
                  <type>Constant</type>
                  <value>1</value>
                </property>
                <property>
                  <name>decay_rate</name>
                  <type>Parameter</type>
                  <parameter_name>decay</parameter_name>
                </property>
              </properties>
            </component>
          </components>
          <properties>
            <property>
              <name>density</name>
              <type>Constant</type>
              <value>1e3</value>
            </property>
            <property>
              <name>viscosity</name>
              <type>Constant</type>
              <value>1e-3</value>
            </property>
          </properties>
        </phase>
        <phase>
          <type>Solid</type>
          <components>
            <component>
              <name>Calcite</name>
              <properties>
                <property>
                  <name>molality</name>
                  <type>Constant</type>
                  <value>10</value>
                </property>
              </properties>
            </component>
            <component>
              <name>AlbOH</name>
              <properties>
                <property>
                  <name>molality</name>
                  <type>Constant</type>
                  <value>8.538e-04</value>
                </property>
              </properties>
            </component>
            <component>
              <name>GibbOH</name>
              <properties>
                <property>
                  <name>molality</name>
                  <type>Constant</type>
                  <value>2.236e-05</value>
                </property>
              </properties>
            </component>
            <component>
              <name>HemOH</name>
              <properties>
                <property>
                  <name>molality</name>
                  <type>Constant</type>
                  <value>5.285e-05</value>
                </property>
              </properties>
            </component>
            <component>
              <name>KaoOH</name>
              <properties>
                <property>
                  <name>molality</name>
                  <type>Constant</type>
                  <value>4.269e-05</value>
                </property>
              </properties>
            </component>
            <component>
              <name>MusOH</name>
              <properties>
                <property>
                  <name>molality</name>
                  <type>Constant</type>
                  <value>3.497e-04</value>
                </property>
              </properties>
            </component>
            <component>
              <name>QzOH</name>
              <properties>
                <property>
                  <name>molality</name>
                  <type>Constant</type>
                  <value>2.419e-04</value>
                </property>
              </properties>
            </component>
          </components>
        </phase>
      </phases>
      <properties>
        <property>
          <name>permeability</name>
          <type>Parameter</type>
          <parameter_name>kappa</parameter_name>
        </property>
        <property>
          <name>porosity</name>
          <type>Parameter</type>
          <parameter_name>porosity</parameter_name>
        </property>
        <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>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <reltol>1e-14</reltol>
        </convergence_criterion>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <reltol>1e-14</reltol>
        </convergence_criterion>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <reltol>1e-14</reltol>
        </convergence_criterion>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <reltol>1e-14</reltol>
        </convergence_criterion>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <reltol>1e-14</reltol>
        </convergence_criterion>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <reltol>1e-14</reltol>
        </convergence_criterion>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <reltol>1e-14</reltol>
        </convergence_criterion>
      </convergence_criteria>
    </global_process_coupling>
    <processes>
      <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>115000</t_end>
          <timesteps>
            <pair>
              <repeat>115</repeat>
              <delta_t>1000</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
      <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>115000</t_end>
          <timesteps>
            <pair>
              <repeat>115</repeat>
              <delta_t>1000</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
      <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>115000</t_end>
          <timesteps>
            <pair>
              <repeat>115</repeat>
              <delta_t>1000</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
      <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>115000</t_end>
          <timesteps>
            <pair>
              <repeat>115</repeat>
              <delta_t>1000</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
      <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>115000</t_end>
          <timesteps>
            <pair>
              <repeat>115</repeat>
              <delta_t>1000</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
      <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>115000</t_end>
          <timesteps>
            <pair>
              <repeat>115</repeat>
              <delta_t>1000</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
      <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>115000</t_end>
          <timesteps>
            <pair>
              <repeat>115</repeat>
              <delta_t>1000</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
    </processes>
    <output>
      <type>VTK</type>
      <prefix>RadionuclideSorption_SiteMoles</prefix>
      <suffix>ts{:timestep}_t_{:time}</suffix>
      <timesteps>
        <pair>
          <repeat>5</repeat>
          <each_steps>23</each_steps>
        </pair>
      </timesteps>
      <variables>
        <variable>Na</variable>
        <variable>Cl</variable>
        <variable>Ca</variable>
        <variable>C(4)</variable>
        <variable>H</variable>
        <variable>U(6)</variable>
        <variable>pressure</variable>
        <variable>darcy_velocity</variable>
      </variables>
    </output>
  </time_loop>
  <chemical_system chemical_solver="Phreeqc">
    <mesh>RadionuclideSorption_ReactiveDomain</mesh>
    <linear_solver>general_linear_solver</linear_solver>
    <database>PSINA_12_07_110615_DAV_s_hzdr.dat</database>
    <solution>
      <temperature>14</temperature>
      <pressure>1</pressure>
      <pe>4</pe>
      <components>
        <component>Na</component>
        <component>Cl</component>
        <component>Ca</component>
        <component>C(4)</component>
        <component>U(6)</component>
      </components>
    </solution>
    <equilibrium_reactants>
      <phase_component>
        <name>Calcite</name>
        <saturation_index>0.0</saturation_index>
      </phase_component>
    </equilibrium_reactants>
    <surface site_unit="mole">
      <site>
        <name>QzOH</name>
      </site>
      <site>
        <name>AlbOH</name>
      </site>
      <site>
        <name>MusOH</name>
      </site>
      <site>
        <name>HemOH</name>
      </site>
      <site>
        <name>GibbOH</name>
      </site>
      <site>
        <name>KaoOH</name>
      </site>
    </surface>
    <user_punch>
      <headline>Kd_U(6)</headline>
      <statement>k1=(mol("QzOUO2CO3-") + mol("QzOUO2+")+ mol("QzOUO2(OH)"))</statement>
      <statement>k2=(mol("AlbOUO2+"))</statement>
      <statement>k3=(mol("MusOUO2+") + mol("MusOUO2CO3-"))</statement>
      <statement>k4=(mol("HemOUO2CO3-") + mol("HemOUO2+"))</statement>
      <statement>k5=(mol("(GibbO)2UO2") + mol("GibbOUO2(OH)")+ mol("GibbO(UO2)3(OH)5") + mol("GibbOUO2+"))</statement>
      <statement>k6=(mol("KaoOUO2+") + mol("KaoOUO2(OH)") + mol("KaoOUO2CO3-"))</statement>
      <statement>g_Tot=10388 # Kd = (mol_sorb/g_tot)/(mol_aq) --> Kd in l/g = m³/kg</statement>
      <statement>if TOT("U(6)") > 0 then kd_U(6) = ((k1+k2+k3+k4+k5+k6)/TOT("U(6)")/g_tot) else kd_U(6) = 0</statement>
      <statement>PUNCH kd_U(6)</statement>
    </user_punch>
    <knobs>
      <max_iter>250</max_iter>
      <relative_convergence_tolerance>1e-6</relative_convergence_tolerance>
      <tolerance>1e-20</tolerance>
      <step_size>5</step_size>
      <scaling>1</scaling>
    </knobs>
  </chemical_system>
  <parameters>
    <parameter>
      <name>kappa</name>
      <type>Constant</type>
      <values>1.019368e-11</values>
    </parameter>
    <parameter>
      <name>porosity</name>
      <type>Constant</type>
      <value>0.2</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_Na</name>
      <type>Constant</type>
      <value>1e-3</value>
    </parameter>
    <parameter>
      <name>c0_Cl</name>
      <type>Constant</type>
      <value>6e-2</value>
    </parameter>
    <parameter>
      <name>c0_Ca</name>
      <type>Constant</type>
      <value>2.502e-2</value>
    </parameter>
    <parameter>
      <name>c0_C(4)</name>
      <type>Constant</type>
      <value>1e-3</value>
    </parameter>
    <parameter>
      <name>c0_H</name>
      <type>Constant</type>
      <value>1e-7</value>
    </parameter>
    <parameter>
      <name>c0</name>
      <type>Constant</type>
      <value>0</value>
    </parameter>
    <parameter>
      <name>c_left_Na</name>
      <type>Constant</type>
      <value>1e-3</value>
    </parameter>
    <parameter>
      <name>c_left_Cl</name>
      <type>Constant</type>
      <value>6e-2</value>
    </parameter>
    <parameter>
      <name>c_left_Ca</name>
      <type>Constant</type>
      <value>2.502e-2</value>
    </parameter>
    <parameter>
      <name>c_left_C(4)</name>
      <type>Constant</type>
      <value>1e-3</value>
    </parameter>
    <parameter>
      <name>c_left_H</name>
      <type>Constant</type>
      <value>1e-7</value>
    </parameter>
    <parameter>
      <name>c_spatial</name>
      <type>Constant</type>
      <value>1</value>
    </parameter>
    <parameter>
      <name>c_left_default</name>
      <type>CurveScaled</type>
      <curve>c_temporal_default</curve>
      <parameter>c_spatial</parameter>
    </parameter>
  </parameters>
  <curves>
    <curve>
      <name>c_temporal_default</name>
      <coords>0 10000 10000.001 115000</coords>
      <values>1e-8 1e-8 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>
          <mesh>RadionuclideSorption_left</mesh>
          <type>Neumann</type>
          <parameter>p_Neumann_left</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>RadionuclideSorption_right</mesh>
          <type>Dirichlet</type>
          <parameter>p_Dirichlet_right</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
    <process_variable>
      <name>Na</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>c0_Na</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>RadionuclideSorption_left</mesh>
          <type>Dirichlet</type>
          <parameter>c_left_Na</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
    <process_variable>
      <name>Cl</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>c0_Cl</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>RadionuclideSorption_left</mesh>
          <type>Dirichlet</type>
          <parameter>c_left_Cl</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
    <process_variable>
      <name>Ca</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>c0_Ca</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>RadionuclideSorption_left</mesh>
          <type>Dirichlet</type>
          <parameter>c_left_Ca</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
    <process_variable>
      <name>C(4)</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>c0_C(4)</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>RadionuclideSorption_left</mesh>
          <type>Dirichlet</type>
          <parameter>c_left_C(4)</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
    <process_variable>
      <name>H</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>c0_H</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>RadionuclideSorption_left</mesh>
          <type>Dirichlet</type>
          <parameter>c_left_H</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
    <process_variable>
      <name>U(6)</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>c0</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>RadionuclideSorption_left</mesh>
          <type>Dirichlet</type>
          <parameter>c_left_default</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>
  <test_definition>
    <vtkdiff>
      <regex>RadionuclideSorption_SiteMoles_ts_[0-9]*_t_[0-9]*.000000.vtu</regex>
      <field>pressure</field>
      <absolute_tolerance>1e-6</absolute_tolerance>
      <relative_tolerance>1e-10</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>RadionuclideSorption_SiteMoles_ts_[0-9]*_t_[0-9]*.000000.vtu</regex>
      <field>darcy_velocity</field>
      <absolute_tolerance>1e-10</absolute_tolerance>
      <relative_tolerance>1e-6</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>RadionuclideSorption_SiteMoles_ts_[0-9]*_t_[0-9]*.000000.vtu</regex>
      <field>Na</field>
      <absolute_tolerance>1e-10</absolute_tolerance>
      <relative_tolerance>1e-16</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>RadionuclideSorption_SiteMoles_ts_[0-9]*_t_[0-9]*.000000.vtu</regex>
      <field>Cl</field>
      <absolute_tolerance>1e-10</absolute_tolerance>
      <relative_tolerance>1e-16</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>RadionuclideSorption_SiteMoles_ts_[0-9]*_t_[0-9]*.000000.vtu</regex>
      <field>Ca</field>
      <absolute_tolerance>1e-10</absolute_tolerance>
      <relative_tolerance>1e-16</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>RadionuclideSorption_SiteMoles_ts_[0-9]*_t_[0-9]*.000000.vtu</regex>
      <field>C(4)</field>
      <absolute_tolerance>1e-10</absolute_tolerance>
      <relative_tolerance>1e-16</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>RadionuclideSorption_SiteMoles_ts_[0-9]*_t_[0-9]*.000000.vtu</regex>
      <field>H</field>
      <absolute_tolerance>1e-10</absolute_tolerance>
      <relative_tolerance>1e-16</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>RadionuclideSorption_SiteMoles_ts_[0-9]*_t_[0-9]*.000000.vtu</regex>
      <field>U(6)</field>
      <absolute_tolerance>1e-10</absolute_tolerance>
      <relative_tolerance>1e-16</relative_tolerance>
    </vtkdiff>
  </test_definition>
</OpenGeoSysProject>