28. SOLID_MECHANICS_BC Namelist

28.1. Overview

The SOLID_MECHANICS_BC namelist is used to define boundary conditions for the solid mechanics model at external and internal boundaries. Each instance of the namelist defines a particular condition to impose over a subset \(\Gamma\) of the domain boundary. The boundary subset \(\Gamma\) is specified using mesh face sets. The namelist variable face_set_ids takes a list of face set IDs, and the boundary condition is imposed on all faces belonging to those face sets. Note that ExodusII mesh sides sets are imported into Truchas as face sets with the same IDs. Displacement x/y/z boundary conditions may alternatively be applied to node sets with the namelist variable node_set_ids.

External boundaries

The following types of external boundary conditions can be defined. The outward unit normal to the boundary \(\Gamma\) is denoted \(\hat{n}\). Note the solid mechanics package defaults to a traction-free surface with no displacement constraints at external boundaries.

  • Traction An applied traction condition \((\sigma \cdot \hat{n}) \cdot \hat{m}=\tau_b\) for a given vector \(\hat{m}\) on \(\Gamma\) is defined by setting type to traction-n, traction-x, traction-y, or traction-z. The boundary value \(\tau_b\) is specified using either traction for a constant value, or traction_func for a function.

  • Displacement A dirichlet displacement condition \(u=u_b\) on \(\Gamma\) is defined by setting type to displacement-n, displacement-x, displacement-y, or displacement-z. The boundary value \(\tau_b\) is specified using either displacement for a constant value, or displacement_func for a function.

Internal interfaces

Internal interfaces are merely coincident pairs of conforming external mesh boundaries. These are modifications to the mesh created by Truchas and are defined using the Interface_Side_Sets parameter from the MESH namelist. Only the face set IDs referenced there can be used in the definition of the following interface conditions. The following types of internal interface conditions can be defined.

  • Gap Contact. A gap contact condition models no-penetration sliding contact along internal surfaces \(\Gamma\). It is defined by setting type to gap-contact.

28.2. SOLID_MECHANICS_BC Namelist Features

Required/Optional : Optional
Single/Multiple Instances: Multiple

28.3. Components

name

Description : A unique name used to identify a particular instance of this namelist
Type : string (31 characters max)
Default : none

face_set_ids

Description : A list of face set IDs that define the portion of the boundary where the boundary condition will be imposed.
Type : integer list (32 max)
Default : none

node_set_ids

Description : A list of node set IDs that define the portion of the boundary where the boundary condition will be imposed. It is used to remove the null-space from the solution which is present when a solid part is otherwise free to move or rotate uniformly through space. This option is only valid if type is set to “displacement-x”, “displacement-y”, “displacement-z”.
Type : integer list (32 max)
Default : none

type

Description : The type of boundary condition. The available options are:

Option

Description

displacement-n

Normal displacement is prescribed on the boundary. Use displacement or displacement_func to specify its value.

displacement-x

X-direction displacement is prescribed on the boundary. Use displacement or displacement_func to specify its value.

displacement-y

Y-direction displacement is prescribed on the boundary. Use displacement or displacement_func to specify its value.

displacement-z

Z-direction displacement is prescribed on the boundary. Use displacement or displacement_func to specify its value.

traction-n

Normal traction is applied on the boundary. Use traction or traction_func to specify its value.

traction-x

X-direction traction is applied on the boundary. Use traction or traction_func to specify its value.

traction-y

Y-direction traction is applied on the boundary. Use traction or traction_func to specify its value.

traction-z

Z-direction traction is applied on the boundary. Use traction or traction_func to specify its value.

gap-contact

An internal interface sliding contact condition.

Type : string
Default : none
Notes : X/Y/Z variants can be applied together, e.g. displacement-x, displacement-y, and displacement-z to zero for a no-displacement boundary. Orthogonal conditions of different types may also be applied on the same surfaces, e.g. traction-z and displacement-y. External boundaries with unspecified BCs are given a zero-traction constraint with free displacement.

displacement

Description : The constant value of boundary displacement for a displacement-type boundary condition. To specify a function, use displacement_func instead.
Default : none
Type : real

displacement_func

Description : The name of a FUNCTION namelist defining a function that gives the boundary displacement for a displacement-type boundary condition. The function is expected to be a function of \((t,x,y,z)\).
Default : none
Type : string

traction

Description : The constant value of boundary traction for a traction-type boundary condition. To specify a function, use traction_func instead.
Default : none
Type : real

traction_func

Description : The name of a FUNCTION namelist defining a function that gives the boundary traction for a traction-type boundary condition. The function is expected to be a function of \((t,x,y,z)\).
Default : none
Type : string