/// <summary>
        /// Gauss rules for \f$ \oint_{\frakI \cap K_j } \ldots \dS \f$ in the 2D case
        /// </summary>
        public static IQuadRuleFactory <QuadRule> SayeGaussRule_LevelSet2D(
            LevelSetTracker.LevelSetData _lsData,
            IRootFindingAlgorithm RootFinder)
        {
            ISayeGaussRule rule = new SayeFactory_Square(
                _lsData,
                RootFinder,
                SayeFactory_Square.QuadratureMode.Surface);

            return(new SayeGaussRuleFactory(rule));
        }
        public static SayeGaussComboRuleFactory SayeGaussRule_Combo2D(
            LevelSetTracker.LevelSetData _lsData,
            IRootFindingAlgorithm RootFinder
            )
        {
            ISayeGaussComboRule rule = new SayeFactory_Square(
                _lsData,
                RootFinder,
                SayeFactory_Square.QuadratureMode.Combo
                );

            return(new SayeGaussComboRuleFactory(
                       rule,
                       SayeGaussComboRuleFactory.Mode.CalculateOnceAfterInstantiation));
        }
Beispiel #3
0
        public static SayeGaussComboRuleFactory SayeGaussRule_Combo2D(
            LevelSetTracker.LevelSetData lsData,
            IRootFindingAlgorithm RootFinder
            )
        {
            ISayeGaussComboRule rule = new SayeFactory_Square(
                lsData,
                RootFinder,
                SayeFactory_Square.QuadratureMode.Combo
                );
            CellMask maxGrid = lsData.GridDat.Cells.GetCells4Refelement(rule.RefElement).Intersect(
                lsData.Region.GetCutCellMask().ToGeometicalMask());

            return(new SayeGaussComboRuleFactory(
                       rule,
                       maxGrid));
        }