OGS
|
<OpenGeoSysProject>
<meshes>
<mesh>shear.vtu</mesh>
<mesh>shear_bottom.vtu</mesh>
<mesh>shear_top.vtu</mesh>
<mesh>shear_left.vtu</mesh>
<mesh>shear_right.vtu</mesh>
</meshes>
<processes>
<process>
<name>PhaseField</name>
<type>PHASE_FIELD</type>
<coupling_scheme>staggered</coupling_scheme>
<integration_order>2</integration_order>
<phasefield_model>AT2</phasefield_model>
<energy_split_model>OrthoVolDev</energy_split_model>
<irreversible_threshold>0.05</irreversible_threshold>
<constitutive_relation>
<type>LinearElasticOrthotropic</type>
<youngs_moduli>E</youngs_moduli>
<poissons_ratios>nu</poissons_ratios>
<shear_moduli>G</shear_moduli>
</constitutive_relation>
<phasefield_parameters>
<residual_stiffness>k</residual_stiffness>
<crack_resistance>gc</crack_resistance>
<crack_length_scale>ls</crack_length_scale>
</phasefield_parameters>
<solid_density>rho_sr</solid_density>
<process_variables>
<phasefield>phasefield</phasefield>
<displacement>displacement</displacement>
</process_variables>
<secondary_variables>
<secondary_variable internal_name="sigma" output_name="sigma" type="static" />
<secondary_variable internal_name="sigma_tensile" output_name="sigma_tensile" type="static" />
<secondary_variable internal_name="epsilon" output_name="epsilon" type="static" />
<secondary_variable internal_name="eps_tensile" output_name="eps_tensile" type="static" />
<secondary_variable internal_name="sigma_compressive" output_name="sigma_compressive" type="static" />
</secondary_variables>
<specific_body_force>0 0</specific_body_force>
</process>
</processes>
<time_loop>
<global_process_coupling>
<max_iter>10000</max_iter>
<convergence_criteria>
<convergence_criterion>
<type>DeltaX</type>
<norm_type>NORM2</norm_type>
<abstol>1.e-1</abstol>
<reltol>1.e-1</reltol>
</convergence_criterion>
<convergence_criterion>
<type>DeltaX</type>
<norm_type>INFINITY_N</norm_type>
<abstol>1.e-4</abstol>
<reltol>1.e-10</reltol>
</convergence_criterion>
</convergence_criteria>
</global_process_coupling>
<processes>
<process ref="PhaseField">
<nonlinear_solver>basic_newton_u</nonlinear_solver>
<convergence_criterion>
<type>DeltaX</type>
<norm_type>NORM2</norm_type>
<reltol>1.e-12</reltol>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>FixedTimeStepping</type>
<t_initial>0</t_initial>
<t_end>1.0</t_end>
<timesteps>
<pair>
<repeat>10</repeat>
<delta_t>0.01</delta_t>
</pair>
<pair>
<repeat>1</repeat>
<delta_t>0.0001</delta_t>
</pair>
</timesteps>
</time_stepping>
</process>
<process ref="PhaseField">
<nonlinear_solver>petsc_snes</nonlinear_solver>
<convergence_criterion>
<type>DeltaX</type>
<norm_type>NORM2</norm_type>
<reltol>1.e-14</reltol>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>FixedTimeStepping</type>
<t_initial>0</t_initial>
<t_end>1.0</t_end>
<timesteps>
<pair>
<repeat>10</repeat>
<delta_t>0.01</delta_t>
</pair>
<pair>
<repeat>1</repeat>
<delta_t>0.0001</delta_t>
</pair>
</timesteps>
</time_stepping>
</process>
</processes>
<output>
<variables>
<variable>displacement</variable>
<variable>phasefield</variable>
<variable>sigma</variable>
<variable>sigma_tensile</variable>
<variable>epsilon</variable>
<variable>epsilon_tensile</variable>
<variable>NodalForces</variable>
<variable>bulk_node_ids</variable>
<variable>bulk_element_ids</variable>
</variables>
<type>VTK</type>
<prefix>shear_deg_0</prefix>
<timesteps>
<pair>
<repeat>100</repeat>
<each_steps>1</each_steps>
</pair>
<pair>
<repeat>10</repeat>
<each_steps>1</each_steps>
</pair>
</timesteps>
</output>
</time_loop>
<local_coordinate_system>
<basis_vector_0>e0</basis_vector_0>
<basis_vector_1>e1</basis_vector_1>
</local_coordinate_system>
<parameters>
<parameter>
<name>E</name>
<type>Constant</type>
<values>6.0e9 13.8e9 13.8e9</values>
</parameter>
<parameter>
<name>nu</name>
<type>Constant</type>
<values>0.22 0.44 0.22</values>
</parameter>
<parameter>
<name>G</name>
<type>Constant</type>
<values>3.2e9 1.6e9 3.2e9</values>
</parameter>
<parameter>
<name>gc</name>
<type>Constant</type>
<value>0.5</value>
</parameter>
<parameter>
<name>e0</name>
<type>Constant</type>
<values>1.0 0.0</values>
</parameter>
<parameter>
<name>e1</name>
<type>Constant</type>
<values>0.0 1.0</values>
</parameter>
<parameter>
<name>k</name>
<type>Constant</type>
<value>1e-8</value>
</parameter>
<parameter>
<name>ls</name>
<type>Constant</type>
<value>1.e-4</value>
</parameter>
<parameter>
<name>rho_sr</name>
<type>Constant</type>
<value>0.0</value>
</parameter>
<parameter>
<name>displacement0</name>
<type>Constant</type>
<values>0 0</values>
</parameter>
<parameter>
<name>phasefield_ic</name>
<type>Constant</type>
<value>1</value>
</parameter>
<parameter>
<name>phasefield_bc</name>
<type>Constant</type>
<value>1</value>
</parameter>
<parameter>
<name>dirichlet0</name>
<type>Constant</type>
<value>0</value>
</parameter>
<parameter>
<name>dirichlet_top</name>
<type>Constant</type>
<value>1.0e-6</value>
</parameter>
<parameter>
<name>dirichlet_bottom</name>
<type>Constant</type>
<value>-1.0e-6</value>
</parameter>
<parameter>
<name>dirichlet_top_time</name>
<type>CurveScaled</type>
<curve>dirichlet_time</curve>
<parameter>dirichlet_top</parameter>
</parameter>
<parameter>
<name>dirichlet_bottom_time</name>
<type>CurveScaled</type>
<curve>dirichlet_time</curve>
<parameter>dirichlet_bottom</parameter>
</parameter>
</parameters>
<curves>
<curve>
<name>dirichlet_time</name>
<coords>0 1.0</coords>
<values>0 1.0</values>
</curve>
</curves>
<process_variables>
<process_variable>
<name>displacement</name>
<components>2</components>
<order>1</order>
<initial_condition>displacement0</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>shear_bottom</mesh>
<type>Dirichlet</type>
<component>1</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<mesh>shear_bottom</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<mesh>shear_top</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>dirichlet_top_time</parameter>
</boundary_condition>
<boundary_condition>
<mesh>shear_top</mesh>
<type>Dirichlet</type>
<component>1</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
<process_variable>
<name>phasefield</name>
<components>1</components>
<order>1</order>
<initial_condition>phasefield_ic</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>shear_top</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>phasefield_bc</parameter>
</boundary_condition>
<boundary_condition>
<mesh>shear_bottom</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>phasefield_bc</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>200</max_iter>
<linear_solver>linear_solver_u</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>10000</max_iteration_step>
<error_tolerance>1e-16</error_tolerance>
</eigen>
<petsc>
<parameters>-ksp_type cg -pc_type bjacobi -ksp_atol 1e-10 -ksp_rtol 1e-8 -snes_type vinewtonrsls -snes_linesearch_type l2 -snes_atol 1.e-6 -snes_rtol 1.e-6 -snes_max_it 1000 -snes_monitor</parameters>
</petsc>
</linear_solver>
<linear_solver>
<name>linear_solver_u</name>
<petsc>
<prefix>u</prefix>
<parameters>-u_ksp_type cg -u_pc_type hypre -u_pc_hypre_type boomeramg -u_pc_hypre_boomeramg_strong_threshold 0.7 -u_ksp_atol 1e-16 -u_ksp_rtol 1e-6</parameters>
</petsc>
</linear_solver>
</linear_solvers>
</OpenGeoSysProject>