SolidMechanicsPDEComponent

SolidMechanicsPDEComponent[vars,pars]

yields solid mechanics PDE terms with variables vars and parameters pars.

Details

  • SolidMechanicsPDEComponent returns a differential operator 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 [TemplateBox[{InterpretationBox[, 1], "m", meters, "Meters"}, QuantityTF]] as dependent variables, as independent variables in units of [TemplateBox[{InterpretationBox[, 1], "m", meters, "Meters"}, QuantityTF]], time variable in units of seconds [TemplateBox[{InterpretationBox[, 1], "s", seconds, "Seconds"}, QuantityTF]] 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 [TemplateBox[{InterpretationBox[, 1], {"kg", , "/", , {"m", ^, 3}}, kilograms per meter cubed, {{(, "Kilograms", )}, /, {(, {"Meters", ^, 3}, )}}}, QuantityTF]], stress tensor [TemplateBox[{InterpretationBox[, 1], "Pa", pascals, "Pascals"}, QuantityTF]], strain tensor , displacement vector [TemplateBox[{InterpretationBox[, 1], "m", meters, "Meters"}, QuantityTF]] and body load vectors [TemplateBox[{InterpretationBox[, 1], {"N", , "/", , {"m", ^, 3}}, newtons per meter cubed, {{(, "Newtons", )}, /, {(, {"Meters", ^, 3}, )}}}, QuantityTF]] or [TemplateBox[{InterpretationBox[, 1], {"m", , "/", , {"s", ^, 2}}, meters per second squared, {{(, "Meters", )}, /, {(, {"Seconds", ^, 2}, )}}}, QuantityTF]] 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 [TemplateBox[{InterpretationBox[, 1], {"N", , "/", , {"m", ^, 3}}, newtons per meter cubed, {{(, "Newtons", )}, /, {(, {"Meters", ^, 3}, )}}}, QuantityTF]].
  • The following parameters pars can be given:
  • parameterdefaultsymbol
    "AnalysisType"Automaticnone
    "BodyLoad"0
  • , body force density [TemplateBox[{InterpretationBox[, 1], {"N", , "/", , {"m", ^, 3}}, newtons per meter cubed, {{(, "Newtons", )}, /, {(, {"Meters", ^, 3}, )}}}, QuantityTF]]
  • "BodyLoadValue"0
  • , body acceleration [TemplateBox[{InterpretationBox[, 1], {"m", , "/", , {"s", ^, 2}}, meters per second squared, {{(, "Meters", )}, /, {(, {"Seconds", ^, 2}, )}}}, QuantityTF]]
  • "MassDensity"-
  • , density [TemplateBox[{InterpretationBox[, 1], {"kg", , "/", , {"m", ^, 3}}, kilograms per meter cubed, {{(, "Kilograms", )}, /, {(, {"Meters", ^, 3}, )}}}, QuantityTF]]
  • "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" or "PlaneStrain".
  • For the "PlaneStress" and the "PlaneStress" 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 GreenLagrange 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 [1TemplateBox[{InterpretationBox[, 1], {"/", , "K"}, reciprocal kelvins, {1, /, {(, "Kelvins", )}}}, QuantityTF]], thermal strain temperature [TemplateBox[{InterpretationBox[, 1], "K", kelvins, "Kelvins"}, QuantityTF]] and thermal strain reference temperature [TemplateBox[{InterpretationBox[, 1], "K", kelvins, "Kelvins"}, QuantityTF]]:
  • The following subparameters can be given for the "LinearElastic" "Isotropic" material model:
  • parameterdefaultsymbol
    "InitialStrain"0, initial strain
    "InitialStress"0, initial stress [TemplateBox[{InterpretationBox[, 1], "Pa", pascals, "Pascals"}, QuantityTF]]
    "PoissonRatio"Automatic, Poisson ratio
    "ThermalExpansion"0, coefficient of thermal expansion [1TemplateBox[{InterpretationBox[, 1], {"/", , "K"}, reciprocal kelvins, {1, /, {(, "Kelvins", )}}}, QuantityTF]]
    "ThermalStrainTemperature"0, temperature [TemplateBox[{InterpretationBox[, 1], "K", kelvins, "Kelvins"}, QuantityTF]]
    "ThermalStrainReferenceTemperature"0, temperature [TemplateBox[{InterpretationBox[, 1], "K", kelvins, "Kelvins"}, QuantityTF]]
    "YoungModulus"Automatic, Young modulus [TemplateBox[{InterpretationBox[, 1], "Pa", pascals, "Pascals"}, QuantityTF]]
  • 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:
  • parameterdefaultsymbol
    "InitialStrain"0, initial strain
    "InitialStress"0, initial stress [TemplateBox[{InterpretationBox[, 1], "Pa", pascals, "Pascals"}, QuantityTF]]
    "PoissonRatio"-, , , , , Poisson ratios
    "ShearModulus"-, , shear moduli [TemplateBox[{InterpretationBox[, 1], "Pa", pascals, "Pascals"}, QuantityTF]]
    "ThermalExpansion"0, , , coefficient of thermal expansion [TemplateBox[{{InterpretationBox[, 1], 1}, {"/", , "K"}, reciprocal kelvins, {1, /, {(, "Kelvins", )}}}, QuantityTF]]
    "ThermalStrainTemperature"0, temperature [TemplateBox[{InterpretationBox[, 1], "K", kelvins, "Kelvins"}, QuantityTF]]
    "ThermalStrainReferenceTemperature"0, temperature [TemplateBox[{InterpretationBox[, 1], "K", kelvins, "Kelvins"}, QuantityTF]]
    "YoungModulus"-, , Young moduli [TemplateBox[{InterpretationBox[, 1], "Pa", pascals, "Pascals"}, QuantityTF]]
  • 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:
  • parameterdefaultsymbol
    "ComplianceMatrix"-, compliance matrix
    "ElasticityMatrix"-, elasticity matrix,
    "InitialStrain"0, initial strain
    "InitialStress"0, initial stress [TemplateBox[{InterpretationBox[, 1], "Pa", pascals, "Pascals"}, QuantityTF]]
    "ThermalExpansion"0, , , , ,, coefficient of thermal expansion [TemplateBox[{{InterpretationBox[, 1], 1}, {"/", , "K"}, reciprocal kelvins, {1, /, {(, "Kelvins", )}}}, QuantityTF]]
    "ThermalStrainTemperature"0, temperature [TemplateBox[{InterpretationBox[, 1], "K", kelvins, "Kelvins"}, QuantityTF]]
    "ThermalStrainReferenceTemperature"0, temperature [TemplateBox[{InterpretationBox[, 1], "K", kelvins, "Kelvins"}, QuantityTF]]
  • 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 L 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 CauchyGreen 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 GreenLagrange 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 all

