HarmonicFriction#
- class fridom.nonhydro.modules.closures.diffusion.HarmonicFriction(ah: float | FieldVariable, av: float | FieldVariable)[source]#
Bases:
HarmonicDiffusionHarmonic friction module
Description#
Applies the harmonic diffusion operator \(\mathcal{H}\) (see
fridom.framework.modules.closures.HarmonicDiffusion) to all fields with the flag “ENABLE_FRICTION” (typically the velocity field).Parameters#
- ahfloat | fr.FieldVariable
Horizontal harmonic friction coefficient.
- avfloat | fr.FieldVariable
Vertical harmonic friction coefficient.
- __init__(ah: float | FieldVariable, av: float | FieldVariable)[source]#
Methods
__init__(ah, av)diffuse(z, dz)diffusion_operator(u)Applies the harmonic 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
The horizontal diffusion coefficient.
The vertical diffusion coefficient.
diff_moduleThe differentiation module to be used by this module.
diffusion_coefficientsA list of diffusion coefficients.
field_flagsA list of field flags that indicate which fields should be diffused.
gridThe grid of the model settings
infoReturn a dictionary with information about the time stepper.
interp_moduleThe interpolation module to be used by this module.
msetThe model settings
required_haloExamples using
fridom.nonhydro.modules.closures.HarmonicFriction#- name = 'Harmonic Friction'#
- property ah: float | FieldVariable#
The horizontal diffusion coefficient.
- property av: float | FieldVariable#
The vertical diffusion coefficient.