MCPcopy Create free account
hub / github.com/NGSolve/ngsolve / FacetSurfaceFESpace

Method FacetSurfaceFESpace

comp/facetsurffespace.cpp:243–343  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

241
242
243 FacetSurfaceFESpace :: FacetSurfaceFESpace (shared_ptr<MeshAccess> ama, const Flags & flags, bool checkflags)
244 : FESpace(ama, flags)
245 {
246 name="FacetSurfaceFESpace(facet)";
247 type = "facetsurface";
248 // defined flags
249 DefineNumFlag("relorder");
250 DefineDefineFlag("variableorder");
251
252
253 if(checkflags) CheckFlags(flags);
254
255
256 // ndlevel.SetSize(0);
257 Flags loflags;
258 loflags.SetFlag("order",0.0);
259 if ( this->IsComplex() )
260 loflags.SetFlag("complex");
261
262 // Variable order space:
263 // in case of (var_order && order) or (relorder)
264 var_order = flags.GetDefineFlag("variableorder");
265 order = int (flags.GetNumFlag ("order",0));
266
267 if(flags.NumFlagDefined("relorder") && !flags.NumFlagDefined("order"))
268 var_order = 1;
269
270 rel_order=int(flags.GetNumFlag("relorder",order-1));
271
272
273 if(flags.NumFlagDefined("order") && flags.NumFlagDefined("relorder"))
274 {
275 if(var_order)
276 cerr << " WARNING: FacetSurfaceFESpace: inconsistent flags: variableorder, order and relorder "
277 << "-> variable order space with rel_order " << rel_order << "is used, but order is ignored " << endl;
278 else
279 cerr << " WARNING: FacetSurfaceFESpace: inconsistent flags: order and rel_order "
280 << "-> uniform order space with order " << order << " is used " << endl;
281 }
282
283 if (flags.NumFlagDefined("order"))
284 {
285 if(var_order)
286 {
287 rel_order = int(flags.GetNumFlag("relorder",order-1));
288 order = rel_order + 1;
289 }
290 else
291 order = int (flags.GetNumFlag ("order",0));
292 }
293 else if(flags.NumFlagDefined("relorder"))
294 {
295 var_order=1;
296 rel_order = int (flags.GetNumFlag ("relorder",-1));
297 order=1+rel_order;
298 }
299 else // neither rel_order nor order is given
300 {

Callers

nothing calls this directly

Calls 4

SetFlagMethod · 0.45
IsComplexMethod · 0.45
GetDimensionMethod · 0.45
SetMethod · 0.45

Tested by

no test coverage detected