# 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 distribution

• t (float) – The current time point

Returns:

Scalar field describing the evolution rate of the PDE

Return type:

ScalarField

explicit_time_dependence: bool | None = False

Flag indicating whether the right hand side of the PDE has an explicit time dependence.

Type:

bool

property expression: str

the expression of the right hand side of this PDE

Type:

str