Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'periodic_fix' into 'master'
fix for PeriodicFESpace::GetVertexDofNrs, GetEdgeDofNrs, GetFaceDofNrs

See merge request !249
  • Loading branch information
JSchoeberl committed Oct 6, 2017
2 parents dee0c0b + 850267c commit 17756e8
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 6 deletions.
29 changes: 29 additions & 0 deletions comp/periodic.cpp
Expand Up @@ -144,6 +144,35 @@ namespace ngcomp {
*/ */
} }


void PeriodicFESpace :: GetDofNrs (NodeId ni, Array<DofId> & dnums) const
{
space->GetDofNrs(ni, dnums);
for (auto & d : dnums)
if (d != -1) d = dofmap[d];
}

void PeriodicFESpace :: GetVertexDofNrs (int vnr, Array<DofId> & dnums) const
{
space->GetVertexDofNrs(vnr, dnums);
for (auto & d : dnums)
if (d != -1) d = dofmap[d];
}

void PeriodicFESpace :: GetEdgeDofNrs (int ednr, Array<DofId> & dnums) const
{
space->GetEdgeDofNrs (ednr, dnums);
for (auto & d : dnums)
if (d != -1) d = dofmap[d];
}

void PeriodicFESpace :: GetFaceDofNrs (int fanr, Array<DofId> & dnums) const
{
space->GetFaceDofNrs(fanr, dnums);
for (auto & d : dnums)
if (d != -1) d = dofmap[d];
}


QuasiPeriodicFESpace :: QuasiPeriodicFESpace(shared_ptr<FESpace> fespace, const Flags & flags, shared_ptr<Array<int>> aused_idnrs, shared_ptr<Array<Complex>> afactors) : QuasiPeriodicFESpace :: QuasiPeriodicFESpace(shared_ptr<FESpace> fespace, const Flags & flags, shared_ptr<Array<int>> aused_idnrs, shared_ptr<Array<Complex>> afactors) :
PeriodicFESpace(fespace, flags, aused_idnrs), factors(afactors) PeriodicFESpace(fespace, flags, aused_idnrs), factors(afactors)
{ {
Expand Down
13 changes: 7 additions & 6 deletions comp/periodic.hpp
Expand Up @@ -41,20 +41,21 @@ namespace ngcomp
virtual size_t GetNDofLevel (int level) const override { return space->GetNDofLevel(level); } virtual size_t GetNDofLevel (int level) const override { return space->GetNDofLevel(level); }


virtual void GetDofNrs(ElementId ei, Array<DofId> & dnums) const override; virtual void GetDofNrs(ElementId ei, Array<DofId> & dnums) const override;
virtual void GetDofNrs (NodeId ni, Array<DofId> & dnums) const;


virtual SymbolTable<shared_ptr<DifferentialOperator>> GetAdditionalEvaluators () const override virtual SymbolTable<shared_ptr<DifferentialOperator>> GetAdditionalEvaluators () const override
{ return space->GetAdditionalEvaluators (); } { return space->GetAdditionalEvaluators (); }


[[deprecated("Use GetDofNrs(NODE_TYPE(NT_VERTEX,nr) instead")]] [[deprecated("Use GetDofNrs(NODE_TYPE(NT_VERTEX,nr) instead")]]
virtual void GetVertexDofNrs (int vnr, Array<DofId> & dnums) const override virtual void GetVertexDofNrs (int vnr, Array<DofId> & dnums) const override;
{ space->GetVertexDofNrs(vnr, dnums); } //{ space->GetVertexDofNrs(vnr, dnums); }


[[deprecated("Use GetDofNrs(NODE_TYPE(NT_EDGE,nr) instead")]] [[deprecated("Use GetDofNrs(NODE_TYPE(NT_EDGE,nr) instead")]]
virtual void GetEdgeDofNrs (int ednr, Array<DofId> & dnums) const override virtual void GetEdgeDofNrs (int ednr, Array<DofId> & dnums) const override;
{ space->GetEdgeDofNrs (ednr, dnums); } //{ space->GetEdgeDofNrs (ednr, dnums); }


virtual void GetFaceDofNrs (int fanr, Array<DofId> & dnums) const override virtual void GetFaceDofNrs (int fanr, Array<DofId> & dnums) const override;
{ space->GetFaceDofNrs(fanr, dnums); } //{ space->GetFaceDofNrs(fanr, dnums); }


virtual void GetInnerDofNrs (int elnr, Array<DofId> & dnums) const override virtual void GetInnerDofNrs (int elnr, Array<DofId> & dnums) const override
{ space->GetInnerDofNrs(elnr, dnums); } { space->GetInnerDofNrs(elnr, dnums); }
Expand Down

0 comments on commit 17756e8

Please sign in to comment.