Skip to content

Commit

Permalink
Merge branch 'periodic_fix' into 'master'
Browse files Browse the repository at this point in the history
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
Original file line number Diff line number Diff line change
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) :
PeriodicFESpace(fespace, flags, aused_idnrs), factors(afactors)
{
Expand Down
13 changes: 7 additions & 6 deletions comp/periodic.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,20 +41,21 @@ namespace ngcomp
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 (NodeId ni, Array<DofId> & dnums) const;

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

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

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

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

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

0 comments on commit 17756e8

Please sign in to comment.