Neko
0.8.1
A portable framework for high-order spectral element flow simulations
|
A source-term for the fluid, with procedure pointers pointing to the actual implementation in the user file. More...
Public Member Functions | |
procedure, pass(this) | init => fluid_user_source_term_init |
Constructor from JSON (will throw!). More... | |
procedure, pass(this) | init_from_components => fluid_user_source_term_init_from_components |
Constructor from components. More... | |
procedure, pass(this) | free => fluid_user_source_term_free |
Destructor. More... | |
procedure, pass(this) | compute_ => fluid_user_source_term_compute |
Computes the source term and adds the result to fields . More... | |
procedure, pass(this) | init_base => source_term_init_base |
Constructor for the source_term_t (base) type. More... | |
procedure, pass(this) | free_base => source_term_free_base |
Destructor for the source_term_t (base) type. More... | |
procedure, pass(this) | compute => source_term_compute_wrapper |
Executes compute_ based on time conditions. More... | |
Public Attributes | |
type(dofmap_t), pointer | dm |
Pointer to the dofmap of the right-hand-side fields. More... | |
real(kind=rp), dimension(:, :, :, :), allocatable | u |
x-component of source term. More... | |
real(kind=rp), dimension(:, :, :, :), allocatable | v |
y-component of source term. More... | |
real(kind=rp), dimension(:, :, :, :), allocatable | w |
z-component of source term. More... | |
type(c_ptr) | u_d = C_NULL_PTR |
Device pointer for u . More... | |
type(c_ptr) | v_d = C_NULL_PTR |
Device pointer for v . More... | |
type(c_ptr) | w_d = C_NULL_PTR |
Device pointer for w . More... | |
procedure(fluid_source_compute_pointwise), pointer, nopass | compute_pw_ => null() |
Compute the source term for a single point. More... | |
procedure(fluid_source_compute_vector), pointer, nopass | compute_vector_ => null() |
Compute the source term for the entire boundary. More... | |
type(field_list_t) | fields |
The fields to be updated with the source term values. More... | |
type(coef_t), pointer | coef => null() |
Coefficients for the SEM. More... | |
real(kind=rp) | start_time = 0.0_rp |
Start time for adding the source term. More... | |
real(kind=rp) | end_time = huge(0.0_rp) |
End time for adding the source term. More... | |
A source-term for the fluid, with procedure pointers pointing to the actual implementation in the user file.
The user source term can be applied either pointiwse or acting on the whole array in a single call, which is referred to as "vector" application.
Definition at line 60 of file fluid_user_source_term.f90.
|
inherited |
Executes compute_
based on time conditions.
Definition at line 59 of file source_term.f90.
procedure, pass(this) fluid_user_source_term::fluid_user_source_term_t::compute_ |
Computes the source term and adds the result to fields
.
Definition at line 91 of file fluid_user_source_term.f90.
procedure, pass(this) fluid_user_source_term::fluid_user_source_term_t::free |
Destructor.
Definition at line 89 of file fluid_user_source_term.f90.
|
inherited |
Destructor for the source_term_t (base) type.
Definition at line 57 of file source_term.f90.
procedure, pass(this) fluid_user_source_term::fluid_user_source_term_t::init |
Constructor from JSON (will throw!).
Definition at line 84 of file fluid_user_source_term.f90.
|
inherited |
Constructor for the source_term_t (base) type.
Definition at line 55 of file source_term.f90.
procedure, pass(this) fluid_user_source_term::fluid_user_source_term_t::init_from_components |
Constructor from components.
Definition at line 86 of file fluid_user_source_term.f90.
|
inherited |
Coefficients for the SEM.
Definition at line 48 of file source_term.f90.
procedure(fluid_source_compute_pointwise), pointer, nopass fluid_user_source_term::fluid_user_source_term_t::compute_pw_ => null() |
Compute the source term for a single point.
Definition at line 77 of file fluid_user_source_term.f90.
procedure(fluid_source_compute_vector), pointer, nopass fluid_user_source_term::fluid_user_source_term_t::compute_vector_ => null() |
Compute the source term for the entire boundary.
Definition at line 80 of file fluid_user_source_term.f90.
type(dofmap_t), pointer fluid_user_source_term::fluid_user_source_term_t::dm |
Pointer to the dofmap of the right-hand-side fields.
Definition at line 62 of file fluid_user_source_term.f90.
|
inherited |
End time for adding the source term.
Definition at line 52 of file source_term.f90.
|
inherited |
The fields to be updated with the source term values.
Definition at line 46 of file source_term.f90.
|
inherited |
Start time for adding the source term.
Definition at line 50 of file source_term.f90.
real(kind=rp), dimension(:, :, :, :), allocatable fluid_user_source_term::fluid_user_source_term_t::u |
x-component of source term.
Definition at line 64 of file fluid_user_source_term.f90.
type(c_ptr) fluid_user_source_term::fluid_user_source_term_t::u_d = C_NULL_PTR |
Device pointer for u
.
Definition at line 71 of file fluid_user_source_term.f90.
real(kind=rp), dimension(:, :, :, :), allocatable fluid_user_source_term::fluid_user_source_term_t::v |
y-component of source term.
Definition at line 66 of file fluid_user_source_term.f90.
type(c_ptr) fluid_user_source_term::fluid_user_source_term_t::v_d = C_NULL_PTR |
Device pointer for v
.
Definition at line 73 of file fluid_user_source_term.f90.
real(kind=rp), dimension(:, :, :, :), allocatable fluid_user_source_term::fluid_user_source_term_t::w |
z-component of source term.
Definition at line 68 of file fluid_user_source_term.f90.
type(c_ptr) fluid_user_source_term::fluid_user_source_term_t::w_d = C_NULL_PTR |
Device pointer for w
.
Definition at line 75 of file fluid_user_source_term.f90.