4.3.9 pde.pdes.swift_hohenberg module
The Swift-Hohenberg equation.
- class SwiftHohenbergPDE(rate=0.1, kc2=1.0, delta=1.0, *, bc='auto_periodic_neumann', bc_lap=None)[source]
Bases:
PDEBase
The Swift-Hohenberg equation.
The mathematical definition is
\[\partial_t c = \left[\epsilon - \left(k_c^2 + \nabla^2\right)^2\right] c + \delta \, c^2 - c^3\]where \(c\) is a scalar field and \(\epsilon\), \(k_c^2\), and \(\delta\) are parameters of the equation.
- Parameters:
rate (float) – The bifurcation parameter \(\epsilon\)
kc2 (float) – Squared wave vector \(k_c^2\) of the linear instability
delta (float) – Parameter \(\delta\) of the non-linearity
bc (BoundariesData) – The boundary conditions applied to the field. Boundary conditions are generally given as a list with one condition for each axis. For periodic axes, only periodic boundary conditions are allowed (indicated by ‘periodic’ and ‘anti-periodic’). For non-periodic axes, different boundary conditions can be specified for the lower and upper end (using a tuple of two conditions). For instance, Dirichlet conditions enforcing a value NUM (specified by {‘value’: NUM}) and Neumann conditions enforcing the value DERIV for the derivative in the normal direction (specified by {‘derivative’: DERIV}) are supported. Note that the special value ‘natural’ imposes periodic boundary conditions for periodic axis and a vanishing derivative otherwise. More information can be found in the boundaries documentation.
bc_lap (BoundariesData | None) – The boundary conditions applied to the second derivative of the scalar field \(c\). If None, the same boundary condition as bc is chosen. Otherwise, this supports the same options as bc.
- evolution_rate(state, t=0)[source]
Evaluate the right hand side of the PDE.
- Parameters:
state (
ScalarField
) – The scalar field describing the concentration distributiont (float) – The current time point
- Returns:
Scalar field describing the evolution rate of the PDE
- Return type:
ScalarField