// Copyright (C) Stichting Deltares 2019. All rights reserved.
//
// This file is part of the Dam Engine.
//
// The Dam Engine is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
//
// All names, logos, and references to "Deltares" are registered trademarks of
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
using System;
using System.Collections.Generic;
using Deltares.DamEngine.Data.General;
using Deltares.DamEngine.Data.General.Results;
using Deltares.DamEngine.Data.Standard.Logging;
namespace Deltares.DamEngine.Data.RegionalAssessmentResults
{
///
/// Class for results of one particular regional scenario per profile
///
public class RegionalScenarioProfileJob: RegionalResult
{
private FailureMechanismSystemType failureMechanismType = FailureMechanismSystemType.StabilityInside;
private DikeDrySensitivity dikeDrySensitivity = DikeDrySensitivity.None;
private HydraulicShortcutType hydraulicShortcutType = HydraulicShortcutType.NoHydraulicShortcut;
private UpliftType upliftType = UpliftType.NoUplift;
private LoadSituation loadSituation = LoadSituation.Wet;
private MStabModelType mstabModelOption;
private PipingModelType pipingModelOption;
private readonly SoilGeometryProbability soilGeometryProbability;
private readonly Location location;
private ScenarioType scenarioType = ScenarioType.Scenario01;
private string baseFileName = "";
///
/// Initializes a new instance of the class.
///
/// The location.
/// The soil geometry probability.
public RegionalScenarioProfileJob(Location location, SoilGeometryProbability soilGeometryProbability)
{
this.location = location;
this.soilGeometryProbability = soilGeometryProbability;
}
///
/// Gets the location.
///
///
/// The location.
///
public Location Location
{
get
{
return location;
}
}
///
/// The calculation category (constant value)
///
public const string CalculationCategory = "Calculation";
///
/// Gets the name of the location.
///
///
/// The name of the location.
///
public string LocationName
{
get { return location.Name; }
}
///
/// Gets or sets the load situation.
///
///
/// The load situation.
///
public LoadSituation LoadSituation
{
get { return loadSituation; }
set { loadSituation = value; }
}
///
/// Gets or sets the dike dry sensitivity.
///
///
/// The dike dry sensitivity.
///
public DikeDrySensitivity DikeDrySensitivity
{
get { return dikeDrySensitivity; }
set { dikeDrySensitivity = value; }
}
///
/// Gets or sets the type of the hydraulic shortcut.
///
///
/// The type of the hydraulic shortcut.
///
public HydraulicShortcutType HydraulicShortcutType
{
get { return hydraulicShortcutType; }
set { hydraulicShortcutType = value; }
}
///
/// Gets or sets the type of the uplift.
///
///
/// The type of the uplift.
///
public UpliftType UpliftType
{
get { return upliftType; }
set { upliftType = value; }
}
///
/// Gets or sets the mstab model option.
///
///
/// The mstab model option.
///
public MStabModelType MstabModelOption
{
get { return mstabModelOption; }
set { mstabModelOption = value; }
}
///
/// Gets or sets the piping model option.
///
///
/// The piping model option.
///
public PipingModelType PipingModelOption
{
get { return pipingModelOption; }
set { pipingModelOption = value; }
}
///
/// Gets or sets the type of the scenario.
///
///
/// The type of the scenario.
///
public ScenarioType ScenarioType
{
get { return scenarioType; }
set { scenarioType = value; }
}
///
/// Gets or sets the name of the base file.
///
///
/// The name of the base file.
///
public string BaseFileName
{
get { return baseFileName; }
set { baseFileName = value; }
}
///
/// Gets or sets the type of the failure mechanism.
///
///
/// The type of the failure mechanism.
///
public FailureMechanismSystemType FailureMechanismType
{
get { return failureMechanismType; }
set { failureMechanismType = value; }
}
///
/// Gets the soil geometry probability.
///
///
/// The soil geometry probability.
///
public SoilGeometryProbability SoilGeometryProbability
{
get { return soilGeometryProbability; }
}
///
/// Gets the name of the soil profile.
///
///
/// The name of the soil profile.
///
public string SoilProfileName
{
get
{
return soilGeometryProbability.SoilProfile1D.Name;
}
}
///
/// Gets the soil profile probability.
///
///
/// The soil profile probability.
///
public double SoilProfileProbability
{
get
{
return soilGeometryProbability.Probability;
}
}
///
/// Gets or sets the current specification.
///
///
/// The current specification.
///
public DamFailureMechanismeCalculationSpecification CurrentSpecification { get; set; }
///
/// Gets or sets the calculation messages.
///
///
/// The calculation messages.
///
public List CalculationMessages { get; set;}
///
/// Gets or sets the kernel data input.
///
///
/// The kernel data input.
///
public Object KernelDataInput { get; set; }
///
/// Gets or sets the kernel data output.
///
///
/// The kernel data output.
///
public Object KernelDataOutput { get; set; }
///
/// Gets or sets the dam kernel input.
///
///
/// The dam kernel input.
///
public Object DamKernelInput { get; set; }
///
/// Gets or sets the results.
///
///
/// The results.
///
public List Results { get; set; }
///
/// Gets or sets the HBP.
///
///
/// The HBP.
///
public double Hbp { get; set; }
///
/// Gets or sets the LBP.
///
///
/// The LBP.
///
public double Lbp { get; set; }
}
}