IFM Classes

ifm.Budget

class ifm.Budget

ifm.BudgetResultEx

class ifm.BudgetResultEx

ifm.FemMesh

class ifm.FemMesh

The FemMesh class provides methods for the type “mesh”. The mesh type can be derived from an existing model or a mesh created from a cross-section.

getCoor(node)

Retrieve the coordinates of node

Parameters:

node (int) – Node ID

Returns:

X, Y, Z coordinates Physical unit is [m]

Return type:

float (x3)

getDualNodes()

get list of Dual node IDs

Returns:

list of Dual node IDs

Return type:

list[int]

getExtent()

get extent of the new mesh

Returns:

xmin,xmax,ymin,ymax,zmin,zmax Physical unit is [m]

Return type:

double (x6)

getLayerOffset(layer)

get the first element ID of a specific layer

Parameters:

layer (int) – layer no. (0-based)

Returns:

element ID of first element in layer

Return type:

int

getNodeFromDual(node)

get Base node ID from Dual node ID

Parameters:

node (int) – Dual node ID (Dual node ID’s are appended to node IDs, therefore they usually occupy the end of the lsit of nodes)

Returns:

Base node ID

Return type:

int

getNodes(element)

get node numbers of an element in new mesh

Parameters:

element (int) – Element ID

Returns:

list of adjacent nodes

Return type:

list

getNumberOfDimensions()

get Number of dimensions of the mesh (2D or 3D)

Returns:

dimensions

Return type:

int

getNumberOfDualNodes()

get number of Dual nodes in present model

Returns:

number of Dual nodes

Return type:

int

getNumberOfElementNodes(element)

get number of adjacent nodes per element

Parameters:

element (int) – Element ID

Returns:

number of nodes

Return type:

int

getNumberOfElementNodes2D(element)

get number of adjacent nodes per element in 2D

Parameters:

element (int) – Element ID

Returns:

number of nodes

Return type:

int

getNumberOfElements()

get number of elements in the whole mesh

Returns:

number of elements

Return type:

int

getNumberOfElementsPerLayer()

retrieve number of elements per layer in layered models

Returns:

number of elements

Return type:

int

getNumberOfLayers()

retrieve number of layers in layered models

Returns:

number of layers

Return type:

int

getNumberOfNodes()

retrieve number of nodes in the whole mesh

Returns:

number of nodes

Return type:

int

getNumberOfNodesPerElement(element)

get the number of adjacent nodes of a specific element

Parameters:

element (int) – Element ID

Returns:

number of adjacent nodes

Return type:

int

getNumberOfNodesPerElement2D(element)

get the number of adjacent nodes of a specific element

Parameters:

element (int) – Element ID

Returns:

number of adjacent nodes in 2D

Return type:

int

getNumberOfNodesPerSlice()

number of nodes per slice

Returns:

number of nodes per slice

Return type:

int

getNumberOfSlices()

number of slices

Returns:

number of slices

Return type:

int

getOrigin()

get origin of local coordinate system in global coordinates

Returns:

x, y, z coordinates of the local origin

Return type:

float (x3)

getSliceOffset(slice)

get the first node ID of a specific slice

Parameters:

slice (int) – slice no. (0-based)

Returns:

node ID of first element in slice

Return type:

int

hasHexahedra()

returns True if the mesh contains hexahedra

Return type:

bool

hasMixedElementTypes(xxx)
Parameters:

