water and solute transport API#

openalea.hydroroot.water_solute_transport.derivative_osmotic_p_peg(Cpeg=0.0, unit_factor=1.0, T=25.0)[source]#

the 1st derivative according to X of the osmotic pressure calculation of the PEG 8000 equation 1 Michel, Plant Physiol. (1983) 72, 66-70

dpi/dw = (2 * 1.29*w*T - 2*140*w - 4.0) pi: bar w: g/g T: Celcius

Parameters:
  • Cpeg – (Float) - PEG concentration in mol per volume (Default value = 0.0)

  • unit_factor – (Float) - factor to pass the Cpeg unit to g/g, g of PEG per g of water (Default value = 1.0)

  • T – (Float) - temperature in Celcius (Default value = 25.0)

Returns:

  • osmotic_p: Float, the osmotic pressure (MPa)

openalea.hydroroot.water_solute_transport.derivative_viscosity_peg(Cpeg=0.0, unit_factor=1.0)[source]#

Dynamic viscosity derivative according to concentration, dmu see viscosity_peg

dmu/dw = 18.4 exp(w/0.279)/0.279 dmu in mPa.s w in g/g water

Parameters:
  • Cpeg – (Float) - PEG concentration in mol per volume (Default value = 0.0)

  • unit_factor – (Float) - factor to pass the Cpeg unit to g/g, g of PEG per g of water (Default value = 1.0)

Returns:

  • dmu: Float, the derivative

openalea.hydroroot.water_solute_transport.init_some_MTG_properties(g, tau=0.0, Cini=0.0, Cpeg_ini=0.0, t=1, Ps=0.0)[source]#
initialization of some g properties specific to solute transport:
  • ‘C’: the permeating solute concentration,

  • ‘Cpeg’: the non-permeating solute concentration,

  • ‘theta’: 1 or 0 depending on the local flow direction in the xylem vessels 1 from tip to base, 0 the opposite

  • ‘J_s’: the pumping rate

Parameters:
  • g – MTG

  • tau – (float) active pumping rate in mol/(m2.s) (Default value = 0.)

  • Cini – (float) initial permeating solute concentration inside the root in mol/microL (Default value = 0.)

  • Cpeg_ini – (float) initial non-permeating solute concentration inside the root in mol/microL (Default value = 0.)

  • t – (int) switch factor used in the PDE resolution it is 0 or 1 and it is set during the resolution (Default value = 1)

  • Ps – (float) permeability coefficient in m/s (Default value = 0.)

Returns:

  • g

openalea.hydroroot.water_solute_transport.osmotic_p_peg(Cpeg=0.0, unit_factor=1.0, T=25.0)[source]#

osmotic pressure calculation of the PEG 8000 equation 1 Michel, Plant Physiol. (1983) 72, 66-70

pi = (1.29*w^2*T - 140*w^2 - 4.0*w) pi: bar w: g/g T: Celcius

Parameters:
  • Cpeg – (Float) - PEG concentration in mol per volume (Default value = 0.0)

  • unit_factor – (Float) - factor to pass the Cpeg unit to g/g, g of PEG per g of water (Default value = 1.0)

  • T – (Float) - temperature in Celcius (Default value = 25.0)

Returns:

  • osmotic_p: Float, the osmotic pressure (MPa)

openalea.hydroroot.water_solute_transport.pressure_calculation(g, Temp=298, sigma=1.0, Ce=0.0, Cse=0.0, dP=None, Pe=0.4, Pbase=0.1, data=None, row=None, col=None, C_base=None)[source]#

the system of equation under matrix form is solved using a Newton-Raphson schemes, at each step a system A dx = b is solved by LU decomposition.

Remark: it is har d coded for PEG 8000 as non-permeating solute

Parameters:
  • g – MTG

  • Temp – (float) - temperature in Kelvin (Default value = 298)

  • sigma – (float) - the reflexion coefficient between 0 and 1 (Default value = 1.0)

  • Ce – (float) - external non-permeating solute concentration in mol/microL (Default value = 0.0)

  • Cse – (float) - external permeating solute concentration in mol/microL (Default value = 0.0)

  • dP – (float) - difference of hydrostatic pressure between root base and external solution in MPa (Default value = None)

  • Pe – (float) - external hydrostatic pressure in MPa (Default value = 0.4)

  • Pbase – (float) - base hydrostatic pressure in MPa (Default value = 0.1)

  • data – (numpy array) array with non-zero values of the matrix (see code) (Default value = None)

  • row – (numpy array) array with the row index of the non-zero values (see code) (Default value = None)

  • col – (numpy array) array with the column index of the non-zero values (see code) (Default value = None)

  • C_base – (float) solute concentration at the root base in mol/microL (Default value = None)

Returns:

  • g (MTG)

  • dx (array)

  • data (array)

  • row (array)

  • col (array)

This function take into account the possibility to have non-permeating solute inside the root. This is, for instance, the case when performing cut and flow experiment in a solution containing such solute. Indeed, the non-permeating solute may enter the root at cut tips. It is referred to this non-permeating solute through Cpeg when C refers to the permeating solute penetrating radially the root. The presence of Cpeg may change the sap viscosity and has influence on the osmotic pressure see beginning of the function inside the root.

openalea.hydroroot.water_solute_transport.pressure_calculation_drag(g, Temp=298, sigma=1.0, Ce=0.0, Cse=0.0, dP=None, Pe=0.4, Pbase=0.1, data=None, row=None, col=None, C_base=None)[source]#

