Model::Solid::Linear::Isotropic
src/Model/Solid/Linear/Isotropic.H
This model implements an isotropic linear elastic material. See this link for more information about the theory.
Free energy for a linear material is defined as
For an isotropic material, stress and strain are related through
where \(\lambda\) and \(\mu\) are the Lame constant and shear modulus, respectively.
Users can specify these either through (lame and shear)
OR (lambda and mu) OR (E and nu).
Class methods:
Isotropic(): Basic constructor. Does nothing, and leaves all values initiated as NAN.Isotropic(Solid<Set::Sym::Isotropic> base)Basic constructor. Does nothing gut allows for inheritance.Isotropic(Set::Scalar a_mu, Set::Scalar a_lambda)BAD old-fashioned constructor. Do not use!~Isotropic()Simple destructor. Don’t need to change it.void Define(Set::Scalar a_mu, Set::Scalar a_lambda)BAD old-fashioned way of doing things. UseParseinstead.Set::Scalar W(const Set::Matrix & gradu) const overrideReturns elastic free energy densitySet::Matrix DW(const Set::Matrix & gradu) const overrideReturns first derivative of free energy, the stress tensorSet::Matrix4<...> DDW(const Set::Matrix & ) const overrideReturns second derivative of free energy, the modulus tensorvirtual void Print(std::ostream &out) const overridePrints the modulus tensor object to output stream (usually the terminal)static Isotropic Random()Static method that generates a random yet acceptable model.static Isotropic Zero()Static method that generates a “zero” element (so that there is no effect under addition)static void Parse(Isotropic & value, IO::ParmParse & pp)Parser where all the IO occurs
\(\phantom{0}\)
lambda / mu / E / nu / kappa
Specify exactly two of: lame constant \(\lambda\), shear modulus \(\mu\), Young's modulus \(E\), Poisson's ratio \(\nu\), bulk modulus \(\kappa\). \(\mu\) and \(\lambda\) are how the final values are stored.
Names by executable 8 executables, 8 uses
material.model0.lambda / material.model0.mu / material.model0.E / material.model0.nu / material.model0.kappa
material.model0.lambda / material.model0.mu / material.model0.E / material.model0.nu / material.model0.kappa
material.model0.lambda / material.model0.mu / material.model0.E / material.model0.nu / material.model0.kappa
material.model0.lambda / material.model0.mu / material.model0.E / material.model0.nu / material.model0.kappa
model0.lambda / model0.mu / model0.E / model0.nu / model0.kappa
model0.lambda / model0.mu / model0.E / model0.nu / model0.kappa
model.lambda / model.mu / model.E / model.nu / model.kappa
model.lambda / model.mu / model.E / model.nu / model.kappa
planestress
Whether or not to use the `plane stress <https://en.wikipedia.org/wiki/Plane_stress>`_ approximation.
Names by executable 8 executables, 8 uses
material.model0.planestress
material.model0.planestress
material.model0.planestress
material.model0.planestress
model0.planestress
model0.planestress
model.planestress
model.planestress