Neko 1.99.1
A portable framework for high-order spectral element flow simulations
|
Provides tools to calculate the spectral error indicator. More...
Public Member Functions | |
procedure, pass(this) | init (this, json, case) |
Constructor. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | compute_ (this, time) |
Compute the indicator (called according to the simcomp controller). | |
procedure, pass(this) | get_indicators (this, coef) |
Calculate the indicator. | |
procedure, pass(this) | init_base (this, json, case) |
Constructor for the simulation_component_t (base) class. | |
generic | init_base_from_components (this, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value) |
Constructor for the simulation_component_t (base) class from components. | |
generic | init_base_from_components (this, case, order, preprocess_controller, compute_controller, output_controller) |
Constructor for the simulation_component_t (base) class from components. | |
procedure, pass(this) | init_base_from_controllers (this, case, order, preprocess_controller, compute_controller, output_controller) |
Constructor for the simulation_component_t (base) class from time_based_controllers, essentially directly from all components (we reserve the _from_components name for the generic binding). | |
procedure, pass(this) | init_base_from_controllers_properties (this, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value) |
Constructor for the simulation_component_t (base) class from properties of time_based_controllers, so the latter are constructed instead of assigned. | |
procedure, pass(this) | free_base (this) |
Destructor for the simulation_component_t (base) class. | |
procedure, pass(this) | restart (this, time) |
Wrapper for calling set_counter for the time based controllers. Serves as the public interface. | |
procedure, pass(this) | preprocess (this, time) |
Wrapper for calling preprocess_ based on the preprocess_controller . Serves as the public interface. | |
procedure, pass(this) | compute (this, time) |
Wrapper for calling compute_ based on the compute_controller . Serves as the public interface. | |
procedure(simulation_component_init), deferred, pass | init (this, json, case) |
The common constructor using a JSON dictionary. | |
procedure(simulation_component_free), deferred, pass | free (this) |
Destructor. | |
procedure, pass(this) | preprocess_ (this, time) |
The preprocessing function to be executed during the run. | |
procedure, pass(this) | compute_ (this, time) |
The main function to be executed during the run. | |
procedure, pass(this) | restart_ (this, time) |
The restart function to be called upon restarting simulation. | |
procedure, pass(this) | parse_json (this, json, case_params, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value) |
JSON parameter parser for the time-based controllers. | |
Public Attributes | |
type(field_t), pointer | u => null() |
Pointers to main fields. | |
type(field_t), pointer | v => null() |
type(field_t), pointer | w => null() |
type(field_t), pointer | u_hat => null() |
Transformed fields. | |
type(field_t), pointer | v_hat => null() |
type(field_t), pointer | w_hat => null() |
type(field_t) | wk |
Working field - Consider making this a simple array. | |
real(kind=rp) | seri_small = 1.e-14 |
Configuration of spectral error calculation. | |
real(kind=rp) | seri_smallr = 1.e-10 |
used for ratios | |
real(kind=rp) | seri_smallg = 1.e-5 |
used for gradients | |
real(kind=rp) | seri_smalls = 0.2 |
used for sigma and rtmp in error calculations | |
integer | seri_np = 4 |
number of points in fitting | |
integer | seri_np_max = 4 |
integer | seri_elr = 0 |
last modes skipped | |
real(kind=rp), dimension(:), allocatable | eind_u |
spectral error indicator per element | |
real(kind=rp), dimension(:), allocatable | eind_v |
real(kind=rp), dimension(:), allocatable | eind_w |
real(kind=rp), dimension(:), allocatable | sig_u |
fit coeficients per element | |
real(kind=rp), dimension(:), allocatable | sig_v |
real(kind=rp), dimension(:), allocatable | sig_w |
type(field_list_t) | speri_l |
List to write the spectral error indicator as a field. | |
type(file_t) | mf_speri |
File to write. | |
type(field_writer_t) | writer |
Field writer controller for the output. | |
type(case_t), pointer | case |
Pointer to the simulation case. | |
type(time_based_controller_t) | preprocess_controller |
Controller for when to run preprocess . | |
type(time_based_controller_t) | compute_controller |
Controller for when to run compute . | |
type(time_based_controller_t) | output_controller |
Controller for when to do output. | |
integer | order |
The execution order, lowest excutes first. | |
This is a posteriori error measure, based on the local properties of the spectral solution, which was developed by Mavriplis. This method formally only gives an indication of the error.
Definition at line 66 of file spectral_error.f90.
|
inherited |
time | The current time. |
Definition at line 88 of file simulation_component.f90.
|
inherited |
time | The current time. |
Definition at line 96 of file simulation_component.f90.
procedure, pass(this) spectral_error::spectral_error_t::compute_ | ( | class(spectral_error_t), intent(inout) | this, |
type(time_state_t), intent(in) | time | ||
) |
Definition at line 106 of file spectral_error.f90.
|
pure virtualinherited |
Definition at line 92 of file simulation_component.f90.
procedure, pass(this) spectral_error::spectral_error_t::free | ( | class(spectral_error_t), intent(inout) | this | ) |
Definition at line 104 of file spectral_error.f90.
|
inherited |
Definition at line 78 of file simulation_component.f90.
procedure, pass(this) spectral_error::spectral_error_t::get_indicators | ( | class(spectral_error_t), intent(inout) | this, |
type(coef_t), intent(inout) | coef | ||
) |
coef | type coef for mesh parameters and space |
Definition at line 108 of file spectral_error.f90.
|
pure virtualinherited |
Definition at line 90 of file simulation_component.f90.
procedure, pass(this) spectral_error::spectral_error_t::init | ( | class(spectral_error_t), intent(inout), target | this, |
type(json_file), intent(inout) | json, | ||
class(case_t), intent(inout), target | case | ||
) |
Definition at line 102 of file spectral_error.f90.
|
inherited |
Definition at line 62 of file simulation_component.f90.
|
inherited |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | Control mode for preprocessing. |
preprocess_value | Value parameter for preprocessing. |
compute_controller | Control mode for computing. |
compute_value | Value parameter for computing. |
output_controller | Control mode for output. |
output_value | Value parameter for output. |
Definition at line 64 of file simulation_component.f90.
|
inherited |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | The controller for running preprocessing. |
compute_controller | The controller for running compute. |
output_controller | The controller for producing output. |
Definition at line 64 of file simulation_component.f90.
|
inherited |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | The controller for running preprocessing. |
compute_controller | The controller for running compute. |
output_controller | The controller for producing output. |
Definition at line 70 of file simulation_component.f90.
|
inherited |
case | The simulation case object. |
order | The execution oder priority of the simcomp. |
preprocess_controller | Control mode for preprocessing. |
preprocess_value | Value parameter for preprocessing. |
compute_controller | Control mode for computing. |
compute_value | Value parameter for computing. |
output_controller | Control mode for output. |
output_value | Value parameter for output. |
Definition at line 75 of file simulation_component.f90.
|
inherited |
json | The JSON dictionary of the simcomp. |
case_params | The entire case configuration JSON. |
preprocess_value | Control mode for preprocessing. |
preprocess_controller | Value parameter for preprocessing. |
compute_controller | Control mode for computing. |
compute_controller | Value parameter for computing. |
output_controller | Control mode for output. |
output_controller | Value parameter for output. |
Definition at line 100 of file simulation_component.f90.
|
inherited |
time | The current time. |
Definition at line 84 of file simulation_component.f90.
|
inherited |
time | The current time. |
Definition at line 94 of file simulation_component.f90.
|
inherited |
time | The current time. |
Definition at line 81 of file simulation_component.f90.
|
inherited |
time | The current time. |
Definition at line 98 of file simulation_component.f90.
Definition at line 51 of file simulation_component.f90.
|
inherited |
Definition at line 55 of file simulation_component.f90.
real(kind=rp), dimension(:), allocatable spectral_error::spectral_error_t::eind_u |
Definition at line 91 of file spectral_error.f90.
real(kind=rp), dimension(:), allocatable spectral_error::spectral_error_t::eind_v |
Definition at line 91 of file spectral_error.f90.
real(kind=rp), dimension(:), allocatable spectral_error::spectral_error_t::eind_w |
Definition at line 91 of file spectral_error.f90.
type(file_t) spectral_error::spectral_error_t::mf_speri |
Definition at line 97 of file spectral_error.f90.
|
inherited |
Definition at line 59 of file simulation_component.f90.
|
inherited |
Definition at line 57 of file simulation_component.f90.
|
inherited |
Definition at line 53 of file simulation_component.f90.
integer spectral_error::spectral_error_t::seri_elr = 0 |
Definition at line 89 of file spectral_error.f90.
integer spectral_error::spectral_error_t::seri_np = 4 |
Definition at line 86 of file spectral_error.f90.
integer spectral_error::spectral_error_t::seri_np_max = 4 |
Definition at line 87 of file spectral_error.f90.
Definition at line 78 of file spectral_error.f90.
Definition at line 82 of file spectral_error.f90.
Definition at line 80 of file spectral_error.f90.
Definition at line 84 of file spectral_error.f90.
real(kind=rp), dimension(:), allocatable spectral_error::spectral_error_t::sig_u |
Definition at line 93 of file spectral_error.f90.
real(kind=rp), dimension(:), allocatable spectral_error::spectral_error_t::sig_v |
Definition at line 93 of file spectral_error.f90.
real(kind=rp), dimension(:), allocatable spectral_error::spectral_error_t::sig_w |
Definition at line 93 of file spectral_error.f90.
type(field_list_t) spectral_error::spectral_error_t::speri_l |
Definition at line 95 of file spectral_error.f90.
Definition at line 68 of file spectral_error.f90.
Definition at line 72 of file spectral_error.f90.
Definition at line 69 of file spectral_error.f90.
Definition at line 73 of file spectral_error.f90.
Definition at line 70 of file spectral_error.f90.
Definition at line 74 of file spectral_error.f90.
type(field_t) spectral_error::spectral_error_t::wk |
Definition at line 76 of file spectral_error.f90.
type(field_writer_t) spectral_error::spectral_error_t::writer |
Definition at line 99 of file spectral_error.f90.