diff --git a/src/rodassembler.cc b/src/rodassembler.cc index 85db01da8c1d5c0fb2b9b7c50ffadf0518c6dbdf..969fa4f787958615752c5aa12406669ff2d2a8da 100644 --- a/src/rodassembler.cc +++ b/src/rodassembler.cc @@ -20,12 +20,11 @@ energy(const Entity& element, // /////////////////////////////////////////////////////////////////////////////// // The following two loops are a reduced integration scheme. We integrate // the transverse shear and extensional energy with a first-order quadrature - // formula, even though it should be second order. This prevents shear-locking + // formula, even though it should be second order. This prevents shear-locking. // /////////////////////////////////////////////////////////////////////////////// - const int shearingPolOrd = 2; const Dune::QuadratureRule<double, 1>& shearingQuad - = Dune::QuadratureRules<double, 1>::rule(element.type(), shearingPolOrd); + = Dune::QuadratureRules<double, 1>::rule(element.type(), shearQuadOrder); for (size_t pt=0; pt<shearingQuad.size(); pt++) { @@ -47,8 +46,8 @@ energy(const Entity& element, } // Get quadrature rule - const int polOrd = 2; - const Dune::QuadratureRule<double, 1>& bendingQuad = Dune::QuadratureRules<double, 1>::rule(element.type(), polOrd); + const Dune::QuadratureRule<double, 1>& bendingQuad + = Dune::QuadratureRules<double, 1>::rule(element.type(), bendingQuadOrder); for (size_t pt=0; pt<bendingQuad.size(); pt++) { diff --git a/src/rodassembler.hh b/src/rodassembler.hh index 8dc419c7b8f609b93851c44af0e38162de5a66c7..51d1cb4b67311fc4f1565d1ea68ee94b9f6bac48 100644 --- a/src/rodassembler.hh +++ b/src/rodassembler.hh @@ -22,6 +22,12 @@ class RodLocalStiffness // some other sizes enum {dim=GridType::dimension}; + // Quadrature order used for the extension and shear energy + enum {shearQuadOrder = 2}; + + // Quadrature order used for the bending and torsion energy + enum {bendingQuadOrder = 2}; + public: //! Each block is x, y, theta in 2d, T (R^3 \times SO(3)) in 3d