stem.soil_material module
- class stem.soil_material.FluidProperties(DENSITY_FLUID: float = 1000, DYNAMIC_VISCOSITY: float = 0.0013, BULK_MODULUS_FLUID: float = 2000000000.0)
Bases:
objectClass containing the parameters for a fluid. Default values are for water at 12 degrees Celsius.
- Attributes:
DENSITY_FLUID (float): The density of fluid [kg/m^3].
DYNAMIC_VISCOSITY (float): The dynamic viscosity of fluid [Pa s].
BULK_MODULUS_FLUID (float): The bulk modulus of fluid [Pa].
- class stem.soil_material.LinearElasticSoil(YOUNG_MODULUS: float, POISSON_RATIO: float)
Bases:
SoilConstitutiveLawABCClass containing the material parameters for a 2D linear elastic material
- Inheritance:
- Attributes:
YOUNG_MODULUS (float): The Young’s modulus [Pa].
POISSON_RATIO (float): The Poisson’s ratio [-].
- class stem.soil_material.OnePhaseSoil(ndim: int, IS_DRAINED: bool, DENSITY_SOLID: float, POROSITY: float, BULK_MODULUS_SOLID: float = 50000000000.0, BIOT_COEFFICIENT: float | None = None, RAYLEIGH_M: float | None = None, RAYLEIGH_K: float | None = None)
Bases:
SoilFormulationParametersABCClass containing the material parameters for an undrained soil material
- Inheritance:
- Attributes:
IS_UNDRAINED (bool): Boolean indicating if the soil is undrained.
DENSITY_SOLID (float): The density of the solid material [kg/m^3].
POROSITY (float): The porosity of the soil [-].
BULK_MODULUS_SOLID (float): The bulk modulus of the solid material [Pa].
BIOT_COEFFICIENT (Optional[float]): The Biot coefficient [-].
RAYLEIGH_M (Optional[float]): Mass proportional Rayleigh damping parameter [-].
RAYLEIGH_K (Optional[float]): Stiffness proportional Rayleigh damping parameter [-].
- class stem.soil_material.RetentionLawABC
Bases:
ABCAbstract class containing the parameters for a retention law. This class is created for type checking purposes.
- class stem.soil_material.SaturatedBelowPhreaticLevelLaw(SATURATED_SATURATION: float = 1.0, RESIDUAL_SATURATION: float = 1e-10)
Bases:
RetentionLawABCClass containing the parameters for the retention law: saturated below phreatic level
- Inheritance:
- Attributes:
SATURATED_SATURATION (float): The saturation ratio below phreatic level [-].
RESIDUAL_SATURATION (float): The residual saturation ratio [-].
- class stem.soil_material.SaturatedLaw(SATURATED_SATURATION: float = 1.0)
Bases:
RetentionLawABCClass containing the parameters for the retention law: saturated
- Inheritance:
- Attributes:
SATURATED_SATURATION (float): The saturation ratio [-].
- class stem.soil_material.SmallStrainUdsmLaw(UDSM_NAME: str, UDSM_NUMBER: int, IS_FORTRAN_UDSM: bool, UDSM_PARAMETERS: List[Any])
Bases:
SoilConstitutiveLawABCClass containing the material parameters for small strain udsm material
- Inheritance:
- Attributes:
UDSM_NAME (str): The name and location of the udsm .dll or .so file.
UDSM_NUMBER (int): The model number within the udsm.
IS_FORTRAN_UDSM (bool): A boolean to indicate whether the udsm is written in Fortran.
UDSM_PARAMETERS (list): The parameters of the udsm.
- class stem.soil_material.SmallStrainUmatLaw(UMAT_NAME: str, IS_FORTRAN_UMAT: bool, UMAT_PARAMETERS: List[Any], STATE_VARIABLES: List[Any])
Bases:
SoilConstitutiveLawABCClass containing the material parameters for a 2D small strain umat material
- Inheritance:
- Attributes:
UMAT_NAME (str): The name and location of the umat .dll or .so file.
IS_FORTRAN_UMAT (bool): A boolean to indicate whether the umat is written in Fortran.
UMAT_PARAMETERS (list): The parameters of the umat.
STATE_VARIABLES (list): The state variables of the umat.
- class stem.soil_material.SoilConstitutiveLawABC
Bases:
ABCAbstract base class for soil constitutive laws
- class stem.soil_material.SoilFormulationParametersABC(ndim: int)
Bases:
ABCAbstract base class for soil formulation parameters
- Attributes:
ndim (int): The number of dimensions of the soil formulation (2 or 3)
- class stem.soil_material.SoilMaterial(name: str, soil_formulation: ~stem.soil_material.SoilFormulationParametersABC, constitutive_law: ~stem.soil_material.SoilConstitutiveLawABC, retention_parameters: ~stem.soil_material.RetentionLawABC, fluid_properties: ~stem.soil_material.FluidProperties = <factory>)
Bases:
objectClass containing the parameters for a soil material
- Attributes:
name (str): The name to describe the soil material.
soil_formulation (
SoilFormulationParametersABC): The soil formulation parameters.constitutive_law (
SoilConstitutiveLawABC): The soil constitutive law parameters.retention_parameters (
RetentionLawABC): The retention law parameters.fluid_properties (
FluidProperties): The fluid properties.
- constitutive_law: SoilConstitutiveLawABC
- fluid_properties: FluidProperties
- static get_element_name(n_dim_model: int, n_nodes_element: int, analysis_type: AnalysisType) str
Function to get the element name based on the number of dimensions, the number of nodes and the analysis type.
- Args:
n_dim_model (int): The number of dimensions of the model.
n_nodes_element (int): The number of nodes per element.
analysis_type (
stem.solver.AnalysisType): The analysis type.
- Raises:
ValueError: If the analysis type is not implemented yet for nodal concentrated elements.
- Returns:
element_name (str): The name of the element.
- get_property_in_material(property_name: str) Any
Function to retrieve the requested property for the soil material. The function is capital sensitive!
- Args:
property_name (str): The desired soil property name.
- Raises:
ValueError: If the property is not in not available in the soil material.
- Returns:
Any : The value of the soil property.
- retention_parameters: RetentionLawABC
- soil_formulation: SoilFormulationParametersABC
- class stem.soil_material.TwoPhaseSoil(ndim: int, DENSITY_SOLID: float, POROSITY: float, PERMEABILITY_XX: float, PERMEABILITY_YY: float, PERMEABILITY_XY: float = 0, BULK_MODULUS_SOLID: float = 50000000000.0, BIOT_COEFFICIENT: float | None = None, RAYLEIGH_M: float | None = None, RAYLEIGH_K: float | None = None, PERMEABILITY_YZ: float | None = 0, PERMEABILITY_ZX: float | None = 0, PERMEABILITY_ZZ: float | None = None)
Bases:
SoilFormulationParametersABCClass containing the material parameters for a two phase soil material
- Inheritance:
- Attributes:
DENSITY_SOLID (float): The density of the solid material [kg/m^3].
POROSITY (float): The porosity of the soil [-].
PERMEABILITY_XX (float): The permeability in the x-direction [m^2].
PERMEABILITY_YY (float): The permeability in the y-direction [m^2].
PERMEABILITY_XY (float): The permeability in the xy-direction [m^2].
BULK_MODULUS_SOLID (float): The bulk modulus of the solid material [Pa].
BIOT_COEFFICIENT (Optional[float]): The Biot coefficient [-].
RAYLEIGH_M (Optional[float]): Mass proportional rayleigh damping parameter [-].
RAYLEIGH_K (Optional[float]): Stiffness proportional rayleigh damping parameter [-].
PERMEABILITY_YZ (Optional[float]): The permeability in the yz-direction [m^2].
PERMEABILITY_ZX (Optional[float]): The permeability in the zx-direction [m^2].
PERMEABILITY_ZZ (Optional[float]): The permeability in the z-direction [m^2].
- class stem.soil_material.VanGenuchtenLaw(VAN_GENUCHTEN_AIR_ENTRY_PRESSURE: float, VAN_GENUCHTEN_GN: float, VAN_GENUCHTEN_GL: float, SATURATED_SATURATION: float = 1.0, RESIDUAL_SATURATION: float = 1e-10, MINIMUM_RELATIVE_PERMEABILITY: float = 0.0001)
Bases:
RetentionLawABCClass containing the parameters for a retention law
- Inheritance:
- Attributes:
VAN_GENUCHTEN_AIR_ENTRY_PRESSURE (float): The air entry pressure [Pa].
VAN_GENUCHTEN_GN (float): The pore size distribution index [-].
VAN_GENUCHTEN_GL (float): exponent for calculating relative permeability [-].
SATURATED_SATURATION (float): The maximum saturation ratio [-].
RESIDUAL_SATURATION (float): The minumum saturation ratio [-].
MINIMUM_RELATIVE_PERMEABILITY (float): The minimum relative permeability [-].