https://mooseframework.inl.gov
MFEMLinearElasticityKernel.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #ifdef MFEM_ENABLED
11 
12 #pragma once
13 #include "MFEMKernel.h"
14 
15 // clang-format off
16 /*
17  * \f[
18  * (c_{ikjl} \nabla u_j, \nabla v_i),
19  * c_{ikjl} = \lamba \delta_{ik} \delta_{jl} + \mu (\delta_{ij} \delta_{kl} + \delta_{il} \delta_{jk}),
20  * \lambda = (E\nu)/((1-2\nu)(1+\nu)),
21  * \mu = E/(2(1+\nu)),
22  * E is Young's modulus,
23  * \nu is Poisson's ratio
24  * \f]
25 */
26 // clang-format on
28 {
29 public:
31 
33 
34  virtual mfem::BilinearFormIntegrator * createBFIntegrator() override;
35 
36 protected:
37  const MFEMScalarCoefficientName & _lambda_name;
38  const MFEMScalarCoefficientName & _mu_name;
39  mfem::Coefficient & _lambda;
40  mfem::Coefficient & _mu;
41 };
42 
43 #endif
static InputParameters validParams()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const MFEMScalarCoefficientName & _mu_name
MFEMLinearElasticityKernel(const InputParameters &parameters)
const InputParameters & parameters() const
Get the parameters of the object.
virtual mfem::BilinearFormIntegrator * createBFIntegrator() override
const MFEMScalarCoefficientName & _lambda_name