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  (16)

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:

Neo-Hookean Material Model  (1)

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:

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:

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 2023).

Text

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

CMS

Wolfram Language. 2021. "SolidMechanicsPDEComponent." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. 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="2023", howpublished="\url{https://reference.wolfram.com/language/ref/SolidMechanicsPDEComponent.html}", note=[Accessed: 25-April-2024 ]}

BibLaTeX

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