Loading [MathJax]/extensions/tex2jax.js
OGS
KGD.prj
<OpenGeoSysProject>
  <meshes>
    <mesh>KGD.vtu</mesh>
    <mesh>KGD_left.vtu</mesh>
    <mesh>KGD_right.vtu</mesh>
    <mesh>KGD_top.vtu</mesh>
    <mesh>KGD_bottom.vtu</mesh>
    <mesh>KGD_source.vtu</mesh>
  </meshes>
  <processes>
    <process>
      <name>HMPhaseField</name>
      <type>HM_PHASE_FIELD</type>
      <coupling_scheme>staggered</coupling_scheme>
      <fixed_stress_stabilization_parameter>1.0</fixed_stress_stabilization_parameter>
      <spatial_stabilization_parameter>1.0</spatial_stabilization_parameter>
      <integration_order>2</integration_order>
      <phasefield_model>AT1</phasefield_model>
      <energy_split_model>VolumetricDeviatoric</energy_split_model>
      <irreversible_threshold>0.1</irreversible_threshold>
      <constitutive_relation>
        <type>LinearElasticIsotropic</type>
        <youngs_modulus>E</youngs_modulus>
        <poissons_ratio>nu</poissons_ratio>
      </constitutive_relation>
      <phasefield_parameters>
        <residual_stiffness>k</residual_stiffness>
        <crack_resistance>gc</crack_resistance>
        <crack_length_scale>ls</crack_length_scale>
      </phasefield_parameters>
      <width_init>w_ini</width_init>
      <fluid_compressibility>0.0</fluid_compressibility>
      <diffused_range_parameter>2</diffused_range_parameter>
      <fracture_threshold>0.1</fracture_threshold>
      <fracture_permeability_parameter>10.</fracture_permeability_parameter>
      <process_variables>
        <phasefield>phasefield</phasefield>
        <pressure>pressure</pressure>
        <displacement>displacement</displacement>
      </process_variables>
      <secondary_variables>
        <secondary_variable internal_name="sigma" output_name="sigma" />
        <secondary_variable internal_name="epsilon" output_name="epsilon" />
        <secondary_variable internal_name="width_node" output_name="width_node" />
      </secondary_variables>
      <specific_body_force>0 0</specific_body_force>
      <specific_fracture_direction>0 0</specific_fracture_direction>
    </process>
  </processes>
  <media>
    <medium>
      <phases>
        <phase>
          <type>AqueousLiquid</type>
          <properties>
            <property>
              <name>viscosity</name>
              <type>Constant</type>
              <value>1e-8</value>
            </property>
            <property>
              <name>density</name>
              <type>Constant</type>
              <value>1e3</value>
            </property>
          </properties>
        </phase>
        <phase>
          <type>Solid</type>
          <properties>
            <property>
              <name>density</name>
              <type>Constant</type>
              <value>2.7e3</value>
            </property>
            <property>
              <name>biot_coefficient</name>
              <type>Constant</type>
              <value>0.0</value>
            </property>
          </properties>
        </phase>
      </phases>
      <properties>
        <property>
          <name>reference_temperature</name>
          <type>Constant</type>
          <value>293.15</value>
        </property>
        <property>
          <name>porosity</name>
          <type>Constant</type>
          <value>0.0</value>
        </property>
        <property>
          <name>permeability</name>
          <type>Constant</type>
          <value>1e-19</value>
        </property>
      </properties>
    </medium>
  </media>
  <time_loop>
    <global_process_coupling>
      <max_iter>1000</max_iter>
      <convergence_criteria>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <abstol>1.e-10</abstol>
          <reltol>1.e-6</reltol>
        </convergence_criterion>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <abstol>1.e-10</abstol>
          <reltol>1.e-6</reltol>
        </convergence_criterion>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <abstol>1.e-10</abstol>
          <reltol>1.e-6</reltol>
        </convergence_criterion>
      </convergence_criteria>
      <local_coupling_processes>
        <process_name>pressure</process_name>
        <process_name>displacement</process_name>
        <max_iter>1000</max_iter>
      </local_coupling_processes>
    </global_process_coupling>
    <processes>
      <process ref="HMPhaseField">
        <nonlinear_solver>petsc_snes</nonlinear_solver>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <abstol>1e-10</abstol>
          <reltol>1.e-8</reltol>
        </convergence_criterion>
        <time_discretization>
          <type>BackwardEuler</type>
        </time_discretization>
        <time_stepping>
          <type>FixedTimeStepping</type>
          <t_initial>0</t_initial>
          <t_end>200</t_end>
          <timesteps>
            <pair>
              <repeat>4</repeat>
              <delta_t>5</delta_t>
            </pair>
            <pair>
              <repeat>1</repeat>
              <delta_t>180</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
      <process ref="HMPhaseField">
        <process_name>pressure</process_name>
        <nonlinear_solver>basic_newton_p</nonlinear_solver>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <abstol>1e-10</abstol>
          <reltol>1.e-8</reltol>
        </convergence_criterion>
        <time_discretization>
          <type>BackwardEuler</type>
        </time_discretization>
        <time_stepping>
          <type>FixedTimeStepping</type>
          <t_initial>0</t_initial>
          <t_end>200</t_end>
          <timesteps>
            <pair>
              <repeat>4</repeat>
              <delta_t>5</delta_t>
            </pair>
            <pair>
              <repeat>1</repeat>
              <delta_t>180</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
      <process ref="HMPhaseField">
        <process_name>displacement</process_name>
        <nonlinear_solver>basic_newton_u</nonlinear_solver>
        <convergence_criterion>
          <type>DeltaX</type>
          <norm_type>NORM2</norm_type>
          <abstol>1e-10</abstol>
          <reltol>1.e-8</reltol>
        </convergence_criterion>
        <time_discretization>
          <type>BackwardEuler</type>
        </time_discretization>
        <time_stepping>
          <type>FixedTimeStepping</type>
          <t_initial>0</t_initial>
          <t_end>200</t_end>
          <timesteps>
            <pair>
              <repeat>4</repeat>
              <delta_t>5</delta_t>
            </pair>
            <pair>
              <repeat>1</repeat>
              <delta_t>180</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
    </processes>
    <output>
      <type>VTK</type>
      <prefix>KGD_4core</prefix>
      <variables>
        <variable>displacement</variable>
        <variable>phasefield</variable>
        <variable>pressure</variable>
        <variable>sigma</variable>
        <variable>epsilon</variable>
        <variable>width_node</variable>
        <variable>damage</variable>
        <variable>width</variable>
        <variable>initial_width</variable>
      </variables>
      <output_iteration_results>false</output_iteration_results>
      <timesteps>
        <pair>
          <repeat>1</repeat>
          <each_steps>1</each_steps>
        </pair>
      </timesteps>
    </output>
  </time_loop>
  <parameters>
    <parameter>
      <name>E</name>
      <type>Constant</type>
      <value>17e9</value>
    </parameter>
    <parameter>
      <name>nu</name>
      <type>Constant</type>
      <value>0.2</value>
    </parameter>
    <parameter>
      <name>k</name>
      <type>Constant</type>
      <value>1e-8</value>
    </parameter>
    <parameter>
      <name>gc</name>
      <type>Constant</type>
      <value>120</value>
    </parameter>
    <parameter>
      <name>ls</name>
      <type>Constant</type>
      <value>0.2</value>
    </parameter>
    <parameter>
      <name>displacement0</name>
      <type>Constant</type>
      <values>0 0</values>
    </parameter>
    <parameter>
      <name>phasefield_ic</name>
      <type>MeshNode</type>
      <field_name>pf-ic</field_name>
    </parameter>
    <parameter>
      <name>phasefield_bc</name>
      <type>Constant</type>
      <value>1.</value>
    </parameter>
    <parameter>
      <name>pressure_ic</name>
      <type>Constant</type>
      <value>0.</value>
    </parameter>
    <parameter>
      <name>dirichlet0</name>
      <type>Constant</type>
      <value>0</value>
    </parameter>
    <parameter>
      <name>w_ini</name>
      <type>MeshElement</type>
      <field_name>initial_width</field_name>
    </parameter>
    <parameter>
      <name>source</name>
      <type>Constant</type>
      <value>1e-3</value>
    </parameter>
    <parameter>
      <name>source_injection</name>
      <type>CurveScaled</type>
      <curve>Injection_time</curve>
      <parameter>source</parameter>
    </parameter>
  </parameters>
  <curves>
    <curve>
      <name>Injection_time</name>
      <coords>0. 5. 10. 15. 200.</coords>
      <values>0. 0.5 2. 0. 0.</values>
    </curve>
  </curves>
  <process_variables>
    <process_variable>
      <name>phasefield</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>phasefield_ic</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>KGD_top</mesh>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>phasefield_bc</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>KGD_bottom</mesh>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>phasefield_bc</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>KGD_right</mesh>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>phasefield_bc</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
    <process_variable>
      <name>pressure</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>pressure_ic</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>KGD_right</mesh>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>dirichlet0</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>KGD_bottom</mesh>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>dirichlet0</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>KGD_top</mesh>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>dirichlet0</parameter>
        </boundary_condition>
      </boundary_conditions>
      <source_terms>
        <source_term>
          <mesh>KGD_source</mesh>
          <type>Line</type>
          <parameter>source_injection</parameter>
        </source_term>
      </source_terms>
    </process_variable>
    <process_variable>
      <name>displacement</name>
      <components>2</components>
      <order>1</order>
      <initial_condition>displacement0</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>KGD_left</mesh>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>dirichlet0</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>KGD_right</mesh>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>dirichlet0</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>KGD_bottom</mesh>
          <type>Dirichlet</type>
          <component>1</component>
          <parameter>dirichlet0</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>KGD_top</mesh>
          <type>Dirichlet</type>
          <component>1</component>
          <parameter>dirichlet0</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
  </process_variables>
  <nonlinear_solvers>
    <nonlinear_solver>
      <name>petsc_snes</name>
      <type>PETScSNES</type>
      <max_iter>50</max_iter>
      <linear_solver>linear_solver_d</linear_solver>
    </nonlinear_solver>
    <nonlinear_solver>
      <name>basic_newton_u</name>
      <type>Newton</type>
      <max_iter>100</max_iter>
      <linear_solver>linear_solver_u</linear_solver>
    </nonlinear_solver>
    <nonlinear_solver>
      <name>basic_newton_p</name>
      <type>Newton</type>
      <max_iter>500</max_iter>
      <linear_solver>linear_solver_p</linear_solver>
    </nonlinear_solver>
  </nonlinear_solvers>
  <linear_solvers>
    <linear_solver>
      <name>linear_solver_d</name>
      <eigen>
        <solver_type>BiCGSTAB</solver_type>
        <precon_type>ILUT</precon_type>
        <max_iteration_step>100</max_iteration_step>
        <error_tolerance>1e-16</error_tolerance>
      </eigen>
      <petsc>
        <parameters>-ksp_type cg -pc_type bjacobi -ksp_atol 1e-14 -ksp_rtol 1e-14 -snes_type vinewtonrsls -snes_linesearch_type l2 -snes_atol 1.e-10 -snes_rtol 1.e-10 -snes_max_it 1000 -snes_monitor</parameters>
      </petsc>
    </linear_solver>
    <linear_solver>
      <name>linear_solver_u</name>
      <eigen>
        <solver_type>BiCGSTAB</solver_type>
        <precon_type>ILUT</precon_type>
        <max_iteration_step>10000</max_iteration_step>
        <error_tolerance>1e-16</error_tolerance>
      </eigen>
      <petsc>
        <prefix>u</prefix>
        <parameters>-u_ksp_type bcgs -u_pc_type bjacobi -u_ksp_rtol 1e-10 -u_ksp_atol 1e-10 -u_ksp_max_it 10000</parameters>
      </petsc>
    </linear_solver>
    <linear_solver>
      <name>linear_solver_p</name>
      <eigen>
        <solver_type>BiCGSTAB</solver_type>
        <precon_type>ILUT</precon_type>
        <max_iteration_step>10000</max_iteration_step>
        <error_tolerance>1e-16</error_tolerance>
      </eigen>
      <petsc>
        <prefix>p</prefix>
        <parameters>-p_ksp_type bcgs -p_pc_type hypre -p_pc_hypre_type boomeramg -p_pc_hypre_boomeramg_strong_threshold 0.7 -p_ksp_atol 1e-8 -p_ksp_rtol 1e-8 -p_ksp_monitor</parameters>
      </petsc>
    </linear_solver>
  </linear_solvers>
</OpenGeoSysProject>