SolidMechanicsPDEComponent
SolidMechanicsPDEComponent[vars,pars]
yields solid mechanics PDE terms with variables vars and parameters pars.
Details




- SolidMechanicsPDEComponent returns partial differential equations for solid mechanics analysis.
- SolidMechanicsPDEComponent returns a sum of differential operators to be used as a part of partial differential equations:
- SolidMechanicsPDEComponent models the resulting displacement of a body subject to applied loads and constraints.
- SolidMechanicsPDEComponent creates PDE components for stationary, time-dependent, parametric, frequency-response and eigenmode analysis.
- SolidMechanicsPDEComponent models solid mechanics phenomena with displacements
,
and
in units of meters [
] as dependent variables,
as independent variables in units of [
], time variable
in units of seconds [
] and angular frequency
in units of radians per second.
- SolidMechanicsPDEComponent creates PDE components in two and three space dimensions.
- Stationary variables vars are vars={{u[x1,…,xn],v[x1,…,xn],…},{x1,…,xn}}.
- Time-dependent or eigenmode variables vars are vars={{u[t,x1,…,xn],v[t,x1,…,xn],…},t,{x1,…,xn}}.
- Frequency-dependent variables vars are vars={{u[x1,…,xn],v[x1,…,xn],…},ω,{x1,…,xn}}.
- The equations for different analysis types SolidMechanicsPDEComponent generates depend on the form of vars.
- The stationary equilibrium equations of the solid mechanics PDE SolidMechanicsPDEComponent with mass density
[
], stress tensor
[
], strain tensor
, displacement vector
[
] and body load vectors
[
] or
[
] are based on:
- The time-dependent equilibrium equation of the solid mechanics model SolidMechanicsPDEComponent is based on:
- The eigenfrequency equation of the solid mechanics model SolidMechanicsPDEComponent with eigenvalues
is based on:
- The frequency response equation of the solid mechanics model SolidMechanicsPDEComponent with angular frequency
is based on:
- The units of the solid mechanics model terms are a force density [
].
- The following parameters pars can be given:
-
parameter default symbol "AnalysisType" Automatic none "BodyLoad" 0 , body force density [
]
"BodyLoadValue" 0 , body acceleration [
]
"MassDensity" - , density [
]
"Material" - none "MaterialSymmetry" "Isotropic" none "SolidMechanicsMaterialModel" "LinearElastic" none "SolidMechanicsModelForm" "Solid" none - When the "AnalysisType" is Automatic, then the model generated depends on the form of vars.
- For eigenfrequency analysis, "AnalysisType" needs to be set to "Eigenmode" and time-dependent variables tvars need to be used.
- If a "Material" is specified, the material constants are extracted from the material data; otherwise, relevant material parameters need to be specified.
- For linear elastic isotropic material, any two moduli can be used:
-
parameter name "BulkModulus" "LameParameter" "PoissonRatio" "PWaveModulus" "ShearModulus" "YoungModulus" - The parameter "SolidMechanicsModelForm" can be "Solid", "PlaneStress", "PlaneStrain", "ExtendedPlaneStress" or "ExtendedPlaneStrain".
- For the "PlaneStress", the "PlaneStrain", the "ExtendedPlaneStress" or "ExtendedPlaneStrain" models, a "Thickness" parameter needs to be defined.
- The default material model is a linear elastic isotropic material model.
- The following material symmetries for linear elastic small deformation models are available:
-
material symmetry name "Isotropic" "Orthotropic" "TransverselyIsotropic" "Anisotropic" - The following isotropic compressible hyperelastic large deformation material models are available:
-
material model name "StVenantKirchhoff" "NeoHookean" - The following nearly isotropic incompressible hyperelastic large deformation material models are available:
-
material model name "ArrudaBoyce" "Gent" "MooneyRivlin" "NeoHookean" "Yeoh" - The kinematic equation uses an infinitesimal, small deformation strain measure:
- For nonlinear material laws, the kinematic equation uses the Green–Lagrange strain measure based on the deformation gradient
, where
is the identity matrix:
- The constitutive equation for the linear elastic material models with elasticity matrix
,
an initial stress,
an initial strain and
a thermal strain is given by:
- The normal strain components
and the shear strain components
use Voigt notation with the following order:
- The normal stress components
and the shear stress components
use Voigt notation with the following order:
- The "PlaneStrain" model assumes 0 strain in the
direction for
.
- The "PlaneStress" model assumes 0 stresses in the
direction for
.
- "RegionSymmetry""Axisymmetric" uses a truncated cylindrical coordinate system and assumes a displacement of
in the
direction and
. Note that
.
- The constitutive equation for the linear elastic isotropic material with Young's modulus
and Poisson ratio
is given by:
- A thermal strain
can be added with the coefficient thermal expansion
in units of [
], thermal strain temperature
[
] and thermal strain reference temperature
[
]:
- The following subparameters can be given for the "LinearElastic" "Isotropic" material model:
-
parameter default symbol "InitialStrain" 0 , initial strain
"InitialStress" 0 , initial stress [
]
"PoissonRatio" Automatic , Poisson ratio
"ThermalExpansion" 0 , coefficient of thermal expansion [
]
"ThermalStrainTemperature" 0 , temperature [
]
"ThermalStrainReferenceTemperature" 0 , temperature [
]
"YoungModulus" Automatic , Young modulus [
]
- The constitutive equation for the linear elastic orthotropic material model with compliance matrix
is given by:
- The elasticity matrix is the inverse of compliance matrix
.
- The linear elastic orthotropic compliance matrix
with shear modulus
is given by:
- For the linear elastic orthotropic material model, the coefficient of thermal expansion
depends on direction:
- The following subparameters can be given for the "LinearElastic" "Orthotropic" material model:
-
parameter default symbol "InitialStrain" 0 , initial strain
"InitialStress" 0 , initial stress [
]
"PoissonRatio" - ,
,
,
,
,
Poisson ratios
"ShearModulus" - ,
,
shear moduli [
]
"ThermalExpansion" 0 ,
,
, coefficient of thermal expansion [
]
"ThermalStrainTemperature" 0 , temperature [
]
"ThermalStrainReferenceTemperature" 0 , temperature [
]
"YoungModulus" - ,
,
Young moduli [
]
- Poisson ratio, shear modulus and Young's modulus are specified as formal indexed variables.
- For the anisotropic material model, the full elasticity matrix
needs to be specified:
- Alternatively, the compliance matrix
can be specified.
- For the linear elastic anisotropic material model, the coefficient of thermal expansion
depends on direction:
- The following subparameters can be given for the "LinearElastic" "Anisotropic" material model:
-
parameter default symbol "ComplianceMatrix" - , compliance matrix
"ElasticityMatrix" - , elasticity matrix,
"InitialStrain" 0 , initial strain
"InitialStress" 0 , initial stress [
]
"ThermalExpansion" 0 ,
,
,
,
,
, coefficient of thermal expansion [
]
"ThermalStrainTemperature" 0 , temperature [
]
"ThermalStrainReferenceTemperature" 0 , temperature [
]
- Compressible and nearly incompressible hyperelastic material models are available. Nearly incompressible models are the default, when available.
- The "ArrudaBoyce" material model is based on the energy density function
, where
is the number of polymer chains in a network,
the number of segments in a single chain,
the Boltzmann constant,
the absolute temperature,
a chain stretch and
the Langevin function.
- The "Gent" material model is based on the energy density function
, where
is the first strain invariant,
the shear modulus and
the limiting value.
- The "NeoHookean" material model is based on the energy density function
, where
is the first Lamé constant,
the second constant,
the right Cauchy–Green tensor and
the deformation gradient.
- The compressible "StVenantKirchhoff" material model is based on the energy density function
, where
is the first Lamé constant,
the second constant and
the Green–Lagrange strain.
- The "MooneyRivlin" material model is based on the energy density function
, where
are material coefficients and
and
are the first and second isochoric strain invariants.
- The "Yeoh" material model is based on the energy density function
, where the
are model constants,
is the first invariant.
- When available, the "Compressibility" of a model can be specified as either "NearlyIncompressibile" or "Compressibile".
- Near incompressibility is implemented as a hydrostatic pressure
added to the strain energy density function
, where
is the material's bulk modulus.
- Plane strain and plane stress model forms are available for all hyperelastic models.
- All hyperelastic material models can make use of a standard reinforcing material model, to model transverse isotropic material, like fiber reinforced materials.
- SolidMechanicsPDEComponent uses "SIBase" units. The geometry has to be in the same units as the PDE.
- If the SolidMechanicsPDEComponent depends on parameters
that are specified in the association pars as …,keypi…,pivi,…], the parameters
are replaced with
.


















