Esempio n. 1
0
        /// <summary>
        /// Verifies the configuration
        /// </summary>
        public override void Verify()
        {
            {
                int degree = FieldOptions[BoSSS.Solution.CompressibleFlowCommon.CompressibleVariables.Momentum.xComponent].Degree;

                if (FieldOptions.ContainsKey(BoSSS.Solution.CompressibleFlowCommon.CompressibleVariables.Momentum.yComponent) &&
                    FieldOptions[BoSSS.Solution.CompressibleFlowCommon.CompressibleVariables.Momentum.yComponent].Degree != degree)
                {
                    throw new Exception(
                              "All momentum components must have the same polynomial degree");
                }

                if (FieldOptions.ContainsKey(BoSSS.Solution.CompressibleFlowCommon.CompressibleVariables.Momentum.zComponent) &&
                    FieldOptions[BoSSS.Solution.CompressibleFlowCommon.CompressibleVariables.Momentum.zComponent].Degree != degree)
                {
                    throw new Exception(
                              "All momentum components must have the same polynomial degree");
                }
            }

            if (MachNumber <= 0.0)
            {
                throw new Exception("Illegal Mach number");
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Verifies the control file
        /// </summary>
        public override void Verify()
        {
            base.Verify();

            if (DomainType == DomainTypes.Standard)
            {
                throw new Exception(
                          "Wrong domain type for immersed boundary runs");
            }

            if (LevelSetFunction == null)
            {
                if (RestartInfo != null && DomainType != DomainTypes.MovingImmersedBoundary)
                {
                    // Everything is fine (level set data is read from database
                    // and is not moving)
                }
                else
                {
                    throw new Exception(
                              "A level set function is required when running in IBM mode");
                }
            }

            if (!FieldOptions.ContainsKey(IBMVariables.LevelSet))
            {
                throw new Exception(
                          "A level set is required when running in IBM mode");
            }
        }