BiharmonicFriction#

class fridom.nonhydro.modules.closures.diffusion.BiharmonicFriction(ah: float | FieldVariable, av: float | FieldVariable)[source]#

Bases: BiharmonicDiffusion

Biharmonic friction module

Description#

Applies the harmonic diffusion operator \(\mathcal{B}\) (see fridom.framework.modules.closures.BiharmonicDiffusion) to all fields with the flag “ENABLE_FRICTION” (typically the velocity field).

Parameters#

ahfloat | fr.FieldVariable

Horizontal friction coefficient.

avfloat | fr.FieldVariable

Vertical friction coefficient.

__init__(ah: float | FieldVariable, av: float | FieldVariable)[source]#

Methods

__init__(ah, av)

diffuse(z, dz)

diffusion_operator(u)

Applies the biharmonic diffusion operator on a scalar field \(u\).

disable()

Enabling the module means that it will be executed at each time step.

enable()

Enabling the module means that it will be executed at each time step.

is_enabled()

Return whether the module is enabled or not.

reset()

Stop and start the module.

setup(mset)

Start the module

start()

Start the module

stop()

Stop the module

update(mz)

Update the module

Attributes

ah

The horizontal diffusion coefficient.

av

The vertical diffusion coefficient.

diff_module

The differentiation module to be used by this module.

diffusion_coefficients

A list of diffusion coefficients.

field_flags

A list of field flags that indicate which fields should be diffused.

grid

The grid of the model settings

info

Return a dictionary with information about the time stepper.

interp_module

The interpolation module to be used by this module.

mset

The model settings

name

required_halo

Examples using fridom.nonhydro.modules.closures.BiharmonicFriction#

Convection and Closures

Convection and Closures

Dancing Eddies

Dancing Eddies
name = 'Biharmonic Friction'#
property ah: float | FieldVariable#

The horizontal diffusion coefficient.

property av: float | FieldVariable#

The vertical diffusion coefficient.