Examples
open allclose allBasic Examples (3)
Scope (22)
Basic Examples (3)
Stationary Analysis (2)
Stationary Plane Stress Analysis (4)
Compute the displacement of a rectangular steel plate held fixed at the left and with a forced displacement on the right. Set up the region, variables and parameters:
Compute a plane stress case as an extended model. This allows for the computation of the out-of-plane strain and verifies that the out-of-plane stress is 0. A rectangular steel plate is held fixed at the left and with a forced displacement on the right. Set up the region, variables and parameters. The variables now include all three directions:
Solve the equations with thee semi-dependent variables:
Note that now there are three output variables in the list of displacements. Visualize the displacement for the main variables:
Note, that the strain is a 3 by 3 array. Visualize the out-of-plane strain:
Compute the stress from the strain:
Note, that the stress is a 3 by 3 array. Verify the plane stress condition:
Compute the displacement of a rectangular steel plate held fixed at the left and with a pressure applied at the right end. Set up the region, variables and parameters:
Compute the displacement of a rectangular steel plate held fixed at the bottom and with pressures applied at the remaining sides. Set up the region, variables and parameters:
Verify that the normal strain in the direction is about 0:
Visualize the normal strain in the direction:
Verify that the normal strain in the direction is about 0:
Stationary Plane Strain Analysis (3)
Define a 2D plane strain PDE model:
Define an extended plane strain PDE model:
Compute a plane strain case as an extended model. This allows for the computation of the out-of-plane stress and verifies that the out-of-plane strain is 0. Set up the region, variables and parameters. The variables now include all three directions:
Set up the solid mechanics PDE component:
Compute the strains from the displacements:
Note that the strain is a 3×3 array. Verify the plane strain condition:
Compute the stress from the strain:
Note that the stress is a 3×3 array. Visualize the out-of-plane stress:
Time-Dependent Analysis (3)
Define a time-dependent solid mechanics model for a particular material:
Simulate a time-dependent force on a beam. Set up a region, variables and a material:
Create a time dependent force at the right end of the beam:
Set up zero initial conditions and the initial velocity condition:
Solve the time-dependent PDE and monitor the progress:
Visualize the -displacement over time at a query point:
Simulate a time-dependent force on a cross section of a spoon considering a Rayleigh damping model. Set up a region, variables and a material:
Set up the PDE and solve while monitoring progress:
Eigenmode Analysis (2)
Hyperelastic Material Model (2)
Set up the variables and the model parameters for a piece of rubber that is held fixed at the left and a pressure is applied on the right. A neo-Hookean hyperelastic material model is used:
Set up the equation and solve for the displacement:
Visualize the deformed body over the original shape of the body:
Set up the variables and the model parameters for a neo-Hookean hyperelastic material model:
Fiber Reinforced Material Model (1)
Set up the variables and the model parameters for a fiber-reinforced piece of rubber that is held fixed at the left and a pressure is applied on the right. A neo-Hookean hyperelastic material model is used:
Visualize the fiber reinforcement in the geometry:
Set up the equation and solve for the displacement:
Visualize the deformed body over the original shape of the body:
Multi-material Models (1)
A compliance matrix needs to be specified as a matrix. This is also true for multi-material models. This example shows how to do that. Specify two compliance matrices:
Create a multi-material compliance matrix, where material 1 is to be used for values in the geometry where , and material 2 is used in all other cases:
Note that the compliance matrix now is a matrix:
Set up the parameters to make use of the multi-material compliance matrix:
Non-axis-aligned Material Model (1)
Applications (1)
Geotechnical (1)
When modeling soil in geotechnical applications, the Young modulus can change with the depth of the soil. This example explores a position-dependent Young's modulus. We use a rectangular slab of soild that is 100 meters wide and 100 meters deep:
Next, we set up variables and parameters. At this point, we have a symbolic Young modulus :
We have a force in the negative direction acting on part of the top:
On the left- and right-hand side we constrain the movement in the direction; in the
direction, the soil is able to move freely. At the bottom, the soil can move in the
direction but not in the
direction. This models a scenario where the soil is "standing" on a harder ground that does not move:
Solve the PDE on a refined mesh with the Young modulus set to baseYoungModulus:
Create a helper function to compute the von Mises stress:
Compute the von Mises stress for the constant Young modulus:
Make a contour plot of the von Mises stress:
Now we create a Young modulus depending on the depth :
Solve the PDE on a refined mesh with replaced with the variable-depth Young modulus:
Visualize the von Mises stress:
Plot the difference between the von Mises stress of the two models:
Plot the difference between the von Mises stress of the two models with the full plot range:
Text
Wolfram Research (2021), SolidMechanicsPDEComponent, Wolfram Language function, https://reference.wolfram.com/language/ref/SolidMechanicsPDEComponent.html (updated 2025).
CMS
Wolfram Language. 2021. "SolidMechanicsPDEComponent." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/SolidMechanicsPDEComponent.html.
APA
Wolfram Language. (2021). SolidMechanicsPDEComponent. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SolidMechanicsPDEComponent.html