From 0027e10d123d47f9919235470c8c9c75a309de39 Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Mon, 22 Oct 2007 17:08:09 +0000 Subject: [PATCH] moved the quadrature orders for bending and shear stuff into the header, as a first step towards reduced integration [[Imported from SVN: r1714]] --- src/rodassembler.cc | 9 ++++----- src/rodassembler.hh | 6 ++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/rodassembler.cc b/src/rodassembler.cc index 85db01da..969fa4f7 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 8dc419c7..51d1cb4b 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 -- GitLab