As pressure_calculation() without non-permeating solutes and with a drag term in the solute transport equation.

Parameters:
  • g – MTG

  • Temp – (float) - temperature in Kelvin (Default value = 298)

  • sigma – (float) - the reflexion coefficient between 0 and 1 (Default value = 1.0)

  • Ce – (float) - external non-permeating solute concentration in mol/microL (Default value = 0.0)

  • Cse – (float) - external permeating solute concentration in mol/microL (Default value = 0.0)

  • dP – (float) - difference of hydrostatic pressure between root base and external solution in MPa (Default value = None)

  • Pe – (float) - external hydrostatic pressure in MPa (Default value = 0.4)

  • Pbase – (float) - base hydrostatic pressure in MPa (Default value = 0.1)

  • data – (numpy array) array with non-zero values of the matrix (see code) (Default value = None)

  • row – (numpy array) array with the row index of the non-zero values (see code) (Default value = None)

  • col – (numpy array) array with the column index of the non-zero values (see code) (Default value = None)

  • C_base – (float) solute concentration at the root base in mol/microL (Default value = None)

Returns:

  • g (MTG)

  • dx (array)

  • data (array)

  • row (array)

  • col (array)

openalea.hydroroot.water_solute_transport.pressure_calculation_drag_permeating(g, Temp=298, sigma=1.0, Ce=0.0, Cse=0.0, dP=None, Pe=0.4, Pbase=0.1, data=None, row=None, col=None, C_base=None)[source]#

As pressure_calculation() with a drag term in the solute transport equation.

Parameters:
  • g – MTG

  • Temp – (float) - temperature in Kelvin (Default value = 298)

  • sigma – (float) - the reflexion coefficient between 0 and 1 (Default value = 1.0)

  • Ce – (float) - external non-permeating solute concentration in mol/microL (Default value = 0.0)

  • Cse – (float) - external permeating solute concentration in mol/microL (Default value = 0.0)

  • dP – (float) - difference of hydrostatic pressure between root base and external solution in MPa (Default value = None)

  • Pe – (float) - external hydrostatic pressure in MPa (Default value = 0.4)

  • Pbase – (float) - base hydrostatic pressure in MPa (Default value = 0.1)

  • data – (numpy array) array with non-zero values of the matrix (see code) (Default value = None)

  • row – (numpy array) array with the row index of the non-zero values (see code) (Default value = None)

  • col – (numpy array) array with the column index of the non-zero values (see code) (Default value = None)

  • C_base – (float) solute concentration at the root base in mol/microL (Default value = None)

Returns:

  • g (MTG)

  • dx (array)

  • data (array)

  • row (array)

  • col (array)

This function take into account the possibility to have non-permeating solute inside the root. This is, for instance, the case when performing cut and flow experiment in a solution containing such solute. Indeed, the non-permeating solute may enter the root at cut tips. It is referred to this non-permeating solute through Cpeg when C refers to the permeating solute penetrating radially the root. The presence of Cpeg may change the sap viscosity and has influence on the osmotic pressure see beginning of the function inside the root.

openalea.hydroroot.water_solute_transport.pressure_calculation_no_non_permeating_solutes(g, Temp=298, sigma=1.0, Ce=0.0, Cse=0.0, dP=None, Pe=0.4, Pbase=0.1, data=None, row=None, col=None, C_base=None)[source]#

As pressure_calculation() without non-permeating solutes able to enter the root but it is possible to have non-permeating solute outside the root.

Remark: it is har d coded for PEG 8000 as non-permeating solute

Parameters:
  • g – MTG

  • Temp – (float) - temperature in Kelvin (Default value = 298)

  • sigma – (float) - the reflexion coefficient between 0 and 1 (Default value = 1.0)

  • Ce – (float) - external non-permeating solute concentration in mol/microL (Default value = 0.0)

  • Cse – (float) - external permeating solute concentration in mol/microL (Default value = 0.0)

  • dP – (float) - difference of hydrostatic pressure between root base and external solution in MPa (Default value = None)

  • Pe – (float) - external hydrostatic pressure in MPa (Default value = 0.4)

  • Pbase – (float) - base hydrostatic pressure in MPa (Default value = 0.1)

  • data – (numpy array) array with non-zero values of the matrix (see code) (Default value = None)

  • row – (numpy array) array with the row index of the non-zero values (see code) (Default value = None)

  • col – (numpy array) array with the column index of the non-zero values (see code) (Default value = None)

  • C_base – (float) solute concentration at the root base in mol/microL (Default value = None)

Returns:

  • g (MTG)

  • dx (array)

  • data (array)

  • row (array)

  • col (array)

openalea.hydroroot.water_solute_transport.viscosity_peg(Cpeg=0.0, unit_factor=1.0)[source]#

Dynamic viscosity, mu, calculation in mPa.s according to the PEG-8000 concentration for a temperature T = 298 K Fit done on a point at Cpeg=0, mu = 1 mPa.s and the 2 fist data points (Cpeg=0.1 and 0.2) of table 2 from Gonzllez-Tello J. Chem. Eng. Data 1994,39, 611-614

mu = -17.4 + 18.4 exp(w/0.279) mu in mPa.s w in g/g water

Parameters:
  • Cpeg – (Float) - PEG concentration in mol per volume (Default value = 0.0)

  • unit_factor – (Float) - factor to pass the Cpeg unit to g/g, g of PEG per g of water (Default value = 1.0)

Returns:

  • mu: Float, the dynamic viscosity in mPa.s

Download the source file ../../src/openalea/hydroroot/water_solute_transport.py.