pyoomph.materials.surfactant_isotherms module

class pyoomph.materials.surfactant_isotherms.FrumkinIsotherm(surfactant_name, GammaInfty, beta=0, k_ads=4.9999999999999997737E-7 * second**-1 * meter, k_des=0.9499999999999999556 * second**-1)[source]

Bases: SurfactantIsotherm

Frumkin isotherm for surfactant adsorption. The surface pressure reads \(-RT\Gamma_\infty\log(1-\Gamma/\Gamma_\infty)\), the adsorption rate is \(k_\mathrm{ads}C(\Gamma-\Gamma_\infty)/\Gamma_\infty\) and the desorption rate is \(k_\mathrm{des}\Gamma\exp(\beta\Gamma/(\Gamma_\infty-\Gamma))\). .

Parameters:
  • surfactant_name (str) – Name of the surfactant

  • GammaInfty (Union[Expression, int, float]) – Saturation surface concentration (in mol/m^2)

  • beta (Union[Expression, int, float]) – Frumkin parameter (in m^4 kg/(mol^2 s^2))

  • k_ads (Union[Expression, int, float]) – Adsorption rate (in m/s)

  • k_des (Union[Expression, int, float]) – Desorption rate (in 1/s)

apply_on_interface(interface_properties, pure_surface_tension=None, min_surface_tension=None)

Apply the surfactant isotherm to interface properties.

Parameters:
  • interface_properties (BaseInterfaceProperties) – The interface properties to apply the isotherm to

  • pure_surface_tension (Union[Expression, int, float, None]) – Surface tension without surfactants. If not set, it will be taken from the interface properties.

  • min_surface_tension (Union[Expression, int, float, None]) – Minimum surface tension. If set, the surface tension will be limited to this value.

class pyoomph.materials.surfactant_isotherms.HenryIsotherm(surfactant_name, k_ads=4.9999999999999997737E-7 * second**-1 * meter, k_des=0.9499999999999999556 * second**-1, K=None)[source]

Bases: SurfactantIsotherm

Henry isotherm for surfactant adsorption. This is a simple isotherm where the surface pressure is proportional to the surfactant concentration in the bulk: The surface pressure reads \(RT\Gamma\), the adsorption rate is \(k_\mathrm{ads}C\) and the desorption rate is \(k_\mathrm{des}\Gamma\). The equilibrium is given by \(\Gamma=K C\).

Parameters:
  • surfactant_name (str) – Name of the surfactant

  • k_ads (Union[Expression, int, float, None]) – Adsorption rate (in m/s)

  • k_des (Union[Expression, int, float, None]) – Desorption rate (in 1/s)

  • K (Union[Expression, int, float, None]) – Equilibrium constant (in m). If K is passed, k_ads and k_des are not independent, and only two of these can be passed.

apply_on_interface(interface_properties, pure_surface_tension=None, min_surface_tension=None)

Apply the surfactant isotherm to interface properties.

Parameters:
  • interface_properties (BaseInterfaceProperties) – The interface properties to apply the isotherm to

  • pure_surface_tension (Union[Expression, int, float, None]) – Surface tension without surfactants. If not set, it will be taken from the interface properties.

  • min_surface_tension (Union[Expression, int, float, None]) – Minimum surface tension. If set, the surface tension will be limited to this value.

class pyoomph.materials.surfactant_isotherms.LangmuirIsotherm(surfactant_name, GammaInfty, k_ads=4.9999999999999997737E-7 * second**-1 * meter, k_des=0.9499999999999999556 * second**-1, K=None)[source]

Bases: SurfactantIsotherm

Langmuir isotherm for surfactant adsorption. The surface pressure reads \(-RT\Gamma_\infty\log(1-\Gamma/\Gamma_\infty)\), the adsorption rate is \(k_\mathrm{ads}C(\Gamma-\Gamma_\infty)/\Gamma_\infty\) and the desorption rate is \(k_\mathrm{des}\Gamma\). The equilibrium is given by \(\Gamma=\Gamma_\infty KC/(1+KC)\).

Parameters:
  • surfactant_name (str) – Name of the surfactant

  • GammaInfty (Union[Expression, int, float]) – Saturation surface concentration (in mol/m^2)

  • k_ads (Union[Expression, int, float, None]) – Adsorption rate (in m/s)

  • k_des (Union[Expression, int, float, None]) – Desorption rate (in 1/s)

  • K (Union[Expression, int, float, None]) – Equilibrium constant (in m). If K is passed, k_ads and k_des are not independent, and only two of these can be passed.

apply_on_interface(interface_properties, pure_surface_tension=None, min_surface_tension=None)

Apply the surfactant isotherm to interface properties.

