Ejemplo n.º 1
0
        /// <summary>
        /// 设置速度入口边界条件
        /// </summary>
        /// <param name="boundaryName">边界名</param>
        /// <param name="velocityMethod">速度方法</param>
        /// <param name="referenceFrame">参考框架</param>
        /// <param name="velocityMagnitude">速度大小</param>
        /// <param name="gaugePressure">初始表压</param>
        /// <param name="turbulenceSet">湍流设置</param>
        /// <param name="temperature">热量温度设置</param>
        /// <param name="speciesMassFractions">组分质量分数设置</param>
        /// <param name="xyzDirctionOrComponent ">[xyz方向或者xyz速度分量](根据速度方法而定,如果速度方法选择:大小和方向则该参数代表速度方向;如果速度方法选择:速度分量的矢量和则该参数代表速度分量(m/s),否则默认为null)</param>
        /// <returns>TUI命令</returns>
        string IEnON_ViscousON_RadiationOFF_SpeciesON.VI(string boundaryName, VelocityMethod velocityMethod, ReferenceFrame referenceFrame, string velocityMagnitude, string gaugePressure, TurbulenceSet turbulenceSet, string temperature, List <string> speciesMassFractions, float[] xyzDirctionOrComponent)
        {
            StringBuilder sb = new StringBuilder();

            BoundaryConditionImp BC = new BoundaryConditionImp();
            IEnOFF_ViscousOFF    iEnOFF_ViscousOFF = BC;
            //动量TUI
            string TUI = iEnOFF_ViscousOFF.VI(boundaryName, velocityMethod, referenceFrame, velocityMagnitude, gaugePressure, xyzDirctionOrComponent);

            sb.Append(TUI);

            //热量TUI
            sb.Append("n " + temperature + " ");

            //湍流TUI
            TUI = TurbulenceSetTUI(turbulenceSet);
            sb.Append(TUI);

            //组分TUI
            sb.Append("n ");
            foreach (string specieMassFractions in speciesMassFractions)
            {
                sb.Append("n " + specieMassFractions + " ");
            }

            return(sb.ToString());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 能量关;湍流关;边界条件设置
        /// 调用该方法时采用 命名参数调用
        /// 例如: void  func(int x, int y=2) { Console.WrinteLine(x+y);}     func(y:3,x:2;
        /// 因为该方法的参数都要默认值,每次调用只有一个参数参与计算,因此只需给一个指定的参数传值即可
        /// </summary>
        /// <param name="vi">速度入口参数</param>
        /// <param name="pi">压力入口参数</param>
        /// <param name="mi">质量流入口参数</param>
        /// <param name="po">压力出口参数</param>
        /// <param name="mo">质量流出口参数</param>
        /// <returns>TUI命令</returns>
        public string Set_OFFOFF(BCP_OFFOFF.VI vi = null, BCP_OFFOFF.PI pi = null, BCP_OFFOFF.MI mi = null, BCP_OFFOFF.PO po = null, BCP_OFFOFF.MO mo = null)
        {
            string TUI = null;
            BoundaryConditionImp BC     = new BoundaryConditionImp();
            IEnOFF_ViscousOFF    iBCSet = BC;

            if (vi != null)
            {
                TUI = iBCSet.VI(vi.boundaryName, vi.velocityMethod, vi.referenceFrame, vi.velocityMagnitude, vi.gaugePressure, vi.xyzDirctionOrComponent);
            }
            else if (pi != null)
            {
                TUI = iBCSet.PI(pi.boundaryName, pi.referenceFrame, pi.directionMethond, pi.guageTotalPressure, pi.guageInitialPressure, pi.xyzDirection);
            }
            else if (mi != null)
            {
                TUI = iBCSet.MI(mi.boundaryName, mi.referenceFrame, mi.massFlowMethond, mi.dirctionMethond, mi.massFlowRateOrFlux, mi.initialGaugePress, mi.averageFlux, mi.xyzDirection);
            }
            else if (po != null)
            {
                TUI = iBCSet.PO(po.boundaryName, po.referenceFrame, po.bfDirectionM, po.bfPressure, po.gaugePressure, po.isCheck, po.xyzDirection, po.massFlowParameter);
            }
            else if (mo != null)
            {
                TUI = iBCSet.MO(mo.boundaryName, mo.massFlowMethond, mo.directionMethod, mo.massRateOrFlux, mo.averageMassFlux, mo.xyzDirection);
            }
            return(TUI);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 质量出口
        /// </summary>
        /// <param name="boundaryName">边界名</param>
        /// <param name="massFlowMethond">指定质量流方法</param>
        /// <param name="directionMethod">指定方向方法</param>
        /// <param name="massRateOrFlux">质量流率或者质量流通量(根据massFlowMethond参数值确定)</param>
        /// <param name="averageMassFlux">[平均质量流通量]massFlowMethond为MassFluxWithAverageMassFlux时 指定</param>
        /// <param name="xyzDirection">[方向分量] directionMethod为DirectionVector时指定</param>
        /// <returns>TUI命令</returns>
        string IEnON_ViscousON_RadiationOFF_SpeciesON.MO(string boundaryName, MassFlowMethond massFlowMethond, MO_DirectionMethod directionMethod, string massRateOrFlux, string averageMassFlux, float[] xyzDirection)
        {
            StringBuilder        sb = new StringBuilder();
            BoundaryConditionImp BC = new BoundaryConditionImp();
            IEnOFF_ViscousOFF    iEnOFF_ViscousOFF = BC;
            //动量TUI
            string TUI = iEnOFF_ViscousOFF.MO(boundaryName, massFlowMethond, directionMethod, massRateOrFlux, averageMassFlux, xyzDirection);

            sb.Append(TUI);
            return(sb.ToString());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 质量出口
        /// </summary>
        /// <param name="boundaryName">边界名</param>
        /// <param name="massFlowMethond">指定质量流方法</param>
        /// <param name="directionMethod">指定方向方法</param>
        /// <param name="massRateOrFlux">质量流率或者质量流通量(根据massFlowMethond参数值确定)</param>
        /// <param name="averageMassFlux">[平均质量流通量]massFlowMethond为MassFluxWithAverageMassFlux时 指定</param>
        /// <param name="xyzDirection">[方向分量] directionMethod为DirectionVector时指定</param>
        /// <returns>TUI命令</returns>
        string IEnOFF_ViscousON.MO(string boundaryName, MassFlowMethond massFlowMethond, MO_DirectionMethod directionMethod, string massRateOrFlux, string averageMassFlux, float[] xyzDirection)
        {
            //质量出口没有湍流项,因此和湍流没有打开的代码一样,直接调用即可。
            StringBuilder        sb = new StringBuilder();
            BoundaryConditionImp BC = new BoundaryConditionImp();
            IEnOFF_ViscousOFF    iEnOFF_ViscousOFF = BC;
            //动量TUI
            string TUI = iEnOFF_ViscousOFF.MO(boundaryName, massFlowMethond, directionMethod, massRateOrFlux, averageMassFlux, xyzDirection);

            sb.Append(TUI);
            return(sb.ToString());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 质量流入口
        /// </summary>
        /// <param name="boundaryName">边界名</param>
        /// <param name="referenceFrame">参考框架</param>
        /// <param name="massFlowMethond">质量流方法</param>
        /// <param name="dirctionMethond">指定方向方法</param>
        /// <param name="massFlowRateOrFlux">质量流率或质量流量</param>
        /// <param name="initialGaugePress">初始表压</param>
        /// <param name="turbulenceSet">湍流设置</param>
        /// <param name="averageFlux">[平均质量流量]根据质量流方法确定该值是否为null</param>
        /// <param name="xyzDirection">[xyz方向矢量]根据指定方向方法确定确定该值是否为null</param>
        /// <returns>TUI命令</returns>
        string IEnOFF_ViscousON.MI(string boundaryName, ReferenceFrame referenceFrame, MassFlowMethond massFlowMethond, PI_DirectionMethond dirctionMethond, string massFlowRateOrFlux, string initialGaugePress, TurbulenceSet turbulenceSet, string averageFlux, float[] xyzDirection)
        {
            StringBuilder sb = new StringBuilder();

            BoundaryConditionImp BC = new BoundaryConditionImp();
            IEnOFF_ViscousOFF    iEnOFF_ViscousOFF = BC;
            //动量TUI
            string TUI = iEnOFF_ViscousOFF.MI(boundaryName, referenceFrame, massFlowMethond, dirctionMethond, massFlowRateOrFlux, initialGaugePress, averageFlux, xyzDirection);

            sb.Append(TUI);
            //湍流TUI
            TUI = TurbulenceSetTUI(turbulenceSet);
            sb.Append(TUI);
            return(sb.ToString());
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 设置压力入口边界条件
        /// </summary>
        /// <param name="boundaryName">边界名</param>
        /// <param name="referenceFrame">参考框架</param>
        /// <param name="directionMethond">指定方向的方法</param>
        /// <param name="guageTotalPressure">总表压</param>
        /// <param name="guageInitialPressure">初始表压</param>
        /// <param name="turbulenceSet">湍流设置</param>
        /// <param name="xyzDirection">[xyz方向矢量] 指定方向方法为矢量时,此值不能为空</param>
        /// <returns>TUI命令</returns>
        string IEnOFF_ViscousON.PI(string boundaryName, ReferenceFrame referenceFrame, PI_DirectionMethond directionMethond, string guageTotalPressure, string guageInitialPressure, TurbulenceSet turbulenceSet, float[] xyzDirection)
        {
            StringBuilder sb = new StringBuilder();

            BoundaryConditionImp BC = new BoundaryConditionImp();
            IEnOFF_ViscousOFF    iEnOFF_ViscousOFF = BC;
            //动量TUI
            string TUI = iEnOFF_ViscousOFF.PI(boundaryName, referenceFrame, directionMethond, guageTotalPressure, guageInitialPressure, xyzDirection);

            sb.Append(TUI);
            //湍流TUI
            TUI = TurbulenceSetTUI(turbulenceSet);
            sb.Append(TUI);
            return(sb.ToString());
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 设置速度入口边界条件
        /// </summary>
        /// <param name="boundaryName">边界名</param>
        /// <param name="velocityMethod">速度方法</param>
        /// <param name="referenceFrame">参考框架</param>
        /// <param name="velocityMagnitude">速度大小</param>
        /// <param name="gaugePressure">初始表压</param>
        /// <param name="turbulenceSet">湍流设置</param>
        /// <param name="xyzDirctionOrComponent ">[xyz方向或者xyz速度分量](根据速度方法而定,如果速度方法选择:大小和方向则该参数代表速度方向;如果速度方法选择:速度分量的矢量和则该参数代表速度分量(m/s),否则默认为null)</param>
        /// <returns>TUI命令</returns>
        string IEnOFF_ViscousON.VI(string boundaryName, VelocityMethod velocityMethod, ReferenceFrame referenceFrame, string velocityMagnitude, string gaugePressure, TurbulenceSet turbulenceSet, float[] xyzDirctionOrComponent = null)
        {
            StringBuilder sb = new StringBuilder();

            BoundaryConditionImp BC = new BoundaryConditionImp();
            IEnOFF_ViscousOFF    iEnOFF_ViscousOFF = BC;
            //动量TUI
            string TUI = iEnOFF_ViscousOFF.VI(boundaryName, velocityMethod, referenceFrame, velocityMagnitude, gaugePressure, xyzDirctionOrComponent);

            sb.Append(TUI);
            //湍流TUI
            TUI = TurbulenceSetTUI(turbulenceSet);
            sb.Append(TUI);

            return(sb.ToString());
        }