/// <summary> /// Ctor. /// </summary> /// <param name="Reynolds"></param> /// <param name="Schmidt"></param> /// <param name="EoS">Material law</param> /// <param name="PenaltyBase">C.f. Calculation of SIP penalty base, cf. Chapter 3 in /// K. Hillewaert, “Development of the discontinuous Galerkin method for high-resolution, large scale CFD and acoustics in industrial geometries”, /// Université catholique de Louvain, 2013.</param> /// <param name="BcMap">Boundary condition map</param> /// <param name="Mode">Equation type. Can be Temperature or MassFraction</param> /// <param name="Argument">The argument of the flux. Must be compatible with the DiffusionMode.</param> /// <param name="PenaltyLengthScales"></param> public SIPDiffusion(double Reynolds, double Schmidt, MaterialLaw EoS, double PenaltyBase, MultidimensionalArray PenaltyLengthScales, IncompressibleBoundaryCondMap BcMap, DiffusionMode Mode, string Argument) { this.m_Reynolds = Reynolds; this.m_Schmidt = Schmidt; this.EoS = EoS; this.PenaltyBase = PenaltyBase; this.BcMap = BcMap; this.ArgumentFunction = BcMap.bndFunction[Argument]; this.Mode = Mode; this.Argument = Argument; this.cj = PenaltyLengthScales; switch (BcMap.PhysMode) { case PhysicsMode.LowMach: this.m_ParameterOrdering = new string[] { VariableNames.Temperature0 }; break; case PhysicsMode.Combustion: this.m_ParameterOrdering = new string[] { VariableNames.Temperature0, VariableNames.MassFraction0_0, VariableNames.MassFraction1_0, VariableNames.MassFraction2_0, VariableNames.MassFraction3_0 }; break; default: throw new ApplicationException("Wrong physicsMode"); } }
/// <summary> /// Ctor. /// </summary> /// <param name="Reynolds"></param> /// <param name="Schmidt"></param> /// <param name="EoS">Material law</param> /// <param name="PenaltyBase">C.f. Calculation of SIP penalty base, cf. Chapter 3 in /// K. Hillewaert, “Development of the discontinuous Galerkin method for high-resolution, large scale CFD and acoustics in industrial geometries”, /// Université catholique de Louvain, 2013.</param> /// <param name="BcMap">Boundary condition map</param> /// <param name="Mode">Equation type. Can be Temperature or MassFraction</param> /// <param name="Argument">The argument of the flux. Must be compatible with the DiffusionMode.</param> /// <param name="PenaltyLengthScales"></param> public SIPDiffusion(double Reynolds, double Schmidt, MaterialLaw EoS, double PenaltyBase, MultidimensionalArray PenaltyLengthScales, IncompressibleBoundaryCondMap BcMap, DiffusionMode Mode, string Argument) { this.Reynolds = Reynolds; this.Schmidt = Schmidt; this.EoS = EoS; this.PenaltyBase = PenaltyBase; this.BcMap = BcMap; this.ArgumentFunction = BcMap.bndFunction[Argument]; this.Mode = Mode; this.Argument = Argument; this.cj = PenaltyLengthScales; }