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