コード例 #1
0
        protected override void CreateFields()
        {
            levelSet        = testCase.GetLevelSet((BoSSS.Foundation.Grid.Classic.GridData)GridData);
            levelSetTracker = new LevelSetTracker((BoSSS.Foundation.Grid.Classic.GridData)GridData,
                                                  XQuadFactoryHelper.MomentFittingVariants.Classic, // should have no effect, this app creates its own quad-rules independent of the tracker
                                                  1, new string[] { "A", "B" }, levelSet);

            XDGField = new XDGField(
                new XDGBasis(levelSetTracker, testCase.IntegrandDegree), "XDGField");
            SinglePhaseField = new SinglePhaseField(
                new Basis(GridData, testCase.IntegrandDegree), "SinglePhaseField");

            if (levelSet is LevelSet)
            {
                m_IOFields.Add((LevelSet)levelSet);
            }
            else
            {
                LevelSet projectedLevelSet = new LevelSet(new Basis(GridData, 4), "projectedAnalyticLevelSet");
                projectedLevelSet.ProjectField(testCase.GetLevelSet((BoSSS.Foundation.Grid.Classic.GridData)GridData).Evaluate);
                m_IOFields.Add(projectedLevelSet);
            }
            m_IOFields.Add(XDGField);
            m_IOFields.Add(SinglePhaseField);
        }