//----------------------------------------------------------------------- // // Copyright (c) 2010 Deltares. All rights reserved. // // B.S.T. The // tom.the@deltares.nl // 8-9-2010 // //----------------------------------------------------------------------- namespace Deltares.Piping.Data { using System; using System.Collections.Generic; using System.Text; using Deltares.Standard; using Deltares.Standard.Language; public class PipingModelModel2Data { private double fHeight1 = 0.0; private double fHeight2 = 0.0; private double fPermeability1 = 0.0; private double fPermeability2 = 0.0; private double fPermeability3 = 0.0; private double fParticleDiameter = 0.0; private double fSeepageLength = 0.0; private double fCrackLength = 0.0; private PipingCommonData fPipingCommonData = null; private static List fRowHeaderTextList = new List(); private double fHeadDrop = 0.0; private string fMessages; private string fWarningMessage; private bool fIsHeadDropCalculation = true; public PipingModelModel2Data() { fPipingCommonData = new PipingCommonData(); InitializeDefaults(); } static PipingModelModel2Data() { fRowHeaderTextList.Clear(); fRowHeaderTextList.Add("gamma_w"); fRowHeaderTextList.Add("mu"); fRowHeaderTextList.Add("gamma_p"); fRowHeaderTextList.Add("eta"); fRowHeaderTextList.Add("theta"); fRowHeaderTextList.Add("Adapt"); fRowHeaderTextList.Add("F"); fRowHeaderTextList.Add("i"); fRowHeaderTextList.Add("D1"); fRowHeaderTextList.Add("D2"); fRowHeaderTextList.Add("K1"); fRowHeaderTextList.Add("K2"); fRowHeaderTextList.Add("K3"); fRowHeaderTextList.Add("Do"); fRowHeaderTextList.Add("d70"); // special case: the "Calculation" column header can change with user's language preference //FRowHeaderTextList.Add(LanguageSupport.GetText("CalculationType", System.Threading.Thread.CurrentThread.CurrentCulture)); //FRowHeaderTextList.Add("Calculate"); fRowHeaderTextList.Add("L"); fRowHeaderTextList.Add("dH"); fRowHeaderTextList.Add("Calculate"); // moved to end } public PipingModelModel2Data(ref PipingCommonData aPipingCommonData) { InitializeDefaults(); fPipingCommonData = aPipingCommonData; } public PipingModelModel2Data(PipingModelModel2Data aModel2CalculationData) { fSeepageLength = aModel2CalculationData.SeepageLength; fCrackLength = aModel2CalculationData.CrackLength; // vertical seepage length fHeight1 = aModel2CalculationData.Height1; fHeight2 = aModel2CalculationData.Height2; fPermeability1 = aModel2CalculationData.Permeability1; fPermeability2 = aModel2CalculationData.Permeability2; fPermeability3 = aModel2CalculationData.Permeability3; fParticleDiameter = aModel2CalculationData.ParticleDiameter; fHeadDrop = aModel2CalculationData.HeadDrop; fMessages = aModel2CalculationData.Messages; fWarningMessage = aModel2CalculationData.WarningMessage; fIsHeadDropCalculation = aModel2CalculationData.IsHeadDropCalculation; fPipingCommonData = new PipingCommonData(aModel2CalculationData.PipingCommonData); } public void InitializeDefaults() { fCrackLength = 0.0; // vertical seepage length fHeight1 = 10.0; fHeight2 = 10.0; fPermeability1 = 1.0e-4; fPermeability2 = 1.0e-4; fPermeability3 = 1.0e-4; fParticleDiameter = 200.0; if (fIsHeadDropCalculation) { fSeepageLength = 50.0; fHeadDrop = 0.0; } else { fHeadDrop = 3.46; fSeepageLength = 0.0; } fMessages = ""; fWarningMessage = ""; fIsHeadDropCalculation = true; } public PipingCommonData PipingCommonData { set { fPipingCommonData = value; } get { return fPipingCommonData; } } // Model2 data as properties (VNK) public double SeepageLength { set { fSeepageLength = value; } get { return fSeepageLength; } } public double CrackLength { set { fCrackLength = value; } get { return fCrackLength; } } public double ParticleDiameter { set { fParticleDiameter = value; } get { return fParticleDiameter; } } public double Height1 { set { fHeight1 = value; } get { return fHeight1; } } public double Height2 { set { fHeight2 = value; } get { return fHeight2; } } public double Permeability1 { set { fPermeability1 = value; } get { return fPermeability1; } } public double Permeability2 { set { fPermeability2 = value; } get { return fPermeability2; } } public double Permeability3 { set { fPermeability3 = value; } get { return fPermeability3; } } public double HeadDrop { get { return fHeadDrop; } set { fHeadDrop = value; } } public bool IsHeadDropCalculation { get { return fIsHeadDropCalculation; } set { fIsHeadDropCalculation = value; } } public string Messages { get { return fMessages; } set { fMessages = value; } } public string WarningMessage { get { return fWarningMessage; } set { fWarningMessage = value; } } public static List RowHeaderTextList { get { return fRowHeaderTextList; } } public ProbabilisticStruct ProbSeepageLength { get; set; } public ProbabilisticStruct ProbExternalWaterlevel { get; set; } public ProbabilisticStruct ProbLayer1Thickness { get; set; } public ProbabilisticStruct ProbLayer2Thickness { get; set; } public ProbabilisticStruct ProbSoil1Permeability { get; set; } public ProbabilisticStruct ProbSoil2Permeability { get; set; } public ProbabilisticStruct ProbSoil3Permeability { get; set; } } }