Neko 0.9.99
A portable framework for high-order spectral element flow simulations
|
Bouyancy source term accroding to the Boussinesq approximation. More...
Public Member Functions | |
procedure, pass(this) | init (this, json, fields, coef) |
The common constructor using a JSON object. | |
procedure, pass(this) | init_from_compenents (this, fields, scalar_name, ref_value, g, beta, coef, start_time, end_time) |
The constructor from type components. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | compute_ (this, t, tstep) |
Computes the source term and adds the result to fields . | |
procedure, pass(this) | init_base (this, fields, coef, start_time, end_time) |
Constructor for the source_term_t (base) type. | |
procedure, pass(this) | free_base (this) |
Destructor for the source_term_t (base) type. | |
procedure, pass(this) | compute (this, t, tstep) |
Executes compute_ based on time conditions. | |
procedure(source_term_init), deferred, pass | init (this, json, fields, coef) |
The common constructor using a JSON object. | |
procedure(source_term_free), deferred, pass | free (this) |
Destructor. | |
procedure(source_term_compute), deferred, pass | compute_ (this, t, tstep) |
Computes the source term and adds the result to fields . | |
Public Attributes | |
type(field_t), pointer | s => null() |
The scalar field used to drive the source term, typically temperature. | |
real(kind=rp) | ref_value = 0 |
The reference value of the scalar field. | |
real(kind=rp), dimension(3) | g |
Gravity vector. | |
real(kind=rp) | beta |
Thermal expantion coefficient. | |
type(field_list_t) | fields |
The fields to be updated with the source term values. | |
type(coef_t), pointer | coef => null() |
Coefficients for the SEM. | |
real(kind=rp) | start_time = 0.0_rp |
Start time for adding the source term. | |
real(kind=rp) | end_time = huge(0.0_rp) |
End time for adding the source term. | |
Called "boussinesq" in the JSON. Controlled by the following parameters:
1/ref_value
. Definition at line 59 of file boussinesq_source_term.f90.
|
inherited |
t | Time value. |
tstep | Current time step. |
Definition at line 58 of file source_term.f90.
procedure, pass(this) boussinesq_source_term::boussinesq_source_term_t::compute_ | ( | class(boussinesq_source_term_t), intent(inout) | this, |
real(kind=rp), intent(in) | t, | ||
integer, intent(in) | tstep | ||
) |
t | The time value. |
tstep | The current time-step. |
Definition at line 77 of file boussinesq_source_term.f90.
|
pure virtualinherited |
Definition at line 64 of file source_term.f90.
procedure, pass(this) boussinesq_source_term::boussinesq_source_term_t::free | ( | class(boussinesq_source_term_t), intent(inout) | this | ) |
Definition at line 75 of file boussinesq_source_term.f90.
|
pure virtualinherited |
Definition at line 62 of file source_term.f90.
|
inherited |
Definition at line 56 of file source_term.f90.
procedure, pass(this) boussinesq_source_term::boussinesq_source_term_t::init | ( | class(boussinesq_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 | ||
) |
json | The JSON object for the source. |
fields | A list of fields for adding the source values. |
coef | The SEM coeffs. |
Definition at line 70 of file boussinesq_source_term.f90.
|
pure virtualinherited |
Definition at line 60 of file source_term.f90.
|
inherited |
json | JSON object initializing the source term. |
fields | The list of fields updated by the source term. |
coef | The SEM coefficients. Constructor for the source_term_t (base) type. |
fields | A list of pointers to fields to be updated by the source term. |
coef | SEM coefs. |
start_time | When to start adding the source term. |
end_time | When to stop adding the source term. |
Definition at line 54 of file source_term.f90.
procedure, pass(this) boussinesq_source_term::boussinesq_source_term_t::init_from_compenents | ( | class(boussinesq_source_term_t), intent(inout) | this, |
class(field_list_t), intent(in), target | fields, | ||
character(len=*), intent(in) | scalar_name, | ||
real(kind=rp), intent(in) | ref_value, | ||
real(kind=rp), dimension(3), intent(in) | g, | ||
real(kind=rp), intent(in) | beta, | ||
type(coef_t) | coef, | ||
real(kind=rp), intent(in) | start_time, | ||
real(kind=rp), intent(in) | end_time | ||
) |
fields | A list of fields for adding the source values. |
scalar_name | The name of the scalar field driving the source. |
ref_value | The reference value of the scalar field. |
g | The gravity vector. |
beta | The thermal expansion coefficient. |
coef | The SEM coeffs. |
start_time | When to start adding the source term. |
end_time | When to stop adding the source term. |
Definition at line 72 of file boussinesq_source_term.f90.
Definition at line 67 of file boussinesq_source_term.f90.
Definition at line 47 of file source_term.f90.
Definition at line 51 of file source_term.f90.
|
inherited |
Definition at line 45 of file source_term.f90.
Definition at line 65 of file boussinesq_source_term.f90.
Definition at line 63 of file boussinesq_source_term.f90.
Definition at line 61 of file boussinesq_source_term.f90.
Definition at line 49 of file source_term.f90.