parameters) ((list of) – (explanation of parameter)

Returns:

(explanation of returns)

Return type:

(list of returns)

hasTetrahedra()

returns True if the mesh contains tetrahedra

Return type:

bool

isContinuous(xxx)
Parameters:

parameters) ((list of) – (explanation of parameter)

Returns:

(explanation of returns)

Return type:

(list of returns)

isParabolic(xxx)
Parameters:

parameters) ((list of) – (explanation of parameter)

Returns:

(explanation of returns)

Return type:

(list of returns)

isPrismatic()

returns True if the mesh consists only of prisms (only layered meshes)

Return type:

bool

ifm.LookupTable

class ifm.LookupTable

The LookupTable class provides access to the LookupTable of a FEFLOW model (fem or dac file). It can be obtained by calling the ifm.FeflowDoc.getLookupTable method.

Examples

>>> lookup = doc.getLookupTable()
addMaterial(material_name)

Adds a material (=row) to the Lookup Table.

Parameters:

material_name (str) – the name of the material

Returns:

The material_id of the material created.

Return type:

int

Examples

>>> lookup.addMaterial("Sand")
>>> lookup.addMaterial("Clay")
>>> lookup.addMaterial("Bedrock")
findMaterial(material_name)

Returns the material_id of the material with the given name.

Parameters:

material_name (str) – the name of the material

Returns:

the material ID, or -1 if material was not found.

Return type:

int

Examples

>>> mat_id = lookup.findMaterial("Sand")
>>> print(mat_id)
>>> 1
getMaterialName(material_id)

Returns the name of the material given by the material_id.

Parameters:

material_id (int) – The material id

Returns:

The name of the material

Return type:

str

getMaterials()

Returns a dictionary with all material names and material ids.

Returns:

dictionary { str : int } with name : id pairs

Return type:

dict

Examples

>>> print(lookup.getMaterials())
>>> {'Sand': 1, 'Clay': 2, 'Bedrock': 3}
getProperties(material_id)

Returns a dictionary with all properties defined for the material with the given ID. The key of each entry is the parameter ID (ifm.Enum.P_*) and the value of the parameter.

Parameters:

material_id (int) – The material id

Returns:

dictionary { int : float } with parameter_id : parameter_value pairs, where the parameter_id corresponds to the constants of ifm.Enum.P_*.

Return type:

dict

Examples

>>> print(lookup.getProperties(lookup.findMaterial("Clay")))
>>> {100: 1e-06}
getPropertyValue(material_id, parameter)

Returns the value of a parameter given by the material_id and the parameter ID (ifm.Enum.P_*).

Parameters:
  • material_id (int) – The material id

  • parameter (int) – The parameter identifier (as defined in ifm.Enum.P_*)

Returns:

the parameter value.

Return type:

float

Examples

>>> value = lookup.getPropertyValue(lookup.findMaterial("Clay"), ifm.Enum.P_COND)
>>> print(value)
>>> 1e-06
hasProperty(material_id, parameter)

Checks if the value of a parameter given by the material_id and the parameter ID (ifm.Enum.P_*) exists in the table.

Parameters:
  • material_id (int) – The material id

  • parameter (int) – The parameter identifier (as defined in ifm.Enum.P_*)

Returns:

True if value exists, False otherwise.

Return type:

bool

moveMaterial(material_id, new_position)

Moves a material to a new position in the lookup table.

Parameters:
  • material_id (int) – The material id

  • new_position (int) – The new position of the material in the table. Indexing starts with zero.

removeMaterial(material_id)

Removes a material (=row of the lookup table).

Parameters:

material_id (int) – The material id

Examples

>>> lookup.removeMaterial(1)
>>> lookup.removeMaterial(lookup.findMaterial("Sand"))
removeProperty(material_id, parameter)

Removes a property of a material from the table.

Parameters:
  • material_id (int) – The material id

  • parameter (int) – The parameter identifier (as defined in ifm.Enum.P_*)

Examples

>>> lookup.removeProperty(lookup.findMaterial("Clay"),  ifm.Enum.P_COND)
setMaterialId(material_id, new_material_id)

Sets a new material_id for a specified material.

Parameters:
  • material_id (int) – The material id

  • new_material_id (int) – The material id

Examples

>>> lookup.setMaterialId(lookup.findMaterial("Sand"), 10)
setPropertyValue(material_id, parameter, values)

Sets or overwrites a new property value for a given material and parameter.

Parameters:
  • material_id (int) – The material id

  • parameter (int) – The parameter identifier (as defined in ifm.Enum.P_*)

  • value (float) – The value to be set.

Examples

>>> lookup.setPropertyValue(lookup.findMaterial("Clay"), ifm.Enum.P_COND, 1e-6)

ifm.MLWInfo

class ifm.MLWInfo
getBottomElevation()

Get Bottom elevation of multi-layer well [].

Returns:

bottom elevation in [m]

Return type:

float

getBottomNode()

Biggest node index with z[n] > topElevation

Returns:

index of bottom node

Return type:

int

getId()

get index of multi-layer well

Returns:

index of multi-layer well

Return type:

int

getName()

Name attribute of multi-layer well

Returns:

name of multi-layer well

Return type:

str

getRadius()

Radius of multi-layer well [m]

Returns:

radius of multi-layer well

Return type:

float

getTopElevation()

Top elevation of multi-layer well [m]

Returns:

top elevation of multi-layer well

Return type:

float

getTopNode()

Smallest node index with z[n] < topElevation

Returns:

top node of multi-layer well

Return type:

int

ifm.NodalBudget

class ifm.NodalBudget
getBorderIn()

Border budget component (1st + 2nd + 3rd kind BCs)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getBorderOut()

Border budget component (1st + 2nd + 3rd kind BCs)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getBulkIn()

Distributed source/sink budget component

Returns:

flow rate, mass flux or heat flux

Return type:

float

getBulkOut()

Distributed source/sink budget component

Returns:

flow rate, mass flux or heat flux

Return type:

float

getCauchyIn()

BC Cauchy budget component (3rd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getCauchyOut()

BC Cauchy budget component (3rd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getConvIn()

Convective part

Returns:

flow rate, mass flux or heat flux

Return type:

float

getConvOut()

Convective part

Returns:

flow rate, mass flux or heat flux

Return type:

float

getDirichletIn()

BC Dirichlet budget component (1st kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getDirichletOut()

BC Dirichlet budget component (1st kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNetIn()

Net imbalance: border + wells + bulk + stor

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNetOut()

Net imbalance: border + wells + bulk + stor

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNeumannIn()

BC Neumann budget component (2nd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNeumannOut()

BC Neumann budget component (2nd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNodalValues()

Nodal budget values

Returns:

flow rate, mass flux or heat flux

Return type:

float

getStorIn()

Storage change (Storativity/Compressibility/Capacity budget component)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getStorOut()

Storage change (Storativity/Compressibility/Capacity budget component)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getWellIn()

Well budget component (4th kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getWellOut()

Well budget component (4th kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

ifm.Parameter

class ifm.Parameter

Class representing a FEFLOW Parameter.

The class does not provide functionality but can be used as a parameter type for a number of IFM API functions.

Examples

>>> par = doc.getParameter(ifm.Enum.P_CONC, "Potassium") # get the concentration of the species Potassium.
>>> values = doc.getParamValues(par)  # use the object as argument

ifm.ParticleTracer

class ifm.ParticleTracer

Class providing access to FEFLOW’s particle Tracing functionality.

generatePathLine(x, y[, z])

Generate pathline from seed point using current settings.

Parameters:
  • x (float) – x-coordinate of the seed point.

  • y (float) – y-coordinate of the seed point.

  • z (float) – z-coordinate of the seed point. 3D problems only.

Returns:

The trajectory of the particle as a list of (x, y, [z], Tau) tuples. z is returned for 3D problems only. Travel time Tau is relative to current time step for streamlines / random walks (tracking mode = ifm.Enum.PT_MODE_STEADY) and relative to start time set by ParticleTracer.setInitialTime() for pathlines / random walk peridos (tracking mode = ifm.Enum.PT_MODE_UNSTEADY) Returns None if track is empty.

Return type:

list or None

getAAxis_pitchParameter()

Get Axisymmetry axis pitch angle as a parameter (for random-walk tracking)

Returns:

Axisymmetry axis pitch angle

Return type:

ifm.Parameter

getAAxis_pitchValue()

Get Axisymmetry axis pitch angle (homogeneous, for random-walk tracking)

Returns:

Axisymmetry axis pitch angle

Return type:

float

getAAxis_yawParameter()

Get Axisymmetry axis yaw angle as a parameter (for random-walk tracking)

Returns:

Axisymmetry axis yaw angle

Return type:

ifm.Parameter

getAAxis_yawValue()

Get Axisymmetry axis yaw angle (homogeneous, for random-walk tracking)

Returns:

Axisymmetry axis yaw angle

Return type:

float

getAquiferThickness()

Get Aquifer thickness (homogeneous)

Returns:

Aquifer thickness

Return type:

float

getCompressionEnabled()

Get Compression of pathline points enabled

Returns:

Compression Setting

Return type:

bool

getDiffCoeffParameter()

Get Molecular-diffusion coefficient as a parameter (for random-walk tracking)

Returns:

Molecular-diffusion coefficient

Return type:

ifm.Parameter

getDiffCoeffValue()

Get Molecular-diffusion coefficient (homogeneous, for random-walk tracking)

Returns:

Molecular-diffusion coefficient

Return type:

float

getFinalTime()

Get Pathline final time [d].

Returns:

final time

Return type:

float

getInitialTime()

Get Pathline start time [d].

Returns:

start time

Return type:

float

getLongDispParameter()

Get Longitudinal dispersivity as a parameter (for random-walk tracking)

Returns:

Longitudinal dispersivity

Return type:

ifm.Parameter

getLongDispValue()

Get Longitudinal dispersivity (homogeneous, for random-walk tracking)

Returns:

Longitudinal dispersivity

Return type:

float

getLongDisp_mParameter()

Get Longitudinal dispersivity (minimum) as a parameter (for random-walk tracking)

Returns:

Longitudinal dispersivity (minimum)

Return type:

ifm.Parameter

getLongDisp_mValue()

Get Longitudinal dispersivity (minimum, homogeneous, for random-walk tracking)

Returns:

Longitudinal dispersivity (minimum)

Return type:

float

getPorosityParameter()

Get Porosity as a parameter (porosity, storativity, refdist)

Returns:

Porosity

Return type:

ifm.Parameter

getPorosityValue()

Get Porosity (homogeneous)

Returns:

Porosity

Return type:

float

getRandomWalkMethod()

Get random walk method.

Returns:

random walk method

Return type:

{ifm.Enum.PT_RW_BACKWARDITO, ifm.Enum.PT_RW_FORWARDITO, ifm.Enum.PT_RW_RK3ITO, ifm.Enum.PT_RW_STRATONOVICH}

getRkAccuracy()

Get Runge-Kutta integration accuracy

Returns:

Runge-Kutta integration accuracy

Return type:

float

getRkMaxElementSwitches()

Get Runge-Kutta max. number of element switches

Returns:

Runge-Kutta max. number of element switches

Return type:

int

getRkMaxStepsPerElement()

Get Runge-Kutta max. steps per element

Returns:

Runge-Kutta max. steps per element

Return type:

int

getRkMinStepSizeFactor()

Get Runge-Kutta min. step size factor

Returns:

Runge-Kutta min. step size factor

Return type:

float

getRkMinStepTime()

Get Runge-Kutta min. step time

Returns:

Runge-Kutta min. step time

Return type:

float

getScaleDepDispDref()

Get ScaleDepDispDref

getScaleDepDispTref()

Get ScaleDepDispTref

getSorptionParameter()

Get Henry-sorption parameter

getTrackingDirection()

Get pathline tracking direction

Returns:

pathline tracking direction

Return type:

{Enum.PT_DIR_FORWARD, Enum.PT_DIR_BACKWARD}

getTrackingMode()

Get pathline tracking mode

Returns:

pathline tracking mode

Return type:

{Enum.PT_MODE_STEADY, Enum.PT_MODE_UNSTEADY}

getTrackingType()

Get pathline tracking type

Returns:

pathline tracking type

Return type:

{Enum.PT_TYPE_ADVECTIVE, Enum.PT_TYPE_RW}

getTransvDispParameter()

Get Transverse dispersivity as a parameter (for random-walk tracking)

Returns:

Transverse dispersivity

Return type:

ifm.Parameter

getTransvDispValue()

Get Transverse dispersivity (homogeneous, for random-walk tracking)

Returns:

Transverse dispersivity

Return type:

float

getTransvDisp_mParameter()

Get Transverse dispersivity (minimum) as a parameter (for random-walk tracking)

Returns:

Transverse dispersivity (minimum)

Return type:

ifm.Parameter

getTransvDisp_mValue()

Get Transverse dispersivity (minimum, homogeneous, for random-walk tracking)

Returns:

Transverse dispersivity (minimum)

Return type:

float

setAAxis_pitchParameter(pitch)

Set Axisymmetry axis pitch angle as a parameter (for random-walk tracking)

Parameters:

pitch (ifm.Parameter) – Axisymmetry axis pitch angle

setAAxis_pitchValue()

Set Axisymmetry axis pitch angle (homogeneous, for random-walk tracking)

Parameters:

pitch (float) – Axisymmetry axis pitch angle

setAAxis_yawParameter(angle)

Set Axisymmetry axis yaw angle as a parameter (for random-walk tracking)

Parameters:

angle (ifm.Parameter) – Axisymmetry axis yaw angle

setAAxis_yawValue(angle)

Set Axisymmetry axis yaw angle (homogeneous, for random-walk tracking)

Parameters:

angle (float) – Axisymmetry axis yaw angle

setAquiferThickness(thickness)

Set Aquifer thickness (homogeneous)

Parameters:

thickness (float) – Aquifer thickness

setCompressionEnabled(enable)

Set Compression of pathline points enabled

Parameters:

enable (bool) – Compression

setDefaults()

Reset to default settings

setDiffCoeffParameter(coefficient)

Set Molecular-diffusion coefficient as a parameter (for random-walk tracking)

Parameters:

coefficient (ifm.Parameter) – Molecular-diffusion coefficient

setDiffCoeffValue()

setDiffCoeffValuecoefficient(coefficient)

Set Molecular-diffusion coefficient (homogeneous, for random-walk tracking)

Parameters:

coefficient (float) – Molecular-diffusion coefficient

setFinalTime(time)

Set the Pathline final time (absolute simulation time in days).

Required for unsteady calculations only (pathlines / random walk periods).

For forward tracking, choose value greater than initial time. For backward tracking, choose value smaller than initial time.

Parameters:

time (float) – final Pathline time

setInitialTime(time)

Set the Pathline start time (absolute simulation time in days).

For forward tracking, choose value smaller than final time. For backward tracking, choose value greater than initial time.

Parameters:

time (float) – initial Pathline time

setLongDispParameter(dispersivity)

Set Longitudinal dispersivity as a parameter (for random-walk tracking)

Parameters:

dispersivity (ifm.Parameter) – Longitudinal dispersivity

setLongDispValue(dispersivity)

Set Longitudinal dispersivity (homogeneous, for random-walk tracking)

Parameters:

dispersivity (float) – Longitudinal dispersivity

setLongDisp_mParameter(dispersivity)

Set Longitudinal dispersivity (minimum) as a parameter (for random-walk tracking)

Parameters:

dispersivity (ifm.Parameter) – Longitudinal dispersivity (minimum)

setLongDisp_mValue(dispersivity)

Set Longitudinal dispersivity (minimum, homogeneous, for random-walk tracking)

Parameters:

dispersivity (float) – Longitudinal dispersivity (minimum)

setPorosityParameter(porosity)

Set Porosity as a parameter (porosity,storativity,refdist)

Parameters:

porosity (ifm.Parameter) – Porosity

setPorosityValue(porosity)

Set Porosity (homogeneous)

Parameters:

porosity (float) – Porosity

setRandomWalkMethod(rwmethod)

Set random walk method.

Parameters:

rwmethod ({ifm.Enum.PT_RW_BACKWARDITO, ifm.Enum.PT_RW_STRATONOVICH, ifm.Enum.PT_RW_RK3ITO, PT_RW_FORWARDITO}) – Random walk computation method.

setRkAccuracy(accuracy)

Set Runge-Kutta integration accuracy

Parameters:

accuracy (float) – Runge-Kutta integration accuracy

setRkMaxElementSwitches(n_switches)

Set Runge-Kutta max. number of element switches

Parameters:

n_switches (int) – Runge-Kutta max. number of element switches

setRkMaxStepsPerElement(n_steps)

Set Runge-Kutta max. steps per element

Parameters:

n_steps (int) – Runge-Kutta max. steps per element

setRkMinStepSizeFactor(factor)

Set Runge-Kutta min. step size factor

Parameters:

factor (float) – Runge-Kutta min. step size factor

setRkMinStepTime(time)

Set Runge-Kutta min. step time

Parameters:

time (float) – Runge-Kutta min. step time

setScaleDepDispDref()

Set ScaleDepDispDref

setScaleDepDispTref()

Set ScaleDepDispTref

setSorptionParameter()

Set Henry-sorption parameter

setTrackingDirection(tracking_direction)

Set pathline tracking direction

Parameters:

tracking_direction ({Enum.PT_DIR_FORWARD, Enum.PT_DIR_BACKWARD}) – The tracking direction to be set.

setTrackingMode(tracking_mode)

Set pathline tracking mode (steady = streamlines, unsteady = pathlines)

Parameters:

tracking_mode ({Enum.PT_MODE_STEADY, Enum.PT_MODE_UNSTEADY}) – Tracking mode to be set. Enum.PT_MODE_STEADY enables calculation on a steady flow field at currently loaded time step, resulting in streamlines/random walks. Enum.PT_MODE_UNSTEADY enables calculation on the transient flow field, resulting in pathlines/random walks perids.

setTrackingType(tracking_type)

Set pathline tracking type (advective = classic streamline/pathline computation; rw = Random Walk method)

Parameters:

tracking_type ({Enum.PT_TYPE_ADVECTIVE, Enum.PT_TYPE_RW}) – Tracking type to be set. Enum.PT_TYPE_ADVECTIVE sets classic streamline/pathline computation on purely advective flow field, Enum.PT_TYPE_RW set the Random Walk method considering dispersive and diffusive effects.

setTransvDispParameter(disp)

Set Transverse dispersivity as a parameter (for random-walk tracking)

Parameters:

disp (ifm.Parameter) – Transverse dispersivity

setTransvDispValue(disp)

Set Transverse dispersivity (homogeneous, for random-walk tracking)

Parameters:

disp (float) – Transverse dispersivity

setTransvDisp_mParameter(disp)

Set Transverse dispersivity (minimum) as a parameter (for random-walk tracking)

Parameters:

disp (ifm.Parameter) – Transverse dispersivity (minimum)

setTransvDisp_mValue(disp)

Set Transverse dispersivity (minimum, homogeneous, for random-walk tracking)

Parameters:

disp (float) – Transverse dispersivity (minimum)

ifm.ProblemDefinition

class ifm.ProblemDefinition

Class providing access to FEFLOW Problem Definition.

configureFreeSurface()

void pdf.configureFreeSurface(int phreatic[, int stat[nslices]])

Method of Problem Definition objects.

Parameters:
  • phreatic (int) – {ifm.Enum.PHR_CONFINED, ifm.Enum.PHR_UNCONFINED}

  • stat[] (int) – {ifm.Enum.SLC_PLANE, ifm.Enum.SLC_FIXED, ifm.Enum.SLC_UNSPECIFIED, ifm.Enum.SLC_MOVABLE, ifm.Enum.SLC_PHREATIC}

Examples

>>> pdf = doc.getProblemDefinition()
>>> pdf.setProblemClass(Enum.TYPE_SATURATED, Enum.PCLS_MASS_TRANSPORT, Enum.TCLS_ST_UNST)
>>> pdf.configureFreeSurface(Enum.PHR_UNCONFINED, [Enum.SLC_PHREATIC, Enum.SLC_UNSPECIFIED, Enum.SLC_UNSPECIFIED, Enum.SLC_FIXED])
getChemicalSpeciesCount()

int getChemicalSpeciesCount()

Method of Problem Definition objects that returns the number of species of the Mass transport problem class

Returns:

int Ns

Return type:

Number of species

getHysteresisFlag()

Method of Problem Definition objects.

getIterativeScheme()

Method of Problem Definition objects.

getProblemClass()

Method of Problem Definition objects.

Return type:

int problemClass

getProblemType()

Method of Problem Definition objects that returns if the model is using “Standard (saturated)” (0) or “Richards’ equation” (1).

Returns:

{ifm.Enum.TYPE_SATURATED, ifm.Enum.TYPE_UNSATURATED}

Return type:

int type

getProjection()

int pdf.getProjection()

Method of Problem Definition objects.

Return type:

int projection

getRichardsEqForm()

int pdf.getRichardsEqForm()

Method of Problem Definition objects.

getTimeClass()

Method of Problem Definition objects.

getTotalSpeciesCount()

int pdf.getTotalSpeciesCount()

Method of Problem Definition objects that returns the total number of species of the problem class (Age + Mass transport).

Returns:

int Ns

Return type:

Total number of species

getUpwinding()

Method of Problem Definition objects.

setProblemClass(int pcls[, int tcls[, int type]])

Method of Problem Definition objects to change problem class, time class and type of the model (steady, unsteady; saturated, unsaturated…)

Parameters:
  • pcls (int) – {ifm.Enum.PCLS_FLOW, ifm.Enum.PCLS_HEAT_TRANSPORT, ifm.Enum.PCLS_MASS_TRANSPORT, ifm.Enum.PCLS_THERMOHALINE}

  • tcls (int) – {ifm.Enum.TCLS_STEADY, ifm.Enum.TCLS_ST_UNST, ifm.Enum.TCLS_UNSTEADY}. ifm.Enum.TCLS_STEADY sets flow and transport both as steady state, ifm.Enum.TCLS_UNSTEADY both as transient, while ifm.Enum.TCLS_ST_UNST sets flow steady state and transport transient.

  • type (int) – {ifm.Enum.TYPE_SATURATED, ifm.Enum.TYPE_UNSATURATED}

Examples

>>> pdf = doc.getProblemDefinition()
>>> pdf.setProblemClass(Enum.PCLS_THERMOHALINE, Enum.TCLS_STEADY, Enum.TYPE_SATURATED )
setProjection2D(int proj)

Set Projection for current Problem Definition instance.

Parameters:

proj (int) – {ifm.Enum.PROJ_AXISYM_2D, ifm.Enum.PROJ_CONFINED_2D, ifm.Enum.PROJ_PHREATIC_2D, ifm.Enum.PROJ_VERTICAL_2D}

ifm.SubdomainBudget

class ifm.SubdomainBudget
getBorderIn()

Border budget component (1st + 2nd + 3rd kind BCs)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getBorderOut()

Border budget component (1st + 2nd + 3rd kind BCs)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getBulkIn()

Distributed source/sink budget component

Returns:

flow rate, mass flux or heat flux

Return type:

float

getBulkOut()

Distributed source/sink budget component

Returns:

flow rate, mass flux or heat flux

Return type:

float

getCauchyIn()

BC Cauchy budget component (3rd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getCauchyOut()

BC Cauchy budget component (3rd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getConvIn()

Convective part

Returns:

flow rate, mass flux or heat flux

Return type:

float

getConvOut()

Convective part

Returns:

flow rate, mass flux or heat flux

Return type:

float

getDirichletIn()

BC Dirichlet budget component (1st kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getDirichletOut()

BC Dirichlet budget component (1st kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getInternalDFIn()

Discrete-feature contribution to transfer through internal subdomain boundary (including BCs on internal subdomain boundary)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getInternalDFOut()

Discrete-feature contribution to transfer through internal subdomain boundary (including BCs on internal subdomain boundary)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getInternalPMIn()

Porous-media contribution to transfer through internal subdomain boundary (including BCs on internal subdomain boundary)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getInternalPMOut()

Porous-media contribution to transfer through internal subdomain boundary (including BCs on internal subdomain boundary)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNetIn()

Net imbalance: border + wells + bulk + stor

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNetOut()

Net imbalance: border + wells + bulk + stor

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNeumannIn()

BC Neumann budget component (2nd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNeumannOut()

BC Neumann budget component (2nd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getStorIn()

Storage change (Storativity/Compressibility/Capacity budget component)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getStorOut()

Storage change (Storativity/Compressibility/Capacity budget component)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getWellIn()

Well budget component (4th kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getWellOut()

Well budget component (4th kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

ifm.SubdomainTransferBudget

class ifm.SubdomainTransferBudget

Class containing the result of a sub-domain transfer budget calculation. Create this object by calling ifm.FeflowDoc.budgetComputeSubdomainTransfer.

getBorderIn()

Border budget component (1st + 2nd + 3rd kind BCs)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getBorderOut()

Border budget component (1st + 2nd + 3rd kind BCs)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getCauchyIn()

BC Cauchy budget component (3rd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getCauchyOut()

BC Cauchy budget component (3rd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getConvIn()

Convective part

Returns:

flow rate, mass flux or heat flux

Return type:

float

getConvOut()

Convective part

Returns:

flow rate, mass flux or heat flux

Return type:

float

getDirichletIn()

BC Dirichlet budget component (1st kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getDirichletOut()

BC Dirichlet budget component (1st kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getInternalDFIn()

Discrete-feature contribution to transfer through internal subdomain boundary (including BCs on internal subdomain boundary)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getInternalDFOut()

Discrete-feature contribution to transfer through internal subdomain boundary (including BCs on internal subdomain boundary)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getInternalPMIn()

Porous-media contribution to transfer through internal subdomain boundary (including BCs on internal subdomain boundary)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getInternalPMOut()

Porous-media contribution to transfer through internal subdomain boundary (including BCs on internal subdomain boundary)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNeumannIn()

BC Neumann budget component (2nd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNeumannOut()

BC Neumann budget component (2nd kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getNodalValues()

Returns a vector of nodal fluxes of the masking domain if the compute_nodal_budget was set to True when this instance was created by calling ifm.FeflowDoc.budgetComputeSubdomainTransfer (otherwise, an empty list is returned).

The vector has length of the masking domain vector (parameter nodes).

Returns:

flow rate, mass flux or heat flux

Return type:

[float]

Examples

>>> md = [5,6,7,15,16,17]  # node indices of masking domain
>>> doi = [1,2,3,11,12,13]  # element indices of domain of interes
>>> budget = ifm.budgetComputeSubdomainTransfer(0, doi, md, True)
>>> nodal_flux = zip(md, budget.getNodalValues())
>>> print(budget)
getTransferIn()

Net subdomain transfer: border + wells + internal_pm + internal_df

Returns:

flow rate, mass flux or heat flux

Return type:

float

getTransferOut()

Net subdomain transfer: border + wells + internal_pm + internal_df

Returns:

flow rate, mass flux or heat flux

Return type:

float

getWellIn()

Well budget component (4th kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

getWellOut()

Well budget component (4th kind)

Returns:

flow rate, mass flux or heat flux

Return type:

float

ifm.SuperMesh

class ifm.SuperMesh

Class providing access to FEFLOW’s Supermesh.

addElement(int type, double(ndm) points[][, IfmSuperElement parent])

Add element to Supermesh instance.

Parameters:
  • type (int) – {ifm.Enum.SMH_SHAPE_COMPOSED, ifm.Enum.SMH_SHAPE_LINE, ifm.Enum.SMH_SHAPE_POINT, ifm.Enum.SMH_SHAPE_POLYGON}

  • points[] (double(ndm)) – list of x-y tuples (2D)

  • parent (IfmSuperElement) – optional parameter representing the parent Supermesh instance (see example below)

Returns:

model (Supermesh) to which elements are added

Return type:

IfmSuperElement parent

Examples

>>> model=smh.addElement(Enum.SMH_SHAPE_COMPOSED)
>>> model.setPropertyValue(Enum.SMH_PROP_ELEM_NAME, 'Model')
>>> model.addElement(Enum.SMH_SHAPE_POLYGON, [
>>>     ( -1367.663, 5148.085),
>>>     (  1043.806, 2229.747),
>>>     (  2260.424, 2679.999),
>>>     (  4037.446, 4728.510),
>>>     (  3092.925, 5465.932),
>>>     (  1568.908, 6655.788)
>>>     ])
>>> smh.addElement(Enum.SMH_SHAPE_POLYGON, [
>>>     ( 7387.993, 7202.014),
>>>     ( 5987.235, 8924.258),
>>>     ( 1568.908, 6655.788),
>>>     ( 3092.925, 5465.932),
>>>     ( 6055.706, 6663.499),
>>>     ( 7387.993, 7202.014)
>>>     ], model)
>>> e=smh.addElement(Enum.SMH_SHAPE_LINE, [
>>>     ( 3012.709, 1783.521),
>>>     ( 6084.442, 2817.569)
>>>     ])
>>> e.setPropertyValue(Enum.SMH_PROP_ELEM_NAME, 'DFE')
>>> e=smh.addElement(Enum.SMH_SHAPE_POINT, [
>>>     ( 4381.303, 6953.764)
>>>     ])
>>> e.setPropertyValue(Enum.SMH_PROP_ELEM_NAME, 'Obs')
>>> e=smh.addElement(Enum.SMH_SHAPE_POINT, [
>>>     (( 5000.0, 5000.0)
>>>     (])
>>> (e.setPropertyValue(Enum.SMH_PROP_ELEM_NAME, 'Well')
addSlice(int type, object args[, [Slice|int] template])

Add Slice to the Supermesh instance. Note that elevation can be defined as constant, as distance from top/bottom Slice or from Map. Only “.dat”, “.shp” maps can be used at the moment.

Parameters:

type (int) – {ifm.Enum.SMH_ELEV_CONSTANT, ifm.Enum.SMH_ELEV_DISTBOTTOM, ifm.Enum.SMH_ELEV_DISTTOP, ifm.Enum.SMH_ELEV_MAP}

Examples

>>> smh=doc.getSuperMesh()
>>> interpol=smh.getInterpolation(ifm.Enum.SMH_REGIO_KRIGING)
>>> smh.addSlice(ifm.Enum.SMH_ELEV_CONSTANT, 10.)
>>> smh.addSlice(ifm.Enum.SMH_ELEV_DISTTOP, 1.)
>>> smh.addSlice(ifm.Enum.SMH_ELEV_MAP, ('elev.shp', interpol, 'Z'))
generateMesh()

FemMesh smh.generateMesh([MeshGenerator gen])

Method of Supermesh object to generate mesh.

Parameters:

(optional) (MeshGenerator gen) –

Return type:

FemMesh object

Examples

>>> gen = smh.getMeshGenerator(Enum.SMH_GEN_TRIANGLE)
>>>
>>> # Option 1:
>>> smh.generateMesh(gen)
>>>
>>> # Option 2:
>>> root=smh.getRootElement()
>>> root.setPropertyValue(Enum.SMH_PROP_ELEM_MESHGEN, gen)
>>> root.setPropertyValue(Enum.SMH_PROP_ELEM_PROPOSED, 5000)
>>> smh.generateMesh()
getCoor(int node)

Method of supermesh objects to get coordinates of a Supermesh node.

Parameters:

node (int) –

Returns:

(x, y)

Return type:

Coordinates of the node

getElement()

Method of supermesh objects to obtain a Supermesh Element.

Examples

>>> model = smh.getElement(0)  # obtain first composed element
>>> model.getChildElement(0).setPropertyValue(Enum.SMH_PROP_ELEM_MATERIAL, 'coarse sand')
>>> model.getChildElement(1).setPropertyValue('Material', 'fine sand')
getElements()

SuperElement[] elem.getElements([SuperElement parent])

Method of supermesh objects.

Parameters:

(optional) (SuperElement parent) –

Returns:

SuperElement[]

Return type:

Array of SuperElements

getExtent()

Method of supermesh objects to get the extent of the supermesh.

Return type:

((xmin,ymin),(xmax,ymax))

getInterpolation(string method)

Method of supermesh objects which returns an IFM “Interpolation” object.

Parameters:

method (string) – Name of the interpolation method to be returned.

Return type:

IFM Interpolation Object

Examples

>>> interp = smh.getInterpolation(str(ifm.Enum.SMH_REGIO_KRIGING))
>>> print(interp)
>>> Output:
>>> [ IFM Interpolation Object ]
>>> Name: Kriging
>>> Neighbors: 10
>>> Logarithmic: FALSE
>>> Type: Simple
getInterpolations()

Method of supermesh objects that returns a list of available interpolation methods.

Return type:

List of IFM Interpolation Objects

Examples

>>> print(smh.getInterpolations())
>>> Output:
>>> [
>>> [ IFM Interpolation Object ]
>>> Name: Inverse Distance
>>> Neighbors: 4
>>> Exponent: 2
>>> Logarithmic: FALSE
>>> ,
>>> [ IFM Interpolation Object ]
>>> Name: Akima
>>> Interpolation Type: Cubic
>>> Neighbors: 5
>>> Over-/Under Shooting: 50
>>> Logarithmic: FALSE
>>> ,
>>> [ IFM Interpolation Object ]
>>> Name: Kriging
>>> Neighbors: 10
>>> Logarithmic: FALSE
>>> Type: Simple
>>> ]
getMeshGenerator(int id)

Method of supermesh objects that returns a Mesh generator object.

Parameters:

id (int) – {ifm.Enum.SMH_GEN_TRIANGLE, ifm.Enum.SMH_GEN_ADVANCING_FRONT, ifm.Enum.SMH_GEN_GRIDBUILDER}

Return type:

Mesh generator object

Examples

>>> gen=smh.getMeshGenerator(Enum.SMH_GEN_TRIANGLE)
>>> gen.setPropertyValue("Refine Lines", True)
>>> gen.setPropertyValue("Line Gradation", 7)
>>> gen.setPropertyValue("Line Target Size", 40.0)
>>> gen.setPropertyValue("Refine Points", True)
>>> gen.setPropertyValue("Point Gradation", 9)
>>> gen.setPropertyValue("Point Target Size", 25.0)
>>> gen.setPropertyValue("Minimum Angle", '30 [DEG]')
getMeshGenerators()

MeshGenerator[] smh.getMeshGenerators()

Method of supermesh objects.

Returns:

MeshGenerator[]

Return type:

Array of MeshGenerator objects

getNumberOfElements()

int smh.getNumberOfElements()

Method of supermesh objects.

Returns:

int Ne

Return type:

Number of Supermesh Elements (Polygons + Lines + Points)

getNumberOfLayers()

int smh.getNumberOfLayers()

Method of supermesh objects.

Returns:

int Nl

Return type:

Number of Layers of the supermesh

getNumberOfNodes()

int smh.getNumberOfNodes()

Method of supermesh objects.

Returns:

int Nn

Return type:

Number of Nodes of the supermesh

getNumberOfSlices()

Method of supermesh objects.

Returns:

int Ns

Return type:

Number of Slices of the supermesh

getOrigin()

Method of supermesh objects.

Returns:

(xorg,yorg)

Return type:

Origin coordinates

getRootElement()

Method of supermesh objects that returns the Supermesh Root Element, including all the other elements

Examples

>>> root = smh.getRootElement()
>>> root.setPropertyValue(Enum.SMH_PROP_ELEM_PROPOSED, 5000)
>>> root.setPropertyValue(Enum.SMH_PROP_ELEM_MATERIAL, 'coarse sand')
getSlice()

Slice smh.getSlice(int idx)

Method of supermesh objects.

Parameters:

idx (int) –

Return type:

Slice object

getSlices()

Slice[] smh.getSlices()

Method of supermesh objects.

Returns:

Slice[]

Return type:

Array of Slice objects

insertSlice(int where, int type, object args[, Slice template]))

Method of supermesh instance.

Parameters:

where (int) – Position where to insert the Slice. By default: positions go from 0 (top Slice) to nSlices-1 (bottom Slice)

Examples

>>> smh.addSlice(ifm.Enum.SMH_ELEV_CONSTANT, 20.0)
>>> smh.addSlice(ifm.Enum.SMH_ELEV_CONSTANT, 10.0)
>>> smh.insertSlice(1, ifm.Enum.SMH_ELEV_DISTBOTTOM, 3, 0)
>>> print(smh.getSlices())
>>> Output:
>>> [ IFM SmhSlice Object ]
>>> slice:   0
>>> type:    constant elevation: Z=20 [m]
>>> movable: 1
>>> ,
>>> [ IFM SmhSlice Object ]
>>> slice:   1
>>> type:    constant distance to bottom slice: DIST=3 [m]
>>> movable: 1
>>> ,
>>> [ IFM SmhSlice Object ]
>>> slice:   2
>>> type:    constant elevation: Z=10 [m]
>>> movable: 1
>>> ]
removeSlice(int slice)

Method of supermesh objects.

Parameters:

slice (int) –

setOrigin(xorg, yorg)

Method of supermesh objects.

Parameters:
  • xorg (double) –

  • yorg (double) –

ifm.WellManager

class ifm.WellManager

Class providing access to FEFLOW’s Well Manager.

applyOperations(True)

Apply changes to the current Well Manager instance. If this function is not called, changes are discarded.

Parameters:

True (bool) –

Examples

>>> if not (wm.applyOperations(True)):
>>>    msg = well.getError()
>>>    print(msg)
clearWells()

Delete all the wells of the current Well Manager istance.

createWell(well_type)

Create a well of a given well-type.

Parameters:

well_type ({ifm.Enum.WM_WELL_BC, ifm.Enum.WM_WELL_BHE, ifm.Enum.WM_WELL_MLW}) – Once the object is created, its properties (e.g., X, Y, Well Type, …) can be changed with the function “well.putPropertyValue(…)”.

Returns:

Well object of a given well-type

Return type:

well

Examples

>>> wm = doc.createWellManager()
>>> wm.putSnapDistance(150)
>>> well = wm.createWell(ifm.Enum.WM_WELL_BHE)
>>> well.putPropertyValue("X", 34857.)
>>> well.putPropertyValue("Y", 58422.)
>>> if not (wm.applyOperations(True)):
>>>    msg = well.getError()
>>>    print(msg)
createWells(well_type, position)

Create wells at a given position.

Parameters:
  • well_type ({ifm.Enum.WM_WELL_BC, ifm.Enum.WM_WELL_BHE, ifm.Enum.WM_WELL_MLW}) – Once the object is created, its properties (e.g., X, Y, Well Type, …) can be changed with the function “putPropertyValue(…)”. For WM_WELL_BHE and WM_WELL_MLW: if the edges are disconnected, separate wells will be created

  • position ({list(int), list(3-float-tuple)}) – list(int) represents the list of nodes (for WM_WELL_BC) or edges (for WM_WELL_BHE and WM_WELL_MLW) indexes (0-based). list(3-float-tuple) represents a polyline described as 3-float-tuples (global x/y/zcoordinates) where wells are created.

Returns:

List of wells (Ifm Objects)

Return type:

wells (list)

Examples

>>> # Option 1: Create MLW from Edges selection
>>> edges = doc.getSelectionItems(ifm.Enum.SEL_EDGES, "MLWs")
>>> wm = doc.createWellManager()
>>> well = wm.createWells(Enum.WM_WELL_MLW, edges)
>>> well[0].putPropertyValue("Well Type", ifm.Enum.WMT_FLOW | ifm.Enum.WMT_HEAT_SOURCE_SINK | ifm.Enum.WMT_MASS_SOURCE_SINK)
>>> well[0].putPropertyValue("Name", "MLW from Edges")
>>> well[0].putPropertyValue("Rate (Flow)", 532.0)
>>> well[0].putPropertyValue("Mass BC Value", 50.0)
>>> well[0].putPropertyValue("Heat BC Value", 87.0)
>>> if not (wm.applyOperations(True)):
>>>    msg = well.getError()
>>>    print(msg)
>>>
>>>
>>> # Option 2: Create MLW from Polyline
>>> wm = doc.createWellManager()
>>> newMLW = wm.createWells(ifm.Enum.WM_WELL_MLW, [
>>> (float(117) + doc.getOriginX(), float(93) + doc.getOriginY(), float(0) + doc.getOriginZ()),
>>> (float(6) + doc.getOriginX(), float(-1) + doc.getOriginY(), float(0) + doc.getOriginZ())
>>>  ])
>>> wm.applyOperations(True)
deleteWell()

Method of well objects. Deletes the current well from the well manager.

exportXml()

Export Well Manager as Xml string.

Returns:

Str – Well Manager in Xml format as string

Return type:

String

Examples

>>> str = wm.exportXml()
>>> file = "Well_Manager.xml"
>>> f = open(file, "w")
>>> f.write(str)
>>> f.close()
getOverwriteConflicts()

Method of Well Manager. Returns True if the Well Manager is allowed to overwrite boundary conditions in conflict with Well position, False otherwise.

Returns:

True if BC can be overwritten, False otherwise.

Return type:

bool

getProperties()

Method of well objects. Returns a list of all properties (and their values) defined for the current well. This list is a sub-set of all available properties of the Well Manager object.

Returns:

Property list – Dictionary of all available properties: Key = id, Value = Property value. To obtain the names of the properties, use the wm.getPropertyList() function.

Return type:

dict(id, value)

getPropertyList()

Returns a list of all available well-properties in the Well Manager. The list is problem-class dependent.

Returns:

Property list – Dictionary of all available properties: Key = id, Value = Property name.

Return type:

dict(id, name)

Examples

>>> wm = doc.createWellManager()
>>> propertyList = wm.getPropertyList()
>>> print(propertyList)
>>> {0: 'Id', 2: 'Name', 3: 'X', 4: 'Y', 5: 'Z [Top]', 6: 'Z [Bottom]', 7: 'Well Type', 8: 'Rate (Flow)', 9: 'Radius'...}
getPropertyValue(property)

Method of well objects. Returns the value of a property of the well.

Parameters:

property ({int, str}) – Name or id of the property for which the value will be returned.

Returns:

Value of the property of the well. The type of the returned value depends on the property: {int, float, string, ifm.IfmEnumProperty, ifm.IfmUnitValue}.

Return type:

Value

Examples

>>> wm = doc.createWellManager()
>>> wells = wm.getWells()
>>> rate = wells[0].getPropertyValue('Rate (Flow)')
>>> print("Rate (Flow): ", str(rate))
getSnapDistance()

Get Snap distance value for the Well Manager, i.e., Nearest Node Distance in Global Settings for Well Manager

Returns:

dist – Snap distance

Return type:

float

getType()

Method of well objects. Returns the type of an existing well.

Returns:

Type – Type of the well containing base-type: {ifm.Enum.WM_WELL_BC, ifm.Enum.WM_WELL_BHE, ifm.Enum.WM_WELL_MLW} including including additional sub-types if set (ifm.Enum.WMT_MASS_TRANSPORT, …)

Return type:

Int

getWarning()

Method of well objects. Returns warnings for the current well after operations were applied.

Returns:

Message – Warning for the current well, empty if no warnings.

Return type:

Str

getWells()

Get wells defined in the Well Manager

Returns:

List of wells (Ifm Objects)

Return type:

wells (list)

Examples

>>> wm = doc.createWellManager()
>>> wells = wm.getWells()
>>> wells[0].deleteWell()
>>> wm.applyOperations(True)
importXml(Str)

Import Well Manager from a string containing Xml format of Well Manager

Parameters:

Str (String) – Well Manager in Xml format as string

putOverwriteConflicts(bool)

Method of Well Manager to set if the Well Manager is allowed to overwrite boundary conditions in conflict with Well position, or not.

Parameters:

bool – True to set that BC can be overwritten, False otherwise.

putSnapDistance(dist)

Set Snap distance value for the Well Manager, i.e., Nearest Node Distance in Global Settings for Well Manager

Parameters:

dist (float) – Snap distance to be set