| 118 | |
| 119 | |
| 120 | void ReorderedFESpace :: FinalizeUpdate () |
| 121 | { |
| 122 | space->FinalizeUpdate(); |
| 123 | FESpace::FinalizeUpdate(); |
| 124 | |
| 125 | /** |
| 126 | If the underlying space is a CompoundFESpace, the CompoundFESpace's flags do |
| 127 | usually not contain information about dirichlet-boundaries, so we have to |
| 128 | set free_dofs manually. |
| 129 | **/ |
| 130 | if (auto comp_fes = dynamic_pointer_cast<CompoundFESpace>(space)) { |
| 131 | auto space_free_dofs = comp_fes->GetFreeDofs(); |
| 132 | free_dofs->Clear(); |
| 133 | auto external_space_free_dofs = comp_fes->GetFreeDofs(true); |
| 134 | external_free_dofs->Clear(); |
| 135 | |
| 136 | for (auto k : Range(GetNDof())) { |
| 137 | if (space_free_dofs->Test(k)) |
| 138 | { free_dofs->SetBit(dofmap[k]); } |
| 139 | if (external_space_free_dofs->Test(k)) |
| 140 | { external_free_dofs->SetBit(dofmap[k]); } |
| 141 | } |
| 142 | } |
| 143 | } |
| 144 | |
| 145 | |
| 146 | FiniteElement& ReorderedFESpace :: GetFE (ElementId ei, Allocator & alloc) const |
nothing calls this directly
no test coverage detected