10#ifdef MOOSE_MFEM_ENABLED
22 "The isotropic linear elasticity operator with weak form "
23 "$(c_{ikjl} \\nabla u_j, \\nabla v_i)$, to be added to an MFEM problem, where "
24 "$c_{ikjl}$ is the isotropic elasticity tensor, "
25 "$c_{ikjl} = \\lambda \\delta_{ik} \\delta_{jl} + \\mu \\left( \\delta_{ij} \\delta_{kl} + "
26 "\\delta_{il} \\delta_{jk} \\right)$, "
27 "$\\lambda$ is the first Lame parameter, $\\lambda = \\frac{E\\nu}{(1-2\\nu)(1+\\nu)}$, "
28 "$\\mu$ is the second Lame parameter, $\\mu = \\frac{E}{2(1+\\nu)}$, "
29 "where $E$ is Young's modulus and $\\nu$ is Poisson's ratio.");
31 params.
addParam<MFEMScalarCoefficientName>(
32 "lambda",
"1.",
"Name of MFEM Lame constant lambda to multiply the div(u)*I term by");
33 params.
addParam<MFEMScalarCoefficientName>(
34 "mu",
"1.",
"Name of MFEM Lame constant mu to multiply the gradients term by");
40 :
MFEMKernel(parameters), _lambda(getScalarCoefficient(
"lambda")), _mu(getScalarCoefficient(
"mu"))
44mfem::BilinearFormIntegrator *
47 return new mfem::ElasticityIntegrator(
_lambda,
_mu);
registerMooseObject("MooseApp", MFEMLinearElasticityKernel)
Class to construct an MFEM integrator to apply to the equation system.
static InputParameters validParams()
virtual mfem::BilinearFormIntegrator * createBFIntegrator() override
Create MFEM integrator to apply to the LHS of the weak form. Ownership managed by the caller.
MFEMLinearElasticityKernel(const InputParameters ¶meters)
static InputParameters validParams()
mfem::Coefficient & _lambda