/// <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"); } }
/// <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"); } }