Basic Examples  (3)

Define a solid mechanics PDE model:

Define a symbolic solid mechanics PDE model:

Define a symbolic time-dependent solid mechanics PDE model:

Scope  (19)

Basic Examples  (3)

Activate a solid mechanics PDE model:

Define a stationary solid mechanics model with a particular material:

Define a model with material values specified:

Stationary Analysis  (2)

Compute the deflection of a spoon held fixed at the end and with a force applied at the top. Set up variables and parameters:

Set up the PDE and the geometry:

Visualize the displacement:

Define a symbolic solid mechanics PDE model that considers thermal expansion:

Stationary Plane Stress Analysis  (3)

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:

Solve the equations:

Visualize the displacement:

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:

Solve the equations:

Visualize the displacement:

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:

Solve the equations:

Visualize the displacement:

Compute the strain:

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:

Visualize the normal strain in the direction:

Find the shear strain:

Visualize the normal strain in the - direction:

Stationary Plane Strain Analysis  (1)

Define a 2D plane strain PDE model:

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:

Set up the PDE model:

Create a time dependent force at the right end of the beam:

Fix the beam on the left:

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:

Visualize the -displacement over time at a query point:

Visualize the displacement:

Eigenmode Analysis  (2)

Define an eigenmode solid mechanics model for a particular material:

Compute the eigenmodes of an iron bracket. Set up the region, variables and a material:

Compute the eigenvalue and modes:

Visualize the seventh to tenth eigenmode:

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 geometry:

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:

Create the PDE model with boundary conditions:

Show the actual displacement:

Compute the strain:

Compute the stress:

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:

Set up the geometry:

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:

Compute the strain:

Compute the stress:

Compute the von Mises stress:

Visualize the von Mises stress:

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:

Look at a specific entry:

Set up the parameters to make use of the multi-material compliance matrix:

Create the solid mechanics PDE component:

Non-axis-aligned Material Model  (1)

For anisotropic elastic material that is not axis aligned, an orientation matrix can be specified to adjust the material to that. This also works with thermal expansion and is shown here. Variables and parameter are set up:

Solve the PDE:

Visualize the displacement:

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 :

Set up the PDE:

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:

Set a constant Young modulus:

Solve the PDE on a refined mesh with the Young modulus set to baseYoungModulus:

Visualize the displacement:

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 :

Visualize the function:

Solve the PDE on a refined mesh with replaced with the variable-depth Young modulus:

Visualize the displacement:

Compute the von Mises stress:

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:

Wolfram Research (2021), SolidMechanicsPDEComponent, Wolfram Language function, https://reference.wolfram.com/language/ref/SolidMechanicsPDEComponent.html (updated 2024).

Text

Wolfram Research (2021), SolidMechanicsPDEComponent, Wolfram Language function, https://reference.wolfram.com/language/ref/SolidMechanicsPDEComponent.html (updated 2024).

CMS

Wolfram Language. 2021. "SolidMechanicsPDEComponent." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. 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

BibTeX

@misc{reference.wolfram_2024_solidmechanicspdecomponent, author="Wolfram Research", title="{SolidMechanicsPDEComponent}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/SolidMechanicsPDEComponent.html}", note=[Accessed: 26-July-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_solidmechanicspdecomponent, organization={Wolfram Research}, title={SolidMechanicsPDEComponent}, year={2024}, url={https://reference.wolfram.com/language/ref/SolidMechanicsPDEComponent.html}, note=[Accessed: 26-July-2024 ]}