OGS
piston.prj
<
OpenGeoSysProject
>
<
mesh
axially_symmetric
="true">piston.vtu</mesh>
<
geometry
>piston.gml</geometry>
<
python_script
>piston_bc.py</python_script>
<
processes
>
<
process
>
<
name
>SD</name>
<
type
>
SMALL_DEFORMATION
</type>
<
integration_order
>2</integration_order>
<constitutive_relation>
<type>
LinearElasticIsotropic
</type>
<
youngs_modulus
>E</youngs_modulus>
<
poissons_ratio
>nu</poissons_ratio>
</constitutive_relation>
<
specific_body_force
>0 0</specific_body_force>
<
process_variables
>
<
process_variable
>displacement</process_variable>
</process_variables>
<
secondary_variables
>
<
secondary_variable
internal_name
="sigma"
output_name
="sigma" />
<
secondary_variable
internal_name
="epsilon"
output_name
="epsilon" />
</secondary_variables>
</process>
</processes>
<
time_loop
>
<
processes
>
<
process
ref
="SD">
<
nonlinear_solver
>basic_newton</nonlinear_solver>
<
convergence_criterion
>
<
type
>
DeltaX
</type>
<
norm_type
>INFINITY_N</norm_type>
<
abstol
>1e-16</abstol>
</convergence_criterion>
<
time_discretization
>
<
type
>
BackwardEuler
</type>
</time_discretization>
<
time_stepping
>
<
type
>
FixedTimeStepping
</type>
<
t_initial
>0</t_initial>
<
t_end
>10</t_end>
<
timesteps
>
<
pair
>
<
repeat
>1</repeat>
<
delta_t
>1</delta_t>
</pair>
</timesteps>
</time_stepping>
</process>
</processes>
<
output
>
<
type
>
VTK
</type>
<
prefix
>piston</prefix>
<
timesteps
>
<
pair
>
<
repeat
>1</repeat>
<
each_steps
>1</each_steps>
</pair>
</timesteps>
<
output_iteration_results
>false</output_iteration_results>
<
variables
>
<
variable
>displacement</variable>
<
variable
>sigma</variable>
<
variable
>epsilon</variable>
</variables>
<
suffix
>
ts
{:timestep}_t_{:time}</suffix>
</output>
</time_loop>
<
media
>
<
medium
>
<
phases
>
<
phase
>
<
type
>
Solid
</type>
<
properties
>
<
property
>
<
name
>density</name>
<
type
>
Constant
</type>
<
value
>1</value>
</property>
</properties>
</phase>
</phases>
</medium>
</media>
<
parameters
>
<
parameter
>
<
name
>E</name>
<
type
>
Constant
</type>
<
value
>1e6</value>
</parameter>
<
parameter
>
<
name
>nu</name>
<
type
>
Constant
</type>
<
value
>.3</value>
</parameter>
<
parameter
>
<
name
>displacement0</name>
<
type
>
Constant
</type>
<
values
>0 0</values>
</parameter>
<
parameter
>
<
name
>zero</name>
<
type
>
Constant
</type>
<
value
>0</value>
</parameter>
</parameters>
<
process_variables
>
<
process_variable
>
<
name
>displacement</name>
<
components
>2</components>
<
order
>1</order>
<
initial_condition
>displacement0</initial_condition>
<
boundary_conditions
>
<
boundary_condition
>
<
geometrical_set
>geom</geometrical_set>
<
geometry
>whole_domain_boundary</geometry>
<
type
>
Python
</type>
<
component
>0</component>
<
bc_object
>bc_x</bc_object>
<
flush_stdout
>false</flush_stdout>
</boundary_condition>
<
boundary_condition
>
<
geometrical_set
>geom</geometrical_set>
<
geometry
>whole_domain_boundary</geometry>
<
type
>
Python
</type>
<
component
>1</component>
<
bc_object
>bc_y</bc_object>
<
flush_stdout
>false</flush_stdout>
</boundary_condition>
</boundary_conditions>
</process_variable>
</process_variables>
<
nonlinear_solvers
>
<
nonlinear_solver
>
<
name
>basic_newton</name>
<
type
>
Newton
</type>
<
max_iter
>50</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-16 -maxiter 10000</lis>
<
eigen
>
<
solver_type
>CG</solver_type>
<
precon_type
>DIAGONAL</precon_type>
<
max_iteration_step
>10000</max_iteration_step>
<
error_tolerance
>1e-16</error_tolerance>
</eigen>
<
petsc
>
<
prefix
>sd</prefix>
<
parameters
>-sd_ksp_type cg -sd_pc_type bjacobi -sd_ksp_rtol 1e-16 -sd_ksp_max_it 10000</parameters>
</petsc>
</linear_solver>
</linear_solvers>
<
test_definition
>
<
vtkdiff
>
<
file
>piston_ts_5_t_5.000000.vtu</file>
<
field
>displacement</field>
<
absolute_tolerance
>1e-16</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
file
>piston_ts_5_t_5.000000.vtu</file>
<
field
>epsilon</field>
<
absolute_tolerance
>1e-14</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
file
>piston_ts_5_t_5.000000.vtu</file>
<
field
>sigma</field>
<
absolute_tolerance
>2e-8</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
file
>piston_ts_10_t_10.000000.vtu</file>
<
field
>displacement</field>
<
absolute_tolerance
>1e-16</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
file
>piston_ts_10_t_10.000000.vtu</file>
<
field
>epsilon</field>
<
absolute_tolerance
>2e-14</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
file
>piston_ts_10_t_10.000000.vtu</file>
<
field
>sigma</field>
<
absolute_tolerance
>3.4e-8</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
</test_definition>
</OpenGeoSysProject>
OGS CTests—Project Files
Mechanics
Linear
PythonPiston
Generated by
1.14.0