/// <summary> /// Quadrature scheme for the integration over the level-set, i.e. for each cut background-cell \f$ K_j \f$ a quadrature to approximate /// \f[ /// \oint_{K_j \cap \mathfrak{I} } \ldots \mathrm{dS} . /// \f] /// </summary> /// <param name="iLevSet"></param> /// <param name="IntegrationDom"></param> /// <param name="fixedOrder"></param> /// <returns></returns> public CellQuadratureScheme GetLevelSetquadScheme(int iLevSet, CellMask IntegrationDom, int?fixedOrder = null) { if (IntegrationDom.MaskType == MaskType.Logical) { IntegrationDom = IntegrationDom.ToGeometicalMask(); } CellQuadratureScheme LevSetQrIns = new CellQuadratureScheme(false, IntegrationDom); foreach (var Kref in XDGSpaceMetrics.GridDat.Grid.RefElements) { var surfaceFactory = this.XDGSpaceMetrics.XQuadFactoryHelper.GetSurfaceFactory(iLevSet, Kref); LevSetQrIns.AddFactoryDomainPair(surfaceFactory, (CellMask)null, fixedOrder); } return(LevSetQrIns); }