Neko 1.99.2
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
sponge_source_term Module Reference

Implements the sponge_t type.

Data Types

type  sponge_source_term_t
 

Functions/Subroutines

subroutine sponge_init_from_json (this, json, fields, coef, variable_name)
 Constructor from json.
 
subroutine sponge_init_constant (this, fields, coef, start_time, end_time, amplitudes, fringe_registry_name, bf_registry_pref, dump_fields, dump_fname, constant_values)
 Initialize a sponge with a constant baseflow.
 
subroutine sponge_init_field (this, fields, coef, start_time, end_time, amplitudes, fringe_registry_name, bf_registry_pref, dump_fields, dump_fname, file_name, interpolate, tolerance, mesh_file_name)
 Initialize a sponge with a baseflow imported from a field file.
 
subroutine sponge_init_user (this, fields, coef, start_time, end_time, amplitudes, fringe_registry_name, bf_registry_pref, dump_fields, dump_fname)
 Initialize a sponge with a baseflow set by the user.
 
subroutine sponge_init_common (this, fields, coef, start_time, end_time, amplitudes, fringe_registry_name, bf_registry_pref, dump_fields, dump_fname)
 Common constructor.
 
subroutine sponge_free (this)
 Destructor.
 
subroutine sponge_compute (this, time)
 Compute the sponge field. The sponge is applied according to the following definition: f_x = amp_x * fringe(x,y,z) * (u_bf - u) f_y = amp_y * fringe(x,y,z) * (v_bf - v) f_z = amp_z * fringe(x,y,z) * (w_bf - w)
 

Function/Subroutine Documentation

◆ sponge_compute()

subroutine sponge_source_term::sponge_compute ( class(sponge_source_term_t), intent(inout this,
type(time_state_t), intent(in time 
)
private

The fringe field must be added to the regisry and filled by the user according to where they want to apply the sponge. NOTE: Unfortunately this function is JSON dependent due to the initial condition being JSON dependent quite deep, there should be a nice way to get rid of that but it should take some effort.

Parameters
timeThe current time state.

Definition at line 425 of file sponge_source_term.f90.

Here is the call graph for this function:

◆ sponge_free()

subroutine sponge_source_term::sponge_free ( class(sponge_source_term_t), intent(inout this)
private

Definition at line 394 of file sponge_source_term.f90.

◆ sponge_init_common()

subroutine sponge_source_term::sponge_init_common ( class(sponge_source_term_t), intent(inout this,
type(field_list_t), intent(in), target  fields,
type(coef_t), intent(in), target  coef,
real(kind=rp), intent(in start_time,
real(kind=rp), intent(in end_time,
real(kind=rp), dimension(:), intent(in amplitudes,
character(len=*), intent(in fringe_registry_name,
character(len=*), intent(in bf_registry_pref,
logical, intent(in dump_fields,
character(len=*), intent(in dump_fname 
)
private

Definition at line 357 of file sponge_source_term.f90.

Here is the caller graph for this function:

◆ sponge_init_constant()

subroutine sponge_source_term::sponge_init_constant ( class(sponge_source_term_t), intent(inout this,
type(field_list_t), intent(in), target  fields,
type(coef_t), intent(in), target  coef,
real(kind=rp), intent(in start_time,
real(kind=rp), intent(in end_time,
real(kind=rp), dimension(:), intent(in amplitudes,
character(len=*), intent(in fringe_registry_name,
character(len=*), intent(in bf_registry_pref,
logical, intent(in dump_fields,
character(len=*), intent(in dump_fname,
real(kind=rp), dimension(:), intent(in constant_values 
)
private

Definition at line 213 of file sponge_source_term.f90.

Here is the call graph for this function:

◆ sponge_init_field()

subroutine sponge_source_term::sponge_init_field ( class(sponge_source_term_t), intent(inout this,
type(field_list_t), intent(in), target  fields,
type(coef_t), intent(in), target  coef,
real(kind=rp), intent(in start_time,
real(kind=rp), intent(in end_time,
real(kind=rp), dimension(:), intent(in amplitudes,
character(len=*), intent(in fringe_registry_name,
character(len=*), intent(in bf_registry_pref,
logical, intent(in dump_fields,
character(len=*), intent(in dump_fname,
character(len=*), intent(in file_name,
logical, intent(in interpolate,
real(kind=rp), intent(in tolerance,
character(len=*), intent(inout mesh_file_name 
)
private

Definition at line 262 of file sponge_source_term.f90.

Here is the call graph for this function:

◆ sponge_init_from_json()

subroutine sponge_source_term::sponge_init_from_json ( class(sponge_source_term_t), intent(inout this,
type(json_file), intent(inout json,
type(field_list_t), intent(in), target  fields,
type(coef_t), intent(in), target  coef,
character(len=*), intent(in variable_name 
)

Definition at line 116 of file sponge_source_term.f90.

◆ sponge_init_user()

subroutine sponge_source_term::sponge_init_user ( class(sponge_source_term_t), intent(inout this,
type(field_list_t), intent(in), target  fields,
type(coef_t), intent(in), target  coef,
real(kind=rp), intent(in start_time,
real(kind=rp), intent(in end_time,
real(kind=rp), dimension(:), intent(in amplitudes,
character(len=*), intent(in fringe_registry_name,
character(len=*), intent(in bf_registry_pref,
logical, intent(in dump_fields,
character(len=*), intent(in dump_fname 
)
private

Definition at line 335 of file sponge_source_term.f90.

Here is the call graph for this function: