geolib.models.dgeoflow.internal¶
The internal data model structure.
Functions
|
Classes
|
boundaryconditions/boundaryconditions_x.json |
alias of |
|
|
|
|
|
|
|
|
Highest level DGeoFlow class that should be parsed to and serialized from. |
|
|
|
|
|
|
|
A dataclass that store the connections between the various unique Ids used in DGeoFlow. |
|
geometries/geometry_x.json |
|
|
|
|
|
meshproperties/meshproperties_x.json |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
projectinfo.json. |
|
scenarios/scenario_x.json |
|
soils.json |
|
soillayers/soillayers_x.json |
|
- class geolib.models.dgeoflow.internal.BoundaryConditionCollection(**data)¶
boundaryconditions/boundaryconditions_x.json
- Parameters:
data (
Any
)
-
BoundaryConditions:
List
[PersistableBoundaryCondition
]¶
-
ContentVersion:
Optional
[str
]¶
-
Id:
Optional
[str
]¶
- add_boundary_condition(id, label, notes, points, head_level)¶
- Parameters:
id (
int
)label (
str
)notes (
str
)points (
List
[Point
])head_level (
float
)
- Return type:
- contains_point(point)¶
Check if the given point is on one of the points of the layers
- Parameters:
point (Point) – A point type
- Returns:
True if this point is found on a layer, False otherwise
- Return type:
bool
Todo
Take x, z accuracy into account
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'BoundaryConditions': FieldInfo(annotation=List[PersistableBoundaryCondition], required=False, default=[]), 'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod structure_name()¶
- Return type:
str
- geolib.models.dgeoflow.internal.CalculationType¶
alias of
CalculationTypeEnum
- class geolib.models.dgeoflow.internal.CalculationTypeEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- CRITICAL_HEAD = 'CriticalHead'¶
- GROUNDWATER_FLOW = 'GroundwaterFlow'¶
- PIPE_LENGTH = 'PipeLength'¶
- class geolib.models.dgeoflow.internal.CriticalHeadResult(**data)¶
- Parameters:
data (
Any
)
-
ContentVersion:
Optional
[str
]¶
-
CriticalHead:
Optional
[float
]¶
-
Elements:
Optional
[List
[ElementResult
]]¶
-
Id:
Optional
[str
]¶
-
PipeElements:
Optional
[List
[PipeElementResult
]]¶
-
PipeLength:
Optional
[float
]¶
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'CriticalHead': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'Elements': FieldInfo(annotation=Union[List[ElementResult], NoneType], required=False, default=[]), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'PipeElements': FieldInfo(annotation=Union[List[PipeElementResult], NoneType], required=False, default=[]), 'PipeLength': FieldInfo(annotation=Union[float, NoneType], required=False, default=None)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.DGeoFlowBaseModelStructure(**data)¶
- Parameters:
data (
Any
)
- dict(*args, **kwargs)¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.DGeoFlowStructure(**data)¶
Highest level DGeoFlow class that should be parsed to and serialized from.
The List[] items (one for each scenario in the model) will be stored in a subfolder to multiple json files. Where the first (0) instance has no suffix, but the second one has (1 => _1) etc.
also parses the outputs which are part of the json files
- Parameters:
data (
Any
)
- add_default_calculation(scenario_index, label, notes)¶
Add a new default (empty) calculation to DStability.
- Parameters:
scenario_index (
int
)label (
str
)notes (
str
)
- Return type:
int
- add_default_scenario(label, notes, unique_start_id=None)¶
Add a new default (empty) scenario to DGeoFlow.
- Parameters:
label (
str
)notes (
str
)unique_start_id (
Optional
[int
])
- Return type:
Tuple
[int
,int
]
- add_default_stage(scenario_index, label, notes, unique_start_id=None)¶
Add a new default (empty) stage to DStability.
- Parameters:
scenario_index (
int
)label (
str
)notes (
str
)unique_start_id (
Optional
[int
])
- Return type:
int
-
boundary_conditions:
List
[BoundaryConditionCollection
]¶
-
critical_head_results:
List
[CriticalHeadResult
]¶
- ensure_validity_foreign_keys()¶
- get_result_substructure(calculation_type)¶
- Parameters:
calculation_type (
CalculationTypeEnum
)- Return type:
List
[Union
[GroundwaterFlowResult
,PipeLengthResult
,CriticalHeadResult
]]
- get_unique_id()¶
Return unique id that can be used in DGeoFlow. Finds all existing ids, takes the max and does +1.
- Return type:
int
-
groundwater_flow_results:
List
[GroundwaterFlowResult
]¶
- has_result(scenario_index)¶
- Parameters:
scenario_index (
int
)- Return type:
bool
- has_scenario(scenario_id)¶
- Parameters:
scenario_id (
int
)- Return type:
bool
- has_soil_layer(stage_id, soil_layer_id)¶
- Parameters:
stage_id (
int
)soil_layer_id (
int
)
- Return type:
bool
- has_soil_layers(scenario_id)¶
- Parameters:
scenario_id (
int
)- Return type:
bool
-
mesh_properties:
List
[MeshProperty
]¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'boundary_conditions': FieldInfo(annotation=List[BoundaryConditionCollection], required=False, default=[BoundaryConditionCollection(ContentVersion='2', Id='15', BoundaryConditions=[])]), 'critical_head_results': FieldInfo(annotation=List[CriticalHeadResult], required=False, default=[]), 'geometries': FieldInfo(annotation=List[Geometry], required=False, default=[Geometry(ContentVersion='2', Id='1', Layers=[])]), 'groundwater_flow_results': FieldInfo(annotation=List[GroundwaterFlowResult], required=False, default=[]), 'mesh_properties': FieldInfo(annotation=List[MeshProperty], required=False, default=[MeshProperty(ContentVersion='2', Id='16', MeshProperties=[])]), 'pipe_length_results': FieldInfo(annotation=List[PipeLengthResult], required=False, default=[]), 'projectinfo': FieldInfo(annotation=ProjectInfo, required=False, default=ProjectInfo(Analyst='', ApplicationCreated='', ApplicationModified='', ContentVersion='2', Created=datetime.date(2024, 9, 10), CrossSection='', Date=datetime.date(2024, 9, 10), IsDataValidated=False, LastModified=datetime.date(2024, 9, 10), LastModifier='GEOLib', Path='', Project='', Remarks='Created with GEOLib 2.5.0')), 'scenarios': FieldInfo(annotation=List[Scenario], required=False, default=[Scenario(ContentVersion='2', Id='0', Label='Scenario 1', Notes=None, GeometryId='1', SoilLayersId='14', Stages=[PersistableStage(Label='Stage 1', Notes=None, BoundaryConditionCollectionId='15')], Calculations=[PersistableCalculation(Label='Calculation 1', Notes=None, CalculationType=<CalculationTypeEnum.GROUNDWATER_FLOW: 'GroundwaterFlow'>, CriticalHeadId=None, CriticalHeadSearchSpace=PersistableCriticalHeadSearchSpace(MinimumHeadLevel=0.0, MaximumHeadLevel=1.0, StepSize=0.1), PipeTrajectory=None, MeshPropertiesId='16', ResultsId=None)])]), 'soillayers': FieldInfo(annotation=List[SoilLayerCollection], required=False, default=[SoilLayerCollection(ContentVersion='2', Id='14', SoilLayers=[])]), 'soils': FieldInfo(annotation=SoilCollection, required=False, default=SoilCollection(ContentVersion='2', Soils=[PersistableSoil(Code='H_Aa_ht_new', Id='2', Name='Embankment new', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_Aa_ht_old', Id='3', Name='Embankment old', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_Rk_k_shallow', Id='4', Name='Clay, shallow', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_Rk_k_deep', Id='5', Name='Clay, deep', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_Rk_ko', Id='6', Name='Organic clay', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_vhv_v', Id='7', Name='Peat, shallow', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_vbv_v', Id='8', Name='Peat, deep', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='Sand', Id='9', Name='Sand', Notes='', HorizontalPermeability=30.0, VerticalPermeability=30.0), PersistableSoil(Code='P_Rk_k&s', Id='10', Name='Clay with silt', Notes='', HorizontalPermeability=0.1, VerticalPermeability=0.1), PersistableSoil(Code='H_Ro_z&k', Id='11', Name='Sand with clay', Notes='', HorizontalPermeability=1.0, VerticalPermeability=1.0), PersistableSoil(Code='Sand, less permeable', Id='12', Name='Sand, less permeable', Notes='', HorizontalPermeability=15.0, VerticalPermeability=15.0), PersistableSoil(Code='Sand, permeable', Id='13', Name='Sand, permeable', Notes='', HorizontalPermeability=45.0, VerticalPermeability=45.0)])), 'soilvisualizations': FieldInfo(annotation=SoilVisualisation, required=False, default=SoilVisualisation(ContentVersion='2', SoilVisualizations=[]))}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
-
pipe_length_results:
List
[PipeLengthResult
]¶
-
projectinfo:
ProjectInfo
¶
-
soillayers:
List
[SoilLayerCollection
]¶
-
soils:
SoilCollection
¶
-
soilvisualizations:
SoilVisualisation
¶
- validator()¶
Set the Validator class.
- class geolib.models.dgeoflow.internal.DGeoFlowSubStructure(**data)¶
- Parameters:
data (
Any
)
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod structure_name()¶
- class geolib.models.dgeoflow.internal.ElementResult(**data)¶
- Parameters:
data (
Any
)
-
NodeResults:
Optional
[List
[NodeResult
]]¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'NodeResults': FieldInfo(annotation=Union[List[NodeResult], NoneType], required=False, default=[])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.ErosionDirectionEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- LEFT_TO_RIGHT = ('LeftToRight',)¶
- RIGHT_TO_LEFT = 'RightToLeft'¶
- class geolib.models.dgeoflow.internal.ForeignKeys(**data)¶
A dataclass that store the connections between the various unique Ids used in DGeoFlow. These can be seen as (implicit) foreign keys.
- Parameters:
data (
Any
)
- property class_fields: Dict[str, List[str]]¶
Return a mapping in the form: classname: [fields]
-
mapping:
Dict
[str
,Tuple
[str
,...
]]¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'mapping': FieldInfo(annotation=Dict[str, Tuple[str, ...]], required=False, default={'PersistableSoil.Id': ('PersistableSoilVisualization.SoilId', 'PersistableSoilLayer.SoilId'), 'PersistableLayer.Id': ('PersistableSoilLayer.LayerId', 'PersistableMeshProperties.LayerId'), 'Geometry.Id': ('Scenario.GeometryId',), 'SoilLayerCollection.Id': ('Scenario.SoilLayersId',), 'BoundaryConditionCollection.Id': ('PersistableStage.BoundaryConditionCollectionId',), 'MeshProperty.Id': ('PersistableCalculation.MeshPropertiesId',), 'Results.Id': ('PersistableCalculation.ResultsId',)})}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.Geometry(**data)¶
geometries/geometry_x.json
- Parameters:
data (
Any
)
-
ContentVersion:
Optional
[str
]¶
-
Id:
Optional
[str
]¶
-
Layers:
List
[PersistableLayer
]¶
- add_layer(id, label, notes, points)¶
Add a new layer to the model. Layers are expected; 1. to contain at least 3 point (non closed polygons) 2. the points need to be in clockwise order 3. the polygon needs to be convex (no intersections with itsself)
- Parameters:
id (str) – id of the layer
label (str) – label of the layer
notes (str) – notes for the layers
points (List[Points]) – list of Point classes
- Returns:
the layer as a persistable object
- Return type:
- contains_point(point)¶
Check if the given point is on one of the points of the layers
- Parameters:
point (Point) – A point type
- Returns:
True if this point is found on a layer, False otherwise
- Return type:
bool
Todo
Take x, z accuracy into account
- get_layer(id)¶
- Parameters:
id (
int
)- Return type:
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Layers': FieldInfo(annotation=List[PersistableLayer], required=False, default=[])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod structure_name()¶
- Return type:
str
- class geolib.models.dgeoflow.internal.GroundwaterFlowResult(**data)¶
- Parameters:
data (
Any
)
-
ContentVersion:
Optional
[str
]¶
-
Elements:
Optional
[List
[ElementResult
]]¶
-
Id:
Optional
[str
]¶
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Elements': FieldInfo(annotation=Union[List[ElementResult], NoneType], required=False, default=[]), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.InternalPipeTrajectory(**data)¶
- Parameters:
data (
Any
)
-
D70:
Optional
[float
]¶
-
ElementSize:
Optional
[float
]¶
-
ErosionDirection:
Optional
[ErosionDirectionEnum
]¶
-
Label:
Optional
[str
]¶
-
Notes:
Optional
[str
]¶
-
Points:
Optional
[List
[PersistablePoint
]]¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'D70': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'ElementSize': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'ErosionDirection': FieldInfo(annotation=Union[ErosionDirectionEnum, NoneType], required=False, default=<ErosionDirectionEnum.RIGHT_TO_LEFT: 'RightToLeft'>), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Points': FieldInfo(annotation=Union[List[PersistablePoint], NoneType], required=False, default=None)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.MeshProperty(**data)¶
meshproperties/meshproperties_x.json
- Parameters:
data (
Any
)
-
ContentVersion:
Optional
[str
]¶
-
Id:
Optional
[str
]¶
-
MeshProperties:
Optional
[List
[PersistableMeshProperties
]]¶
- add_meshproperty(layer_id, element_size, label)¶
- Parameters:
layer_id (
str
)element_size (
float
)label (
str
)
- Return type:
- get_ids(exclude_soil_layer_id)¶
- Parameters:
exclude_soil_layer_id (
Optional
[int
])- Return type:
Set
[str
]
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'MeshProperties': FieldInfo(annotation=Union[List[PersistableMeshProperties], NoneType], required=False, default=[])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod structure_name()¶
- Return type:
str
- class geolib.models.dgeoflow.internal.NodeResult(**data)¶
- Parameters:
data (
Any
)
-
HydraulicDischarge:
float
¶
-
HydraulicHead:
float
¶
-
Point:
Optional
[PersistablePoint
]¶
-
TotalPorePressure:
float
¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'HydraulicDischarge': FieldInfo(annotation=float, required=False, default=1), 'HydraulicHead': FieldInfo(annotation=float, required=False, default=1), 'Point': FieldInfo(annotation=Union[PersistablePoint, NoneType], required=False, default=None), 'TotalPorePressure': FieldInfo(annotation=float, required=False, default=1)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistableBoundaryCondition(**data)¶
- Parameters:
data (
Any
)
-
FixedHeadBoundaryConditionProperties:
PersistableFixedHeadBoundaryConditionProperties
¶
-
Id:
Optional
[str
]¶
-
Label:
Optional
[str
]¶
-
Notes:
Optional
[str
]¶
-
Points:
Annotated
[List
[PersistablePoint
]]¶
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'FixedHeadBoundaryConditionProperties': FieldInfo(annotation=PersistableFixedHeadBoundaryConditionProperties, required=True), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Points': FieldInfo(annotation=List[PersistablePoint], required=True, metadata=[MinLen(min_length=2)])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistableCalculation(**data)¶
- Parameters:
data (
Any
)
-
CalculationType:
Optional
[CalculationTypeEnum
]¶
-
CriticalHeadId:
Optional
[str
]¶
-
CriticalHeadSearchSpace:
Optional
[PersistableCriticalHeadSearchSpace
]¶
-
Label:
Optional
[str
]¶
-
MeshPropertiesId:
Optional
[str
]¶
-
Notes:
Optional
[str
]¶
-
PipeTrajectory:
Optional
[InternalPipeTrajectory
]¶
-
ResultsId:
Optional
[str
]¶
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'CalculationType': FieldInfo(annotation=Union[CalculationTypeEnum, NoneType], required=False, default=<CalculationTypeEnum.GROUNDWATER_FLOW: 'GroundwaterFlow'>), 'CriticalHeadId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'CriticalHeadSearchSpace': FieldInfo(annotation=Union[PersistableCriticalHeadSearchSpace, NoneType], required=False, default=PersistableCriticalHeadSearchSpace(MinimumHeadLevel=0.0, MaximumHeadLevel=1.0, StepSize=0.1)), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'MeshPropertiesId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'PipeTrajectory': FieldInfo(annotation=Union[InternalPipeTrajectory, NoneType], required=False, default=None), 'ResultsId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistableCriticalHeadSearchSpace(**data)¶
- Parameters:
data (
Any
)
-
MaximumHeadLevel:
Optional
[float
]¶
-
MinimumHeadLevel:
Optional
[float
]¶
-
StepSize:
Optional
[float
]¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'MaximumHeadLevel': FieldInfo(annotation=Union[float, NoneType], required=False, default=1), 'MinimumHeadLevel': FieldInfo(annotation=Union[float, NoneType], required=False, default=0), 'StepSize': FieldInfo(annotation=Union[float, NoneType], required=False, default=0.1)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistableFixedHeadBoundaryConditionProperties(**data)¶
- Parameters:
data (
Any
)
-
HeadLevel:
float
¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'HeadLevel': FieldInfo(annotation=float, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistableLayer(**data)¶
- Parameters:
data (
Any
)
-
Id:
Optional
[str
]¶
-
Label:
Optional
[str
]¶
-
Notes:
Optional
[str
]¶
-
Points:
Annotated
[List
[PersistablePoint
]]¶
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Points': FieldInfo(annotation=List[PersistablePoint], required=True, metadata=[MinLen(min_length=3)])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod polygon_checks(points)¶
Todo
Find a way to check the validity of the given points
- classmethod polygon_checks_validator(points)¶
Todo
Find a way to check the validity of the given points
- class geolib.models.dgeoflow.internal.PersistableMeshProperties(**data)¶
- Parameters:
data (
Any
)
-
ElementSize:
Optional
[float
]¶
-
Label:
Optional
[str
]¶
-
LayerId:
str
¶
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'ElementSize': FieldInfo(annotation=Union[float, NoneType], required=False, default=1), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'LayerId': FieldInfo(annotation=str, required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistablePoint(**data)¶
- Parameters:
data (
Any
)
-
X:
Optional
[float
]¶
-
Z:
Optional
[float
]¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'X': FieldInfo(annotation=Union[float, NoneType], required=False, default=0), 'Z': FieldInfo(annotation=Union[float, NoneType], required=False, default=0)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistableShadingTypeEnum(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
- DIAGONAL_A = 'DiagonalA'¶
- DIAGONAL_B = 'DiagonalB'¶
- DIAGONAL_C = 'DiagonalC'¶
- DIAGONAL_D = 'DiagonalD'¶
- DOT_A = 'DotA'¶
- DOT_B = 'DotB'¶
- DOT_C = 'DotC'¶
- DOT_D = 'DotD'¶
- HORIZONTAL_A = 'HorizontalA'¶
- HORIZONTAL_B = 'HorizontalB'¶
- NONE = 'None'¶
- class geolib.models.dgeoflow.internal.PersistableSoil(**data)¶
- Parameters:
data (
Any
)
-
Code:
str
¶
-
HorizontalPermeability:
float
¶
-
Id:
str
¶
-
Name:
str
¶
-
Notes:
str
¶
-
VerticalPermeability:
float
¶
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'Code': FieldInfo(annotation=str, required=False, default=''), 'HorizontalPermeability': FieldInfo(annotation=float, required=False, default=0.001), 'Id': FieldInfo(annotation=str, required=False, default=''), 'Name': FieldInfo(annotation=str, required=False, default=''), 'Notes': FieldInfo(annotation=str, required=False, default=''), 'VerticalPermeability': FieldInfo(annotation=float, required=False, default=0.001)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistableSoilLayer(**data)¶
- Parameters:
data (
Any
)
-
LayerId:
Optional
[str
]¶
-
SoilId:
Optional
[str
]¶
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'LayerId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'SoilId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistableSoilVisualization(**data)¶
- Parameters:
data (
Any
)
-
Color:
Optional
[str
]¶
-
PersistableShadingType:
Optional
[PersistableShadingTypeEnum
]¶
-
SoilId:
Optional
[str
]¶
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'Color': FieldInfo(annotation=Union[str, NoneType], required=True), 'PersistableShadingType': FieldInfo(annotation=Union[PersistableShadingTypeEnum, NoneType], required=True), 'SoilId': FieldInfo(annotation=Union[str, NoneType], required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistableStage(**data)¶
- Parameters:
data (
Any
)
-
BoundaryConditionCollectionId:
Optional
[str
]¶
-
Label:
Optional
[str
]¶
-
Notes:
Optional
[str
]¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'BoundaryConditionCollectionId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PersistableStochasticParameter(**data)¶
- Parameters:
data (
Any
)
-
IsProbabilistic:
bool
¶
-
Mean:
float
¶
-
StandardDeviation:
float
¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'IsProbabilistic': FieldInfo(annotation=bool, required=False, default=False), 'Mean': FieldInfo(annotation=float, required=False, default=1.0), 'StandardDeviation': FieldInfo(annotation=float, required=False, default=0.0)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PipeElementResult(**data)¶
- Parameters:
data (
Any
)
-
Height:
Optional
[float
]¶
-
IsActive:
Optional
[bool
]¶
-
Nodes:
Optional
[List
[PersistablePoint
]]¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'Height': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'IsActive': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'Nodes': FieldInfo(annotation=Union[List[PersistablePoint], NoneType], required=False, default=[])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.PipeLengthResult(**data)¶
- Parameters:
data (
Any
)
-
ContentVersion:
Optional
[str
]¶
-
Elements:
Optional
[List
[ElementResult
]]¶
-
Id:
Optional
[str
]¶
-
PipeElements:
Optional
[List
[PipeElementResult
]]¶
-
PipeLength:
Optional
[float
]¶
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Elements': FieldInfo(annotation=Union[List[ElementResult], NoneType], required=False, default=[]), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'PipeElements': FieldInfo(annotation=Union[List[PipeElementResult], NoneType], required=False, default=[]), 'PipeLength': FieldInfo(annotation=Union[float, NoneType], required=False, default=None)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class geolib.models.dgeoflow.internal.ProjectInfo(**data)¶
projectinfo.json.
- Parameters:
data (
Any
)
-
Analyst:
Optional
[str
]¶
-
ApplicationCreated:
Optional
[str
]¶
-
ApplicationModified:
Optional
[str
]¶
-
ContentVersion:
Optional
[str
]¶
-
Created:
Optional
[date
]¶
-
CrossSection:
Optional
[str
]¶
-
Date:
Optional
[date
]¶
-
IsDataValidated:
Optional
[bool
]¶
-
LastModified:
Optional
[date
]¶
-
LastModifier:
Optional
[str
]¶
-
Path:
Optional
[str
]¶
-
Project:
Optional
[str
]¶
-
Remarks:
Optional
[str
]¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'Analyst': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'ApplicationCreated': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'ApplicationModified': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Created': FieldInfo(annotation=Union[date, NoneType], required=False, default=datetime.date(2024, 9, 10)), 'CrossSection': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Date': FieldInfo(annotation=Union[date, NoneType], required=False, default=datetime.date(2024, 9, 10)), 'IsDataValidated': FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), 'LastModified': FieldInfo(annotation=Union[date, NoneType], required=False, default=datetime.date(2024, 9, 10)), 'LastModifier': FieldInfo(annotation=Union[str, NoneType], required=False, default='GEOLib'), 'Path': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Project': FieldInfo(annotation=Union[str, NoneType], required=False, default=''), 'Remarks': FieldInfo(annotation=Union[str, NoneType], required=False, default='Created with GEOLib 2.5.0')}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod nltime(date)¶
- Parameters:
date (
Union
[date
,str
])- Return type:
date
- classmethod nltime_validator(date)¶
- Parameters:
date (
Union
[date
,str
])- Return type:
date
- class geolib.models.dgeoflow.internal.Scenario(**data)¶
scenarios/scenario_x.json
- Parameters:
data (
Any
)
-
Calculations:
List
[PersistableCalculation
]¶
-
ContentVersion:
Optional
[str
]¶
-
GeometryId:
Optional
[str
]¶
-
Id:
Optional
[str
]¶
-
Label:
Optional
[str
]¶
-
Notes:
Optional
[str
]¶
-
SoilLayersId:
Optional
[str
]¶
-
Stages:
List
[PersistableStage
]¶
- add_calculation(label, notes, mesh_properties_id)¶
- Parameters:
label (
str
)notes (
str
)mesh_properties_id (
str
)
- Return type:
- add_stage(label, notes, boundaryconditions_collection_id)¶
- Parameters:
label (
str
)notes (
str
)boundaryconditions_collection_id (
str
)
- Return type:
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'Calculations': FieldInfo(annotation=List[PersistableCalculation], required=False, default=[]), 'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'GeometryId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Label': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Notes': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'SoilLayersId': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'Stages': FieldInfo(annotation=List[PersistableStage], required=False, default=[])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod structure_name()¶
- Return type:
str
- class geolib.models.dgeoflow.internal.SoilCollection(**data)¶
soils.json
- Parameters:
data (
Any
)
-
ContentVersion:
Optional
[str
]¶
-
Soils:
List
[PersistableSoil
]¶
- add_soil(soil)¶
Add a new soil to the model.
- Parameters:
soil (Soil) – a new soil
- Return type:
- Returns:
None
- edit_persistable_soil(persistable_soil, kwargs)¶
- Parameters:
persistable_soil (
PersistableSoil
)kwargs (
dict
)
- edit_soil(code, **kwargs)¶
Update a soil.
- Parameters:
code (str) – code of the soil.
kwargs (dict) – dictionary with argument names and values
- Returns:
the edited soil
- Return type:
- edit_soil_by_name(name=None, **kwargs)¶
Update a soil, searching by name. This method will edit the first occurence of the name if it is used multiple times.
- Parameters:
name (str) – name of the soil.
kwargs (dict) – dictionary with argument names and values
- Returns:
the edited soil
- Return type:
- get_soil(code)¶
Get soil by the given code.
- Parameters:
code (str) – code of the soil
- Returns:
the soil object
- Return type:
- has_soilcode(code)¶
Checks if the soilcode is available in the current soil list.
- Parameters:
code (str) – code of the soil
- Returns:
True if found, False if not
- Return type:
bool
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Soils': FieldInfo(annotation=List[PersistableSoil], required=False, default=[PersistableSoil(Code='H_Aa_ht_new', Id='2', Name='Embankment new', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_Aa_ht_old', Id='3', Name='Embankment old', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_Rk_k_shallow', Id='4', Name='Clay, shallow', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_Rk_k_deep', Id='5', Name='Clay, deep', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_Rk_ko', Id='6', Name='Organic clay', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_vhv_v', Id='7', Name='Peat, shallow', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='H_vbv_v', Id='8', Name='Peat, deep', Notes='', HorizontalPermeability=0.01, VerticalPermeability=0.01), PersistableSoil(Code='Sand', Id='9', Name='Sand', Notes='', HorizontalPermeability=30.0, VerticalPermeability=30.0), PersistableSoil(Code='P_Rk_k&s', Id='10', Name='Clay with silt', Notes='', HorizontalPermeability=0.1, VerticalPermeability=0.1), PersistableSoil(Code='H_Ro_z&k', Id='11', Name='Sand with clay', Notes='', HorizontalPermeability=1.0, VerticalPermeability=1.0), PersistableSoil(Code='Sand, less permeable', Id='12', Name='Sand, less permeable', Notes='', HorizontalPermeability=15.0, VerticalPermeability=15.0), PersistableSoil(Code='Sand, permeable', Id='13', Name='Sand, permeable', Notes='', HorizontalPermeability=45.0, VerticalPermeability=45.0)])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod structure_name()¶
- Return type:
str
- class geolib.models.dgeoflow.internal.SoilLayerCollection(**data)¶
soillayers/soillayers_x.json
- Parameters:
data (
Any
)
-
ContentVersion:
Optional
[str
]¶
-
Id:
Optional
[str
]¶
-
SoilLayers:
List
[PersistableSoilLayer
]¶
- add_soillayer(layer_id, soil_id)¶
- Parameters:
layer_id (
str
)soil_id (
str
)
- Return type:
- get_ids(exclude_soil_layer_id)¶
- Parameters:
exclude_soil_layer_id (
Optional
[int
])- Return type:
Set
[str
]
- id_validator()¶
- Return type:
str
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'Id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'SoilLayers': FieldInfo(annotation=List[PersistableSoilLayer], required=False, default=[])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod structure_name()¶
- Return type:
str
- class geolib.models.dgeoflow.internal.SoilVisualisation(**data)¶
- Parameters:
data (
Any
)
-
ContentVersion:
Optional
[str
]¶
-
SoilVisualizations:
Optional
[List
[Optional
[PersistableSoilVisualization
]]]¶
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'ContentVersion': FieldInfo(annotation=Union[str, NoneType], required=False, default='2'), 'SoilVisualizations': FieldInfo(annotation=Union[List[Union[PersistableSoilVisualization, NoneType]], NoneType], required=False, default=[])}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- classmethod structure_name()¶
- Return type:
str
- geolib.models.dgeoflow.internal.transform_id_to_str(value)¶
- Return type:
str