numerical_dissipation
moment_kinetics.numerical_dissipation
— Modulemoment_kinetics.numerical_dissipation.force_minimum_pdf_value!
— Methodforce_minimum_pdf_value!(f, minval)
Set a minimum value for the pdf-sized array f
. Any points less than the minimum are set to the minimum. By default, no minimum is applied. The minimum value can be set by
[ion_numerical_dissipation]
force_minimum_pdf_value = 0.0
moment_kinetics.numerical_dissipation.force_minimum_pdf_value_neutral!
— Methodforce_minimum_pdf_value_neutral!(f, minval)
Set a minimum value for the neutral-pdf-sized array f
. Any points less than the minimum are set to the minimum. By default, no minimum is applied. The minimum value can be set by
[neutral_numerical_dissipation]
force_minimum_pdf_value = 0.0
moment_kinetics.numerical_dissipation.r_dissipation!
— MethodAdd diffusion in the r direction to suppress oscillations
Disabled by default.
The diffusion coefficient is set in the input TOML file by the parameter
[ion_numerical_dissipation]
r_dissipation_coefficient = 0.1
Note that the current distributed-memory compatible implementation does not impose a penalisation term on internal or external element boundaries
moment_kinetics.numerical_dissipation.r_dissipation_neutral!
— MethodAdd diffusion in the r direction to suppress oscillations for neutrals
Disabled by default.
The diffusion coefficient is set in the input TOML file by the parameter
[neutral_numerical_dissipation]
r_dissipation_coefficient = 0.1
Note that the current distributed-memory compatible implementation does not impose a penalisation term on internal or external element boundaries
moment_kinetics.numerical_dissipation.setup_numerical_dissipation
— MethodDefine the dissipation parameters for each species, which means there need to be three sections in each input file that specify the parameters required of each species, as follows:
[ion_numerical_dissipation]
vpa_dissipation_coefficient
...
[electron_numerical_dissipation]
vpa_dissipation_coefficient
...
[neutral_numerical_dissipation]
vz_dissipation_coefficient
...
There will still be the -1.0 default parameters.
moment_kinetics.numerical_dissipation.vpa_boundary_buffer_decay!
— MethodSuppress the distribution function by damping towards a Maxwellian in the last element before the vpa boundaries, to avoid numerical instabilities there.
Disabled by default.
The damping rate is set in the input TOML file by the parameter
[ion_numerical_dissipation]
vpa_boundary_buffer_damping_rate = 0.1
moment_kinetics.numerical_dissipation.vpa_boundary_buffer_diffusion!
— MethodSuppress the distribution function by applying diffusion in the last element before the vpa boundaries, to avoid numerical instabilities there.
Disabled by default.
The maximum diffusion rate in the buffer is set in the input TOML file by the parameter
[ion_numerical_dissipation]
vpa_boundary_buffer_diffusion_coefficient = 0.1
moment_kinetics.numerical_dissipation.vpa_boundary_force_decreasing!
— MethodTry to suppress oscillations near the boundary by ensuring that every point in the final element is ≤ the innermost value. The distribution function should be decreasing near the boundaries, so this should be an OK thing to force.
Note: not currently used.
moment_kinetics.numerical_dissipation.vpa_dissipation!
— MethodAdd diffusion in the vpa direction to suppress oscillations
Disabled by default.
The diffusion coefficient is set in the input TOML file by the parameter
[ion_numerical_dissipation]
vpa_dissipation_coefficient = 0.1
moment_kinetics.numerical_dissipation.vperp_dissipation!
— MethodAdd diffusion in the vperp direction to suppress oscillations
Disabled by default.
The diffusion coefficient is set in the input TOML file by the parameter
[ion_numerical_dissipation]
vperp_dissipation_coefficient = 0.1
moment_kinetics.numerical_dissipation.vz_dissipation_neutral!
— MethodAdd diffusion in the vz direction to suppress oscillations for neutrals
Disabled by default.
The diffusion coefficient is set in the input TOML file by the parameter
[neutral_numerical_dissipation]
vz_dissipation_coefficient = 0.1
moment_kinetics.numerical_dissipation.z_dissipation!
— MethodAdd diffusion in the z direction to suppress oscillations
Disabled by default.
The diffusion coefficient is set in the input TOML file by the parameter
[ion_numerical_dissipation]
z_dissipation_coefficient = 0.1
Note that the current distributed-memory compatible implementation does not impose a penalisation term on internal or external element boundaries
moment_kinetics.numerical_dissipation.z_dissipation_neutral!
— MethodAdd diffusion in the z direction to suppress oscillations for neutrals
Disabled by default.
The diffusion coefficient is set in the input TOML file by the parameter
[neutral_numerical_dissipation]
z_dissipation_coefficient = 0.1
Note that the current distributed-memory compatible implementation does not impose a penalisation term on internal or external element boundaries