using Ringtoets.Piping.Data;
namespace Ringtoets.Piping.Calculation
{
///
/// This class contains all the parameters that are required to perform a piping assessment.
///
public class PipingCalculationInput
{
private readonly double waterVolumetricWeight;
private readonly double upliftModelFactor;
private readonly double assessmentLevel;
private readonly double piezometricHeadExit;
private readonly double dampingFactorExit;
private readonly double phreaticLevelExit;
private readonly double piezometricHeadPolder;
private readonly double criticalHeaveGradient;
private readonly double thicknessCoverageLayer;
private readonly double sellmeijerModelFactor;
private readonly double sellmeijerReductionFactor;
private readonly double seepageLength;
private readonly double sandParticlesVolumicWeight;
private readonly double whitesDragCoefficient;
private readonly double diameter70;
private readonly double darcyPermeability;
private readonly double waterKinematicViscosity;
private readonly double gravity;
private readonly double thicknessAquiferLayer;
private readonly double meanDiameter70;
private readonly double beddingAngle;
private readonly double exitPointXCoordinate;
private readonly RingtoetsPipingSurfaceLine surfaceLine;
private readonly PipingSoilProfile soilProfile;
///
/// Constructs a new , which contains values for the parameters used
/// in the piping sub calculations.
///
/// The volumetric weight of water. [kN/m³]
/// The calculation value used to account for uncertainty in the model for uplift.
/// The outside high water level. [m]
/// The piezometric head at the exit point. [m]
/// The damping factor at the exit point.
/// The phreatic level at the exit point. [m]
/// The piezometric head in the hinterland. [m]
/// The critical exit gradient for heave.
/// The total thickness of the coverage layer at the exit point. [m]
/// The calculation value used to account for uncertainty in the model for Sellmeijer.
/// The reduction factor Sellmeijer.
/// The horizontal distance between entree and exit point. [m]
/// The (lowerbound) volumic weight of sand grain material of a sand layer under water. [kN/m³]
/// The White's drag coefficient.
/// The sieve size through which 70% fraction of the grains of the top part of the aquifer passes. [m]
/// The Darcy-speed with which water flows through the aquifer layer. [m/s]
/// The kinematic viscosity of water at 10 degrees Celsius. [m²/s]
/// The gravitational acceleration. [m/s²]
/// The thickness of the aquifer layer. [m]
/// The mean diameter of small scale tests applied to different kinds of sand, on which the formula of Sellmeijer has been fit. [m]
/// The angle of the force balance representing the amount in which sand grains resist rolling. [°]
/// The x coordinate of the exit point. [m]
/// The surface line.
/// The profile which contains a 1 dimensional definition of soil layers with properties.
public PipingCalculationInput(double waterVolumetricWeight, double upliftModelFactor, double assessmentLevel, double piezometricHeadExit, double dampingFactorExit, double phreaticLevelExit, double piezometricHeadPolder, double criticalHeaveGradient, double thicknessCoverageLayer, double sellmeijerModelFactor, double sellmeijerReductionFactor, double seepageLength, double sandParticlesVolumicWeight, double whitesDragCoefficient, double diameter70, double darcyPermeability, double waterKinematicViscosity, double gravity, double thicknessAquiferLayer, double meanDiameter70, double beddingAngle, double exitPointXCoordinate, RingtoetsPipingSurfaceLine surfaceLine, PipingSoilProfile soilProfile)
{
this.waterVolumetricWeight = waterVolumetricWeight;
this.upliftModelFactor = upliftModelFactor;
this.assessmentLevel = assessmentLevel;
this.piezometricHeadExit = piezometricHeadExit;
this.dampingFactorExit = dampingFactorExit;
this.phreaticLevelExit = phreaticLevelExit;
this.piezometricHeadPolder = piezometricHeadPolder;
this.criticalHeaveGradient = criticalHeaveGradient;
this.thicknessCoverageLayer = thicknessCoverageLayer;
this.sellmeijerModelFactor = sellmeijerModelFactor;
this.sellmeijerReductionFactor = sellmeijerReductionFactor;
this.seepageLength = seepageLength;
this.sandParticlesVolumicWeight = sandParticlesVolumicWeight;
this.whitesDragCoefficient = whitesDragCoefficient;
this.diameter70 = diameter70;
this.darcyPermeability = darcyPermeability;
this.waterKinematicViscosity = waterKinematicViscosity;
this.gravity = gravity;
this.thicknessAquiferLayer = thicknessAquiferLayer;
this.meanDiameter70 = meanDiameter70;
this.beddingAngle = beddingAngle;
this.exitPointXCoordinate = exitPointXCoordinate;
this.surfaceLine = surfaceLine;
this.soilProfile = soilProfile;
}
#region properties
///
/// Gets the volumetric weight of water.
/// [kN/m³]
///
public double WaterVolumetricWeight
{
get
{
return waterVolumetricWeight;
}
}
///
/// Gets the calculation value used to account for uncertainty in the model for uplift.
///
public double UpliftModelFactor
{
get
{
return upliftModelFactor;
}
}
///
/// Gets the outside high water level.
/// [m]
///
public double AssessmentLevel
{
get
{
return assessmentLevel;
}
}
///
/// Gets the piezometric head at the exit point.
/// [m]
///
public double PiezometricHeadExit
{
get
{
return piezometricHeadExit;
}
}
///
/// Gets the damping factor at the exit point.
///
public double DampingFactorExit
{
get
{
return dampingFactorExit;
}
}
///
/// Gets the phreatic level at the exit point.
/// [m]
///
public double PhreaticLevelExit
{
get
{
return phreaticLevelExit;
}
}
///
/// Gets the piezometric head in the hinterland.
/// [m]
///
public double PiezometricHeadPolder
{
get
{
return piezometricHeadPolder;
}
}
///
/// Gets the critical exit gradient for heave.
///
public double CriticalHeaveGradient
{
get
{
return criticalHeaveGradient;
}
}
///
/// Gets the total thickness of the coverage layer at the exit point.
/// [m]
///
public double ThicknessCoverageLayer
{
get
{
return thicknessCoverageLayer;
}
}
///
/// Gets the calculation value used to account for uncertainty in the model for Sellmeijer.
///
public double SellmeijerModelFactor
{
get
{
return sellmeijerModelFactor;
}
}
///
/// Gets the reduction factor Sellmeijer.
///
public double SellmeijerReductionFactor
{
get
{
return sellmeijerReductionFactor;
}
}
///
/// Gets the horizontal distance between entree and exit point.
/// [m]
///
public double SeepageLength
{
get
{
return seepageLength;
}
}
///
/// Gets the (lowerbound) volumic weight of sand grain material of a sand layer under water.
/// [kN/m³]
///
public double SandParticlesVolumicWeight
{
get
{
return sandParticlesVolumicWeight;
}
}
///
/// Gets the White's drag coefficient.
///
public double WhitesDragCoefficient
{
get
{
return whitesDragCoefficient;
}
}
///
/// Gets the sieve size through which 70% fraction of the grains of the top part of the aquifer passes.
/// [m]
///
public double Diameter70
{
get
{
return diameter70;
}
}
///
/// Gets the Darcy-speed with which water flows through the aquifer layer.
/// [m/s]
///
public double DarcyPermeability
{
get
{
return darcyPermeability;
}
}
///
/// Gets the kinematic viscosity of water at 10 degrees Celsius.
/// [m²/s]
///
public double WaterKinematicViscosity
{
get
{
return waterKinematicViscosity;
}
}
///
/// Gets the gravitational acceleration.
/// [m/s²]
///
public double Gravity
{
get
{
return gravity;
}
}
///
/// Gets the thickness of the aquifer layer.
/// [m]
///
public double ThicknessAquiferLayer
{
get
{
return thicknessAquiferLayer;
}
}
///
/// Gets the mean diameter of small scale tests applied to different kinds of sand, on which the formula of Sellmeijer has been fit.
/// [m]
///
public double MeanDiameter70
{
get
{
return meanDiameter70;
}
}
///
/// Gets the angle of the force balance representing the amount in which sand grains resist rolling.
/// [°]
///
public double BeddingAngle
{
get
{
return beddingAngle;
}
}
///
/// Gets the x coordinate of the exit point.
/// [m]
///
public double ExitPointXCoordinate
{
get
{
return exitPointXCoordinate;
}
}
///
/// Gets the surface line.
///
public RingtoetsPipingSurfaceLine SurfaceLine
{
get
{
return surfaceLine;
}
}
///
/// Gets the profile which contains a 1 dimensional definition of soil layers with properties.
///
public PipingSoilProfile SoilProfile
{
get
{
return soilProfile;
}
}
#endregion
}
}