OGS  master
TimeDependentHeterogeneousSourceTerm.prj
<OpenGeoSysProject>
  <meshes>
    <mesh>mesh2D.vtu</mesh>
    <mesh>central_region.vtu</mesh>
    <mesh>left.vtu</mesh>
    <mesh>right.vtu</mesh>
  </meshes>
  <processes>
    <process>
      <name>LiquidFlow</name>
      <type>LIQUID_FLOW</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>
      <specific_body_force>0.0 0.0</specific_body_force>
    </process>
  </processes>
  <time_loop>
    <processes>
      <process ref="LiquidFlow">
        <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>FixedTimeStepping</type>
          <t_initial>0.0</t_initial>
          <t_end>2000</t_end>
          <timesteps>
            <pair>
              <repeat>200</repeat>
              <delta_t>10.0</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
    </processes>
    <output>
      <type>VTK</type>
      <prefix>time_dependent_heterogeneous_source_term</prefix>
      <timesteps>
        <pair>
          <repeat>1</repeat>
          <each_steps>1</each_steps>
        </pair>
        <pair>
          <repeat>1</repeat>
          <each_steps>117</each_steps>
        </pair>
        <pair>
          <repeat>2</repeat>
          <each_steps>1</each_steps>
        </pair>
        <pair>
          <repeat>1</repeat>
          <each_steps>80</each_steps>
        </pair>
      </timesteps>
      <variables>
        <variable>pressure</variable>
        <variable>v</variable>
      </variables>
      <suffix>ts{:timestep}_t_{:time}</suffix>
    </output>
  </time_loop>
  <media>
    <medium id="0">
      <phases>
        <phase>
          <type>AqueousLiquid</type>
          <properties>
            <property>
              <name>viscosity</name>
              <type>Constant</type>
              <value>1.e-3</value>
            </property>
            <property>
              <name>density</name>
              <type>Constant</type>
              <value>1.e3</value>
            </property>
          </properties>
        </phase>
      </phases>
      <properties>
        <property>
          <name>permeability</name>
          <type>Constant</type>
          <value>1.e-12</value>
        </property>
        <property>
          <name>reference_temperature</name>
          <type>Constant</type>
          <value>293.15</value>
        </property>
        <property>
          <name>porosity</name>
          <type>Constant</type>
          <value>0.2</value>
        </property>
        <property>
          <name>storage</name>
          <type>Constant</type>
          <value>1e-5</value>
        </property>
      </properties>
    </medium>
  </media>
  <parameters>
    <parameter>
      <name>p0</name>
      <type>Constant</type>
      <value>9.5e5</value>
    </parameter>
    <parameter>
      <name>bc_left_ts1</name>
      <type>MeshNode</type>
      <mesh>left</mesh>
      <field_name>p_ts1</field_name>
    </parameter>
    <parameter>
      <name>bc_left_ts59</name>
      <type>MeshNode</type>
      <mesh>left</mesh>
      <field_name>p_ts59</field_name>
    </parameter>
    <parameter>
      <name>bc_left_ts60</name>
      <type>MeshNode</type>
      <mesh>left</mesh>
      <field_name>p_ts60</field_name>
    </parameter>
    <parameter>
      <name>bc_left_ts100</name>
      <type>MeshNode</type>
      <mesh>left</mesh>
      <field_name>p_ts60</field_name>
    </parameter>
    <parameter>
      <name>bc_right_ts1</name>
      <type>MeshNode</type>
      <mesh>right</mesh>
      <field_name>p_ts1</field_name>
    </parameter>
    <parameter>
      <name>bc_right_ts59</name>
      <type>MeshNode</type>
      <mesh>right</mesh>
      <field_name>p_ts59</field_name>
    </parameter>
    <parameter>
      <name>bc_right_ts60</name>
      <type>MeshNode</type>
      <mesh>right</mesh>
      <field_name>p_ts60</field_name>
    </parameter>
    <parameter>
      <name>bc_right_ts100</name>
      <type>MeshNode</type>
      <mesh>right</mesh>
      <field_name>p_ts60</field_name>
    </parameter>
    <parameter>
      <name>constant_porosity_parameter</name>
      <type>Constant</type>
      <value>0.2</value>
    </parameter>
    <parameter>
      <name>kappa1</name>
      <type>Constant</type>
      <values>1.e-12</values>
    </parameter>
    <parameter>
      <name>TimeDependentDirichlet_left</name>
      <type>TimeDependentHeterogeneousParameter</type>
      <time_series>
        <pair>
          <time>0</time>
          <parameter_name>bc_left_ts1</parameter_name>
        </pair>
        <pair>
          <time>1180</time>
          <parameter_name>bc_left_ts59</parameter_name>
        </pair>
        <pair>
          <time>1200</time>
          <parameter_name>bc_left_ts60</parameter_name>
        </pair>
        <pair>
          <time>2000</time>
          <parameter_name>bc_left_ts100</parameter_name>
        </pair>
      </time_series>
    </parameter>
    <parameter>
      <name>TimeDependentDirichlet_right</name>
      <type>TimeDependentHeterogeneousParameter</type>
      <time_series>
        <pair>
          <time>0</time>
          <parameter_name>bc_right_ts1</parameter_name>
        </pair>
        <pair>
          <time>1180</time>
          <parameter_name>bc_right_ts59</parameter_name>
        </pair>
        <pair>
          <time>1200</time>
          <parameter_name>bc_right_ts60</parameter_name>
        </pair>
        <pair>
          <time>2000</time>
          <parameter_name>bc_right_ts100</parameter_name>
        </pair>
      </time_series>
    </parameter>
    <parameter>
      <name>source_term_parameter_in</name>
      <type>Constant</type>
      <values>1e-2</values>
    </parameter>
    <parameter>
      <name>source_term_parameter_out</name>
      <type>Constant</type>
      <values>-1e-2</values>
    </parameter>
    <parameter>
      <name>TimeDependentSourceTerm</name>
      <type>TimeDependentHeterogeneousParameter</type>
      <time_series>
        <pair>
          <time>0</time>
          <parameter_name>source_term_parameter_in</parameter_name>
        </pair>
        <pair>
          <time>490</time>
          <parameter_name>source_term_parameter_in</parameter_name>
        </pair>
        <pair>
          <time>510</time>
          <parameter_name>source_term_parameter_out</parameter_name>
        </pair>
        <pair>
          <time>990</time>
          <parameter_name>source_term_parameter_out</parameter_name>
        </pair>
        <pair>
          <time>1010</time>
          <parameter_name>source_term_parameter_in</parameter_name>
        </pair>
        <pair>
          <time>1490</time>
          <parameter_name>source_term_parameter_in</parameter_name>
        </pair>
        <pair>
          <time>1510</time>
          <parameter_name>source_term_parameter_out</parameter_name>
        </pair>
        <pair>
          <time>2000</time>
          <parameter_name>source_term_parameter_out</parameter_name>
        </pair>
      </time_series>
    </parameter>
  </parameters>
  <process_variables>
    <process_variable>
      <name>pressure</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>p0</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>left</mesh>
          <type>Dirichlet</type>
          <parameter>TimeDependentDirichlet_left</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>right</mesh>
          <type>Dirichlet</type>
          <parameter>TimeDependentDirichlet_right</parameter>
        </boundary_condition>
      </boundary_conditions>
      <source_terms>
        <source_term>
          <mesh>central_region</mesh>
          <type>Volumetric</type>
          <parameter>TimeDependentSourceTerm</parameter>
        </source_term>
      </source_terms>
    </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-20 -maxiter 10000</lis>
      <eigen>
        <solver_type>CG</solver_type>
        <precon_type>DIAGONAL</precon_type>
        <max_iteration_step>10000</max_iteration_step>
        <error_tolerance>1e-20</error_tolerance>
      </eigen>
      <petsc>
        <prefix>lf</prefix>
        <parameters>-lf_ksp_type cg -lf_pc_type bjacobi -lf_ksp_rtol 1e-16 -lf_ksp_max_it 10000</parameters>
      </petsc>
    </linear_solver>
  </linear_solvers>
</OpenGeoSysProject>