Parameters:
  • interface_properties (BaseInterfaceProperties) – The interface properties to apply the isotherm to

  • pure_surface_tension (Union[Expression, int, float, None]) – Surface tension without surfactants. If not set, it will be taken from the interface properties.

  • min_surface_tension (Union[Expression, int, float, None]) – Minimum surface tension. If set, the surface tension will be limited to this value.

class pyoomph.materials.surfactant_isotherms.SurfactantIsotherm(surfactant_name, k_ads=4.9999999999999997737E-7 * second**-1 * meter, k_des=0.9499999999999999556 * second**-1, K=None)[source]

Bases: object

Base class for a surfactant isotherm. This class should not be used directly, but should be subclassed.

Parameters:
  • surfactant_name (str) – Name of the surfactant

  • k_ads (Union[Expression, int, float, None]) – Adsorption rate (in m/s)

  • k_des (Union[Expression, int, float, None]) – Desorption rate (in 1/s)

  • K (Union[Expression, int, float, None]) – Equilibrium constant (in m). If K is passed, k_ads and k_des are not independent, and only two of these can be passed.

apply_on_interface(interface_properties, pure_surface_tension=None, min_surface_tension=None)[source]

Apply the surfactant isotherm to interface properties.

Parameters:
  • interface_properties (BaseInterfaceProperties) – The interface properties to apply the isotherm to

  • pure_surface_tension (Union[Expression, int, float, None]) – Surface tension without surfactants. If not set, it will be taken from the interface properties.

  • min_surface_tension (Union[Expression, int, float, None]) – Minimum surface tension. If set, the surface tension will be limited to this value.

class pyoomph.materials.surfactant_isotherms.VanDerWaalsIsotherm(surfactant_name, GammaInfty, beta=0, k_ads=4.9999999999999997737E-7 * second**-1 * meter, k_des=0.9499999999999999556 * second**-1)[source]

Bases: SurfactantIsotherm

Van der Waals isotherm for surfactant adsorption. The surface pressure reads \(RT\Gamma_\infty/(1-\Gamma/\Gamma_\infty)-\beta\Gamma^2/2\), the adsorption rate is \(k_\mathrm{ads}C(\Gamma-\Gamma_\infty)/\Gamma_\infty\) and the desorption rate is \(k_\mathrm{des}\Gamma\exp(\Gamma/(\Gamma_\infty-\Gamma)-\beta\Gamma/(RT))\).

Parameters:
  • surfactant_name (str) – Name of the surfactant

  • GammaInfty (Union[Expression, int, float]) – Saturation surface concentration (in mol/m^2)

  • beta (Union[Expression, int, float]) – Van der Waals parameter (in m^4 kg/(mol^2 s^2))

  • k_ads (Union[Expression, int, float]) – Adsorption rate (in m/s)

  • k_des (Union[Expression, int, float]) – Desorption rate (in 1/s)

apply_on_interface(interface_properties, pure_surface_tension=None, min_surface_tension=None)

Apply the surfactant isotherm to interface properties.

Parameters:
  • interface_properties (BaseInterfaceProperties) – The interface properties to apply the isotherm to

  • pure_surface_tension (Union[Expression, int, float, None]) – Surface tension without surfactants. If not set, it will be taken from the interface properties.

  • min_surface_tension (Union[Expression, int, float, None]) – Minimum surface tension. If set, the surface tension will be limited to this value.

class pyoomph.materials.surfactant_isotherms.VolmerIsotherm(surfactant_name, GammaInfty, k_ads=4.9999999999999997737E-7 * second**-1 * meter, k_des=0.9499999999999999556 * second**-1)[source]

Bases: SurfactantIsotherm

Volmer isotherm for surfactant adsorption. The surface pressure reads \(RT\Gamma_\infty/(1-\Gamma/\Gamma_\infty)\), the adsorption rate is \(k_\mathrm{ads}C(\Gamma-\Gamma_\infty)/\Gamma_\infty\) and the desorption rate is \(k_\mathrm{des}\Gamma\exp(\Gamma/(\Gamma_\infty-\Gamma))\). .

Parameters:
  • surfactant_name (str) – Name of the surfactant

  • GammaInfty (Union[Expression, int, float]) – Saturation surface concentration (in mol/m^2)

  • k_ads (Union[Expression, int, float, None]) – Adsorption rate (in m/s)

  • k_des (Union[Expression, int, float, None]) – Desorption rate (in 1/s)

apply_on_interface(interface_properties, pure_surface_tension=None, min_surface_tension=None)

Apply the surfactant isotherm to interface properties.

Parameters:
  • interface_properties (BaseInterfaceProperties) – The interface properties to apply the isotherm to

  • pure_surface_tension (Union[Expression, int, float, None]) – Surface tension without surfactants. If not set, it will be taken from the interface properties.

  • min_surface_tension (Union[Expression, int, float, None]) – Minimum surface tension. If set, the surface tension will be limited to this value.