Serac  0.1
Serac is an implicit thermal strucural mechanics simulation code.
Classes | Functions | Variables
serac::solid_mechanics Namespace Reference

SolidMechanics helper data types. More...

Classes

struct  ParameterizedLinearIsotropicSolid
 Linear isotropic elasticity material model. More...
 
struct  ParameterizedNeoHookeanSolid
 Neo-Hookean material model. More...
 
struct  underlying_scalar
 Infers type resulting from algebraic expressions of a group of variables. More...
 
struct  ParameterizedJ2Nonlinear
 J2 material with Voce hardening, with hardening parameters exposed as differentiable parameters. More...
 
struct  LinearIsotropic
 Linear isotropic elasticity material model. More...
 
struct  StVenantKirchhoff
 St. Venant Kirchhoff hyperelastic model. More...
 
struct  NeoHookean
 Neo-Hookean material model. More...
 
struct  PowerLawHardening
 Power-law isotropic hardening law. More...
 
struct  VoceHardening
 Voce's isotropic hardening law. More...
 
struct  J2Nonlinear
 J2 material with nonlinear isotropic hardening. More...
 
struct  J2
 a 3D constitutive model for a J2 material with linear isotropic and kinematic hardening. More...
 
struct  ConstantBodyForce
 Constant body force model. More...
 
struct  ConstantTraction
 Constant traction boundary condition model. More...
 

Functions

template<typename T , int dim>
auto greenStrain (const tensor< T, dim, dim > &grad_u)
 Compute Green's strain from the displacement gradient.
 
template<typename T1 , typename T2 , int dim>
auto KirchhoffToPiola (const tensor< T1, dim, dim > &kirchhoff_stress, const tensor< T2, dim, dim > &displacement_gradient)
 Transform the Kirchhoff stress to the Piola stress. More...
 
template<typename T1 , typename T2 , int dim>
auto CauchyToPiola (const tensor< T1, dim, dim > &cauchy_stress, const tensor< T2, dim, dim > &displacement_gradient)
 Transform the Cauchy stress to the Piola stress. More...
 

Variables

const LinearSolverOptions default_linear_options
 default method and tolerances for solving the systems of linear equations that show up in implicit solid mechanics simulations More...
 
const LinearSolverOptions direct_linear_options = {.linear_solver = LinearSolver::SuperLU, .print_level = 0}
 the default direct solver option for solving the linear stiffness equations
 
const NonlinearSolverOptions default_nonlinear_options
 default iteration limits, tolerances and verbosity for solving the systems of nonlinear equations that show up in implicit solid mechanics simulations More...
 
const TimesteppingOptions default_quasistatic_options = {TimestepMethod::QuasiStatic}
 default quasistatic timestepping options for solid mechanics
 
const TimesteppingOptions default_timestepping_options
 default implicit dynamic timestepping options for solid mechanics More...
 

Detailed Description

SolidMechanics helper data types.

Function Documentation

◆ CauchyToPiola()

template<typename T1 , typename T2 , int dim>
auto serac::solid_mechanics::CauchyToPiola ( const tensor< T1, dim, dim > &  cauchy_stress,
const tensor< T2, dim, dim > &  displacement_gradient 
)

Transform the Cauchy stress to the Piola stress.

Template Parameters
T1number-like type of the Cauchy stress components
T2number-like type of the displacement gradient components
dimnumber of spatial dimensions
Parameters
displacement_gradientDisplacement gradient
cauchy_stressCauchy stress
Returns
Piola stress

Definition at line 326 of file solid_material.hpp.

◆ KirchhoffToPiola()

template<typename T1 , typename T2 , int dim>
auto serac::solid_mechanics::KirchhoffToPiola ( const tensor< T1, dim, dim > &  kirchhoff_stress,
const tensor< T2, dim, dim > &  displacement_gradient 
)

Transform the Kirchhoff stress to the Piola stress.

Template Parameters
T1number-like type of the displacement gradient components
T1number-like type of the Kirchhoff stress components
dimnumber of spatial dimensions
Parameters
displacement_gradientDisplacement gradient
kirchhoff_stressKirchhoff stress
Returns
Piola stress

Definition at line 309 of file solid_material.hpp.

Variable Documentation

◆ default_linear_options

const LinearSolverOptions serac::solid_mechanics::default_linear_options
Initial value:
= {.linear_solver = LinearSolver::GMRES,
.preconditioner = Preconditioner::HypreAMG,
.relative_tol = 1.0e-6,
.absolute_tol = 1.0e-16,
.max_iterations = 500,
.print_level = 0}

default method and tolerances for solving the systems of linear equations that show up in implicit solid mechanics simulations

Definition at line 49 of file solid_mechanics.hpp.

◆ default_nonlinear_options

const NonlinearSolverOptions serac::solid_mechanics::default_nonlinear_options
Initial value:
= {.nonlin_solver = NonlinearSolver::Newton,
.relative_tol = 1.0e-4,
.absolute_tol = 1.0e-8,
.max_iterations = 10,
.print_level = 1}

default iteration limits, tolerances and verbosity for solving the systems of nonlinear equations that show up in implicit solid mechanics simulations

Definition at line 68 of file solid_mechanics.hpp.

◆ default_timestepping_options

const TimesteppingOptions serac::solid_mechanics::default_timestepping_options
Initial value:
= {TimestepMethod::Newmark,
DirichletEnforcementMethod::RateControl}

default implicit dynamic timestepping options for solid mechanics

Definition at line 78 of file solid_mechanics.hpp.