pyoomph.equations.cahn_hilliard module

class pyoomph.equations.cahn_hilliard.CahnHilliardEquation(sigma=1, epsilon=1, mobility=1, space='C2', phase_name='c', potential_name='mu', temporal_error_factor=0)[source]

Bases: Equations

Represents the Cahn-Hilliard equations for phase separation in a binary fluid mixture, given by the following equations:

mu = 3 * sigma / 2**(3/2) / epsilon * (c**3 - c) + 3 * sigma / 2**(3/2) * epsilon * laplace(c) dc/dt = mobility * laplace(mu)

Parameters:
  • sigma (ExpressionOrNum) – Surface tension coefficient. Default is 1.

  • epsilon (ExpressionOrNum) – Interface thickness. Default is 1.

  • mobility (ExpressionOrNum) – Mobility coefficient. Default is 1.

  • space (FiniteElementSpaceEnum) – Finite element space for the fields. Default is “C2”.

  • phase_name (str) – Name of the phase field variable. Default is “c”.

  • potential_name (str) – Name of the chemical potential variable. Default is “mu”.

  • temporal_error_factor (float) – Mutiplicative factor for the temporal error estimator by for the phase field. Default is 0.

class pyoomph.equations.cahn_hilliard.CahnHilliardEquationsForNSCH(sigma=1, epsilon=1, mobility=1, space='C2', phase_name='c', potential_name='mu', velocity_name='velocity', temporal_error_factor=0)[source]

Bases: CahnHilliardEquation

Represents the Cahn-Hilliard equations for phase separation in a binary fluid mixture, inheriting from CahnHilliardEquation and adding the advection of the phase field and the forcing of the surface tension by the velocity field. The additional equations to the Cahn-Hilliard object are given by:

TODO: Add equations

Parameters:
  • sigma (ExpressionOrNum) – Surface tension coefficient. Default is 1.

  • epsilon (ExpressionOrNum) – Interface thickness. Default is 1.

  • mobility (ExpressionOrNum) – Mobility coefficient. Default is 1.

  • space (FiniteElementSpaceEnum) – Finite element space for the fields. Default is “C2”.

  • phase_name (str) – Name of the phase field variable. Default is “c”.

  • potential_name (str) – Name of the chemical potential variable. Default is “mu”.

  • velocity_name (str) – Name of the velocity field variable. Default is “velocity”.

  • temporal_error_factor (float) – Mutiplicative factor for the temporal error estimator by for the phase field. Default is 0.

class pyoomph.equations.cahn_hilliard.CahnHilliardWettingInterface(sigma_fs_plus=None, sigma_fs_minus=None, contact_angle_plus=None, contact_angle_minus=None)[source]

Bases: InterfaceEquations

TODO: Add description

required_parent_type

alias of CahnHilliardEquation

class pyoomph.equations.cahn_hilliard.SimpleNSCH(fluid_plus, fluid_minus, sigma=1, epsilon=1, mobility=1, space='C2', phase_name='c', potential_name='mu', velocity_name='velocity', temporal_error_factor=0, dyadic_forcing=False)[source]

Bases: Equations

TODO: Add description

class pyoomph.equations.cahn_hilliard.SimpleNSCHWettingInterface(sigma_fs_plus=None, sigma_fs_minus=None, contact_angle_plus=None, contact_angle_minus=None)[source]

Bases: CahnHilliardWettingInterface

TODO: Add description

required_parent_type

alias of SimpleNSCH