Fixed: ASMu2Dnurbs now inherits ASMu2DC1.

Such that it also can be used for clamped problems.
This commit is contained in:
Knut Morten Okstad 2019-05-06 07:37:05 +02:00
parent 8732185797
commit 24f8b3d7d1
2 changed files with 10 additions and 10 deletions

View File

@ -24,14 +24,14 @@
ASMu2Dnurbs::ASMu2Dnurbs (unsigned char n_s, unsigned char n_f) ASMu2Dnurbs::ASMu2Dnurbs (unsigned char n_s, unsigned char n_f)
: ASMu2D(n_s, n_f) : ASMu2DC1(n_s, n_f)
{ {
noNurbs = false; noNurbs = false;
} }
ASMu2Dnurbs::ASMu2Dnurbs (const ASMu2Dnurbs& patch, unsigned char n_f) ASMu2Dnurbs::ASMu2Dnurbs (const ASMu2Dnurbs& patch, unsigned char n_f)
: ASMu2D(patch, n_f) : ASMu2DC1(patch, n_f)
{ {
noNurbs = patch.noNurbs; noNurbs = patch.noNurbs;
} }
@ -39,7 +39,7 @@ ASMu2Dnurbs::ASMu2Dnurbs (const ASMu2Dnurbs& patch, unsigned char n_f)
bool ASMu2Dnurbs::read (std::istream& is) bool ASMu2Dnurbs::read (std::istream& is)
{ {
bool ok = this->ASMu2D::read(is); bool ok = this->ASMu2DC1::read(is);
if (ok && !(tensorspline && tensorspline->rational())) if (ok && !(tensorspline && tensorspline->rational()))
std::cout <<" ** LR-nurbs requested but input is a spline."<< std::endl; std::cout <<" ** LR-nurbs requested but input is a spline."<< std::endl;
@ -51,7 +51,7 @@ bool ASMu2Dnurbs::evaluateBasis (int iel, FiniteElement& fe,
int derivs) const int derivs) const
{ {
if (noNurbs) if (noNurbs)
return this->ASMu2D::evaluateBasis(iel,fe,derivs); return this->ASMu2DC1::evaluateBasis(iel,fe,derivs);
const LR::Element* el = lrspline->getElement(iel); const LR::Element* el = lrspline->getElement(iel);
if (!el) return false; if (!el) return false;
@ -158,7 +158,7 @@ void ASMu2Dnurbs::computeBasis (double u, double v,
const LR::LRSplineSurface* spline) const const LR::LRSplineSurface* spline) const
{ {
if (noNurbs) if (noNurbs)
return this->ASMu2D::computeBasis(u,v,bas,iel,spline); return this->ASMu2DC1::computeBasis(u,v,bas,iel,spline);
PROFILE3("ASMu2Dn::compBasis(0)"); PROFILE3("ASMu2Dn::compBasis(0)");
@ -186,7 +186,7 @@ void ASMu2Dnurbs::computeBasis (double u, double v,
const LR::LRSplineSurface* spline) const const LR::LRSplineSurface* spline) const
{ {
if (noNurbs) if (noNurbs)
return this->ASMu2D::computeBasis(u,v,bas,iel,spline); return this->ASMu2DC1::computeBasis(u,v,bas,iel,spline);
PROFILE3("ASMu2Dn::compBasis(1)"); PROFILE3("ASMu2Dn::compBasis(1)");
@ -219,7 +219,7 @@ void ASMu2Dnurbs::computeBasis (double u, double v,
Go::BasisDerivsSf2& bas, int iel) const Go::BasisDerivsSf2& bas, int iel) const
{ {
if (noNurbs) if (noNurbs)
return this->ASMu2D::computeBasis(u,v,bas,iel); return this->ASMu2DC1::computeBasis(u,v,bas,iel);
PROFILE3("ASMu2Dn::compBasis(2)"); PROFILE3("ASMu2Dn::compBasis(2)");
@ -263,7 +263,7 @@ void ASMu2Dnurbs::computeBasis (double u, double v,
Go::BasisDerivsSf3& bas, int iel) const Go::BasisDerivsSf3& bas, int iel) const
{ {
if (noNurbs) if (noNurbs)
return this->ASMu2D::computeBasis(u,v,bas,iel); return this->ASMu2DC1::computeBasis(u,v,bas,iel);
PROFILE3("ASMu2Dn::compBasis(3)"); PROFILE3("ASMu2Dn::compBasis(3)");

View File

@ -14,7 +14,7 @@
#ifndef _ASM_U2D_NURBS_H #ifndef _ASM_U2D_NURBS_H
#define _ASM_U2D_NURBS_H #define _ASM_U2D_NURBS_H
#include "ASMu2D.h" #include "ASMu2DC1.h"
/*! /*!
@ -22,7 +22,7 @@
\details This class contains methods common for 2D LR-NURBS patches. \details This class contains methods common for 2D LR-NURBS patches.
*/ */
class ASMu2Dnurbs : public ASMu2D class ASMu2Dnurbs : public ASMu2DC1
{ {
public: public:
//! \brief Default constructor. //! \brief Default constructor.