Beispiel #1
0
        /// <summary>
        /// -
        /// </summary>
        /// <param name="SoilParams">-</param>
        protected virtual void checkLayerInfo(SoilWaterParams SoilParams)
        {
            int Ldx;

            for (Ldx = 0; Ldx <= FNoLayers - 1; Ldx++)
            {
                if (SoilParams.SW_WP[Ldx + 1] >= SoilParams.SW_DUL[Ldx + 1])
                {
                    throw new Exception("DUL must be strictly greater than WP in layer " + Ldx.ToString());
                }
                else if (SoilParams.SatCond[Ldx + 1] <= 0.0)
                {
                    throw new Exception("Saturated conductivity must be positive in layer " + Ldx.ToString());
                }
                else if (SoilParams.SatCond[Ldx + 1] * Math.Pow(-1.0 / FPsi_Entry[Ldx], -FCond_N[Ldx]) < 1.0E-10)
                {
                    throw new Exception("DUL and WP are too close together in layer " + Ldx.ToString());
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// -
        /// </summary>
        /// <param name="SoilParams">Soil parameters</param>
        protected override void checkLayerInfo(SoilWaterParams SoilParams)
        {
            int Ldx;

            for (Ldx = 0; Ldx <= FNoLayers - 1; Ldx++)
            {
                if (SoilParams.SW_WP[Ldx + 1] >= SoilParams.SW_DUL[Ldx + 1])
                {
                    throw new Exception("DUL must be strictly greater than WP in layer " + Ldx.ToString());
                }
            }
        }