diff --git a/src/ASM/ASMbase.h b/src/ASM/ASMbase.h index b0d2eddc..5434ccdf 100644 --- a/src/ASM/ASMbase.h +++ b/src/ASM/ASMbase.h @@ -373,8 +373,7 @@ public: //! \brief Extracts nodal results for this patch from the global vector. //! \param[in] globVec Global solution vector in DOF-order //! \param[out] nodeVec Nodal result vector for this patch - //! \param[in] nndof Number of DOFs per node (the default is \a nf) - //! \param[in] basis Which basis to extract nodal values for (mixed methods) + //! \param[in] nndof Number of DOFs per node (the default is \a nf) //! \param[in] basis Which basis to extract nodal values for (mixed methods) virtual void extractNodeVec(const Vector& globVec, Vector& nodeVec, unsigned char nndof = 0, int basis = 0) const; @@ -450,6 +449,10 @@ protected: public: static bool fixHomogeneousDirichlet; //!< If \e true, pre-eliminate fixed DOFs + //! \brief Defines the numerical integration scheme to use. + //! \param[in] ng Number of Gauss points in each parameter direction + void setGauss(int ng) { nGauss = ng; } + protected: // Standard finite element data structures unsigned char ndim; //!< Number of parametric dimensions (1, 2 or 3) @@ -457,6 +460,8 @@ protected: unsigned char nf; //!< Number of primary solution fields (1 or larger) size_t neldof; //!< Number of degrees of freedom per element + int nGauss; //!< Numerical integration scheme + const IntVec& MLGE; //!< Matrix of Local to Global Element numbers const IntVec& MLGN; //!< Matrix of Local to Global Node numbers const IntMat& MNPC; //!< Matrix of Nodal Point Correspondance diff --git a/src/ASM/ASMstruct.h b/src/ASM/ASMstruct.h index ca471601..c0e9cf71 100644 --- a/src/ASM/ASMstruct.h +++ b/src/ASM/ASMstruct.h @@ -45,10 +45,6 @@ public: //! \brief Checks if the patch is empty. virtual bool empty() const { return geo == 0; } - //! \brief Defines the numerical integration scheme to use. - //! \param[in] ng Number of Gauss points in each parameter direction - void setGauss(int ng) { nGauss = ng; } - //! \brief Resets the global element and node counters. static void resetNumbering() { gEl = gNod = 0; } @@ -70,7 +66,6 @@ protected: //! Global indices to first integration point for the Neumann boundaries std::map firstBp; - int nGauss; //!< Numerical integration scheme static int gEl; //!< Global element counter static int gNod; //!< Global node counter }; diff --git a/src/ASM/LR/ASMunstruct.h b/src/ASM/LR/ASMunstruct.h index bd695477..d7b534c9 100644 --- a/src/ASM/LR/ASMunstruct.h +++ b/src/ASM/LR/ASMunstruct.h @@ -49,10 +49,6 @@ public: //! \brief Checks if the patch is empty. virtual bool empty() const { return geo == 0; } - //! \brief Defines the numerical integration scheme to use. - //! \param[in] ng Number of Gauss points in each parameter direction - void setGauss(int ng) { nGauss = ng; } - //! \brief Resets global element and node counters. static void resetNumbering() { gEl = gNod = 0; } @@ -64,7 +60,6 @@ public: protected: LR::LRSplineSurface* geo; //!< Pointer to the actual spline geometry object - int nGauss; //!< Numerical integration scheme static int gEl; //!< Global element counter static int gNod; //!< Global node counter diff --git a/src/SIM/SIM1D.C b/src/SIM/SIM1D.C index dea1ccf8..e44b9614 100644 --- a/src/SIM/SIM1D.C +++ b/src/SIM/SIM1D.C @@ -392,7 +392,7 @@ void SIM1D::setQuadratureRule (size_t ng) { for (size_t i = 0; i < myModel.size(); i++) if (!myModel.empty()) - static_cast(myModel[i])->setGauss(ng); + myModel[i]->setGauss(ng); this->initIntegrationBuffers(); } diff --git a/src/SIM/SIM2D.C b/src/SIM/SIM2D.C index 7c127976..64eb66c1 100644 --- a/src/SIM/SIM2D.C +++ b/src/SIM/SIM2D.C @@ -545,7 +545,7 @@ void SIM2D::setQuadratureRule (size_t ng) { for (size_t i = 0; i < myModel.size(); i++) if (!myModel.empty()) - static_cast(myModel[i])->setGauss(ng); + myModel[i]->setGauss(ng); this->initIntegrationBuffers(); } diff --git a/src/SIM/SIM3D.C b/src/SIM/SIM3D.C index 8dea3f84..870b9e4e 100644 --- a/src/SIM/SIM3D.C +++ b/src/SIM/SIM3D.C @@ -578,7 +578,7 @@ void SIM3D::setQuadratureRule (size_t ng) { for (size_t i = 0; i < myModel.size(); i++) if (!myModel.empty()) - static_cast(myModel[i])->setGauss(ng); + myModel[i]->setGauss(ng); this->initIntegrationBuffers(); }