pyrtid.forward.models.TransportParameters#
- class pyrtid.forward.models.TransportParameters(diffusion: float = 0.0001, dispersivity: float = 0.1, porosity: float = 1.0, crank_nicolson_advection: float = 0.5, crank_nicolson_diffusion: float = 1.0, rtol: float = 1e-08, is_numerical_acceleration: bool = False, is_skip_rt: bool = False, fpi_eps: float = 1e-05, max_fpi: int = 20)[source]#
Bases:
objectClass defining the transport parameters used in the simulation.
- Attributes
diffusion (float, optional) – Default diffusion coefficient in the grid in [m2/s]. The default is 1e-4 m2/s.
dispercivity (float, optional) – The dispersivity (kinematic and numeric) in meters. The default is 0.1 m.
porosity (float, optional) – Default porosity in the grid Should be a number between 0 and 1. The default is 1.0.
crank_nicolson (float) – The Crank-Nicholson parameter allows to set the temporal resolution scheme to explicit, fully implicit or somewhere in between these two extremes. The value must be comprised between 0.0 and 1.0, 0.0 being a full explicit scheme and 1.0 fully implicit. The default is 0.5.
tolerance (float, optional) – The tolerance on the transport. The default is 1e-8.
is_numerical_acceleration (bool, optional) – Whether to use the chemical source term from the previous iteration (at t=n-1) as a first guess in the transport equation (only apply to the first coupling fixed point iteration). In practise it might save one iteration (transport- chemistry) or more if the system is in a quasi steady-state and it might also reduce the overall coupling error. However if the timestep is large or the system unstable (stiff), it might lead to non-convergence as well. For more information, refer to [Lagneau and van der Lee, 2010]. The default is False.
is_skip_rt (bool) – Whether to skip the reactive-transport step, considering only the flow problem.
fpi_eps (float) – Tolerance on the transport-chemistry coupling error. The default value is 1e-5.
max_fpi (int) – Maximum number of fixed point iterations per timestep. If this number is reached then the numerical acceleration is temporarily disabled, otherwise, the timestep is reduced.
- __init__(diffusion: float = 0.0001, dispersivity: float = 0.1, porosity: float = 1.0, crank_nicolson_advection: float = 0.5, crank_nicolson_diffusion: float = 1.0, rtol: float = 1e-08, is_numerical_acceleration: bool = False, is_skip_rt: bool = False, fpi_eps: float = 1e-05, max_fpi: int = 20) None[source]#
Initialize the instance.
Methods definition