changed: remove support for subgridH

no longer needed, pressure and velocity are
projected on separate bases now
This commit is contained in:
Arne Morten Kvarving 2022-05-06 11:41:37 +02:00
parent 73d6e85745
commit fa73096ebe
4 changed files with 4 additions and 8 deletions

View File

@ -23,7 +23,6 @@
char ASMmxBase::geoBasis = 2;
ASMmxBase::MixedType ASMmxBase::Type = ASMmxBase::FULL_CONT_RAISE_BASIS1;
bool ASMmxBase::subgridH = false;
void ASMmxBase::initMx (const std::vector<int>& MLGN, const int* sysMadof)

View File

@ -74,7 +74,6 @@ public:
static MixedType Type; //!< Type of mixed formulation used
static char geoBasis; //!< 1-based index of basis representing the geometry
static bool subgridH; //!< True to use the h (not h/2) mesh for refinement.
protected:
typedef std::vector<std::shared_ptr<Go::SplineSurface>> SurfaceVec; //!< Convenience type

View File

@ -226,7 +226,7 @@ bool ASMu2Dmx::generateFEMTopology ()
if (ASMmxBase::Type == ASMmxBase::SUBGRID) {
refBasis.reset(new LR::LRSplineSurface(otherBasis));
if (!projBasis)
projBasis = ASMmxBase::subgridH ? refBasis : m_basis.front();
projBasis = m_basis.front();
}
else {
if (!projBasis)
@ -1011,8 +1011,7 @@ bool ASMu2Dmx::refine (const LR::RefineData& prm, Vectors& sol)
// Uniformly refine to find basis 1
if (ASMmxBase::Type == ASMmxBase::SUBGRID) {
m_basis[0].reset(refBasis->copy());
if (!ASMmxBase::subgridH)
projBasis = m_basis[0];
projBasis = m_basis.front();
size_t nFunc = refBasis->nBasisFunctions();
IntVec elems(nFunc);
std::iota(elems.begin(),elems.end(),0);

View File

@ -213,7 +213,7 @@ bool ASMu3Dmx::generateFEMTopology ()
ASMmxBase::establishBases(tensorspline, ASMmxBase::FULL_CONT_RAISE_BASIS1).front();
if (ASMmxBase::Type == ASMmxBase::SUBGRID) {
refBasis.reset(new LR::LRSplineVolume(otherBasis.get()));
projBasis = ASMmxBase::subgridH ? refBasis : m_basis.front();
projBasis = m_basis.front();
refBasis->generateIDs();
} else {
projBasis.reset(new LR::LRSplineVolume(otherBasis.get()));
@ -970,8 +970,7 @@ bool ASMu3Dmx::refine (const LR::RefineData& prm, Vectors& sol)
// Uniformly refine to find basis 1
if (ASMmxBase::Type == ASMmxBase::SUBGRID) {
m_basis[0].reset(refBasis->copy());
if (!ASMmxBase::subgridH)
projBasis = m_basis[0];
projBasis = m_basis.front();
size_t nFunc = refBasis->nBasisFunctions();
IntVec elems(nFunc);
std::iota(elems.begin(),elems.end(),0);