OGS
|
<OpenGeoSysProject>
<meshes>
<mesh>bar1to6.vtu</mesh>
<mesh>bar1to6_top.vtu</mesh>
<mesh>bar1to6_bottom.vtu</mesh>
</meshes>
<processes>
<process>
<name>Mechanics</name>
<type>LARGE_DEFORMATION</type>
<integration_order>2</integration_order>
<constitutive_relation>
<type>MFront</type>
<behaviour>SaintVenantKirchhoff</behaviour>
<material_properties>
<material_property name="YoungModulus" parameter="E" />
<material_property name="PoissonRatio" parameter="nu" />
</material_properties>
</constitutive_relation>
<specific_body_force>0 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_variable internal_name="deformation_gradient" output_name="deformation_gradient" />
<secondary_variable internal_name="volume_ratio" output_name="volume_ratio" />
</secondary_variables>
</process>
</processes>
<media>
<medium>
<phases>
<phase>
<type>Solid</type>
<properties>
<property>
<name>density</name>
<type>Constant</type>
<value>1</value>
</property>
</properties>
</phase>
</phases>
</medium>
</media>
<time_loop>
<processes>
<process ref="Mechanics">
<nonlinear_solver>basic_newton</nonlinear_solver>
<convergence_criterion>
<type>DeltaX</type>
<norm_type>NORM2</norm_type>
<abstol>1e-13</abstol>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>FixedTimeStepping</type>
<t_initial>0</t_initial>
<t_end>0.05</t_end>
<timesteps>
<pair>
<repeat>1</repeat>
<delta_t>0.01</delta_t>
</pair>
</timesteps>
</time_stepping>
</process>
</processes>
<output>
<type>VTK</type>
<prefix>bar1to6_torsion</prefix>
<timesteps>
<pair>
<repeat>1</repeat>
<each_steps>1</each_steps>
</pair>
</timesteps>
<variables />
<suffix>ts{:timestep}_t_{:time}</suffix>
</output>
</time_loop>
<parameters>
<parameter>
<name>E</name>
<type>Constant</type>
<value>1</value>
</parameter>
<parameter>
<name>nu</name>
<type>Constant</type>
<value>.3</value>
</parameter>
<parameter>
<name>displacement0</name>
<type>Constant</type>
<values>0 0 0</values>
</parameter>
<parameter>
<name>zero</name>
<type>Constant</type>
<value>0</value>
</parameter>
<parameter>
<name>translation_z</name>
<type>Function</type>
<expression>3*t</expression>
</parameter>
<parameter>
<name>rotation_x</name>
<type>Function</type>
<expression>var R := sqrt(x^2 + y^2); var phi := if (R == 0, 0, atan2(y, x)); var theta := if (phi < 0, phi + 2 * pi, phi); R * cos(theta + pi * t) - x</expression>
</parameter>
<parameter>
<name>rotation_y</name>
<type>Function</type>
<expression>var R := sqrt(x^2 + y^2); var phi := if (R == 0, 0, atan2(y, x)); var theta := if (phi < 0, phi + 2 * pi, phi); R * sin(theta + pi * t) - y</expression>
</parameter>
</parameters>
<process_variables>
<process_variable>
<name>displacement</name>
<components>3</components>
<order>1</order>
<initial_condition>displacement0</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>bar1to6_bottom</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>zero</parameter>
</boundary_condition>
<boundary_condition>
<mesh>bar1to6_bottom</mesh>
<type>Dirichlet</type>
<component>1</component>
<parameter>zero</parameter>
</boundary_condition>
<boundary_condition>
<mesh>bar1to6_bottom</mesh>
<type>Dirichlet</type>
<component>2</component>
<parameter>zero</parameter>
</boundary_condition>
<boundary_condition>
<mesh>bar1to6_top</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>rotation_x</parameter>
</boundary_condition>
<boundary_condition>
<mesh>bar1to6_top</mesh>
<type>Dirichlet</type>
<component>1</component>
<parameter>rotation_y</parameter>
</boundary_condition>
<boundary_condition>
<mesh>bar1to6_top</mesh>
<type>Dirichlet</type>
<component>2</component>
<parameter>translation_z</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
</process_variables>
<nonlinear_solvers>
<nonlinear_solver>
<name>basic_newton</name>
<type>Newton</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>
<eigen>
<solver_type>SparseLU</solver_type>
<scaling>true</scaling>
<precon_type>DIAGONAL</precon_type>
<max_iteration_step>10000</max_iteration_step>
<error_tolerance>1e-16</error_tolerance>
</eigen>
</linear_solver>
</linear_solvers>
<test_definition>
<vtkdiff>
<file>bar1to6_torsion_ts_5_t_0.050000.vtu</file>
<field>displacement</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<file>bar1to6_torsion_ts_5_t_0.050000.vtu</file>
<field>NodalForces</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<file>bar1to6_torsion_ts_5_t_0.050000.vtu</file>
<field>sigma</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<file>bar1to6_torsion_ts_5_t_0.050000.vtu</file>
<field>epsilon</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>bar1to6_torsion_ts_5_t_0.050000.vtu</regex>
<field>deformation_gradient</field>
<absolute_tolerance>5e-15</absolute_tolerance>
<relative_tolerance>1e-16</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>bar1to6_torsion_ts_5_t_0.050000.vtu</regex>
<field>volume_ratio</field>
<absolute_tolerance>5e-15</absolute_tolerance>
<relative_tolerance>1e-16</relative_tolerance>
</vtkdiff>
</test_definition>
</OpenGeoSysProject>