40 use json_module,
only : json_file
68 type(json_file),
intent(inout) :: json
69 type(
coef_t),
intent(in),
target :: coef
70 type(
dofmap_t),
intent(in),
target :: dof
73 call this%init_base(json, coef, dof)
75 call json_get(json,
"reg_coeff_name", &
79 this%reg_coeff =>
neko_registry%get_field(this%reg_coeff_name)
88 nullify(this%reg_coeff)
99 type(
field_t),
intent(inout) :: effective_visc
100 type(
field_t),
intent(in),
optional :: mu
102 call field_copy(effective_visc, this%reg_coeff, this%coef%dof%size())
103 if (
present(mu))
then
104 call field_add2(effective_visc, mu, this%coef%dof%size())
Retrieves a parameter by name or throws an error.
Implements artificial_viscosity_t.
subroutine artificial_viscosity_free(this)
Free an artificial viscosity regularization.
subroutine artificial_viscosity_update(this, effective_visc, mu)
Update the effective viscosity with artificial and physical viscosity.
subroutine artificial_viscosity_init_from_json(this, json, coef, dof)
Construct an artificial viscosity regularization from JSON.
Defines a mapping of the degrees of freedom.
subroutine, public field_add2(a, b, n)
Vector addition .
subroutine, public field_copy(a, b, n)
Copy a vector .
Utilities for retrieving parameters from the case files.
integer, parameter, public rp
Global precision used in computations.
Defines a registry for storing solution fields.
type(registry_t), target, public neko_registry
Global field registry.
Defines the base interface for viscous regularization methods.
The handler for the artificial viscosity.
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
Base abstract type for viscous regularization methods.