20void ElasticityComponentAddMultPA(
const int dim,
const int nDofs,
21 const FiniteElementSpace &fespace,
const CoefficientVector &lambda,
22 const CoefficientVector &
mu,
const GeometricFactors &geom,
23 const DofToQuad &maps,
const Vector &x, QuadratureFunction &QVec, Vector &y,
24 const int i_block,
const int j_block)
26 const int id = (
dim << 8)| (i_block << 4) | j_block;
30 ElasticityAddMultPA_<2,0,0>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
33 ElasticityAddMultPA_<2,1,1>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
36 ElasticityAddMultPA_<2,0,1>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
39 ElasticityAddMultPA_<2,1,0>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
42 ElasticityAddMultPA_<3,0,0>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
45 ElasticityAddMultPA_<3,1,1>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
48 ElasticityAddMultPA_<3,2,2>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
51 ElasticityAddMultPA_<3,0,1>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
54 ElasticityAddMultPA_<3,0,2>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
57 ElasticityAddMultPA_<3,1,2>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
60 ElasticityAddMultPA_<3,1,0>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
63 ElasticityAddMultPA_<3,2,0>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
66 ElasticityAddMultPA_<3,2,1>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
69 MFEM_ABORT(
"Invalid configuration.");
73void ElasticityAddMultPA(
const int dim,
const int nDofs,
74 const FiniteElementSpace &fespace,
const CoefficientVector &lambda,
75 const CoefficientVector &
mu,
const GeometricFactors &geom,
76 const DofToQuad &maps,
const Vector &x, QuadratureFunction &QVec, Vector &y)
81 ElasticityAddMultPA_<2>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
84 ElasticityAddMultPA_<3>(nDofs, fespace, lambda,
mu, geom, maps, x, QVec, y);
87 MFEM_ABORT(
"Only dimensions 2 and 3 supported.");
91void ElasticityAssembleDiagonalPA(
const int dim,
const int nDofs,
92 const CoefficientVector &lambda,
93 const CoefficientVector &
mu,
const GeometricFactors &geom,
94 const DofToQuad &maps, QuadratureFunction &QVec, Vector &diag)
99 ElasticityAssembleDiagonalPA_<2>(nDofs, lambda,
mu, geom, maps, QVec, diag);
102 ElasticityAssembleDiagonalPA_<3>(nDofs, lambda,
mu, geom, maps, QVec, diag);
105 MFEM_ABORT(
"Only dimensions 2 and 3 supported.");
109void ElasticityAssembleEA(
const int dim,
const int i_block,
const int j_block,
110 const int nDofs,
const IntegrationRule &ir,
111 const CoefficientVector &lambda,
112 const CoefficientVector &
mu,
const GeometricFactors &geom,
113 const DofToQuad &maps, Vector &emat)
118 ElasticityAssembleEA_<2>(i_block, j_block, nDofs, ir, lambda,
mu, geom, maps,
122 ElasticityAssembleEA_<3>(i_block, j_block, nDofs, ir, lambda,
mu, geom, maps,
126 MFEM_ABORT(
"Only dimensions 2 and 3 supported.");
Header for small strain, isotropic, linear elasticity kernels.