|
Neko 1.99.7
A portable framework for high-order spectral element flow simulations
|
A simulation component that writes registry fields sampled on labelled boundary zones. The component builds a mask over the requested labelled zones and, at every output, samples the requested quantities at the boundary GLL points. The result is written either as CSV or as HDF5. More...


Public Attributes | |
| type(coef_t), pointer | coef => null() |
| SEM coefficients. | |
| type(boundary_data_t) | bdata |
| Boundary points of the chosen zones, with their geometry. | |
| integer, dimension(:), allocatable | zone_indices |
| Labelled zones to include. | |
| type(field_list_t) | fields |
| Fields sampled directly. | |
| character(len=neko_varname_len), dimension(:), allocatable | col_names |
| Names of the output columns. | |
| type(vector_t) | work |
| Reusable gathered values. | |
| integer | n_local = 0 |
| Number of masked points on this rank. | |
| integer | n_global = 0 |
| Total number of masked points. | |
| integer | n_cols = 0 |
| Number of data columns, excluding time. | |
| real(kind=rp), dimension(:,:), allocatable | local_buffer |
| Local sample buffer (point, column). | |
| real(kind=rp), dimension(:,:), allocatable | local_buffer_t |
Column-blocked transpose of local_buffer. | |
| real(kind=rp), dimension(:,:), allocatable | global_buffer |
| Global sample buffer on rank zero. | |
| integer, dimension(:), allocatable | recvcounts |
| Receive counts for the gather onto rank zero. | |
| integer, dimension(:), allocatable | displs |
| Displacements for the gather onto rank zero. | |
| integer, dimension(:), allocatable | recvcounts_c |
| integer, dimension(:), allocatable | displs_c |
| type(matrix_t) | mat_out |
| Output matrix. | |
| type(vector_t) | vec_out |
| Output vector, used for the HDF5. | |
| type(file_t) | fout |
| The output file. | |
| real(kind=rp) | start_time = 0.0_rp |
| Time after which to start writing. | |
| logical | mesh_has_changed = .false. |
| Whether the mesh geometry changes during the run. | |
| logical | geometry_in_data = .false. |
| Whether the geometry is part of every sample. | |
| logical | output_normals = .false. |
| Whether to output the unit normals. | |
| logical | output_area = .false. |
| Whether to output the surface quadrature weights (area). | |
| logical | append_out = .true. |
Append every sample into shared datasets (.true.), or write each sample into its own Step_N subgroup (.false.) | |
| 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. | |
| character(:), allocatable | name |
| Unique name of the simcomp. | |
Private Member Functions | |
| procedure, pass(this), private | init_common (this, name, coef, zone_indices, fields, output_filename, output_normals, output_area, append_out, start_time) |
| Common part of all constructors. | |
| procedure, pass(this), private | gather_column (this, f, col) |
| Gather a masked quantity into a column of the local buffer. | |
Definition at line 71 of file boundary_data_writer_simcomp.f90.
|
inherited |
| time | The current time. |
Definition at line 91 of file simulation_component.f90.
| procedure, pass(this) boundary_data_writer_simcomp::boundary_data_writer_t::compute_ | ( | class(boundary_data_writer_t), intent(inout) | this, |
| type(time_state_t), intent(in) | time | ||
| ) |
| time | The current time state. |
Definition at line 134 of file boundary_data_writer_simcomp.f90.
|
inherited |
| time | The current time. |
Definition at line 99 of file simulation_component.f90.
| procedure, pass(this) boundary_data_writer_simcomp::boundary_data_writer_t::free | ( | class(boundary_data_writer_t), intent(inout) | this | ) |
Definition at line 132 of file boundary_data_writer_simcomp.f90.
|
pure virtualinherited |
Definition at line 95 of file simulation_component.f90.
|
inherited |
Definition at line 81 of file simulation_component.f90.
|
private |
| f | The source field. |
| col | The destination column. |
Definition at line 136 of file boundary_data_writer_simcomp.f90.
| procedure, pass(this) boundary_data_writer_simcomp::boundary_data_writer_t::init | ( | class(boundary_data_writer_t), intent(inout), target | this, |
| type(json_file), intent(inout) | json, | ||
| class(case_t), intent(inout), target | case | ||
| ) |
| json | JSON object with the parameters. |
| case | The case object. |
Definition at line 122 of file boundary_data_writer_simcomp.f90.
|
pure virtualinherited |
Definition at line 93 of file simulation_component.f90.
|
inherited |
Definition at line 65 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 67 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 67 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 73 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 78 of file simulation_component.f90.
|
private |
| name | The unique name of the simcomp. |
| coef | The SEM coefficients. |
| zone_indices | Labelled zones to include. |
| fields | Names of the registry fields to sample. |
| output_filename | The output file, either .csv or .h5. |
| output_normals | Whether to output the unit normals. |
| output_area | Whether to output the surface quadrature weights. |
| append_out | Whether to append samples to shared datasets. |
| start_time | Time after which to start writing. |
Definition at line 129 of file boundary_data_writer_simcomp.f90.
| generic boundary_data_writer_simcomp::boundary_data_writer_t::init_from_components | ( | class(boundary_data_writer_t), intent(inout) | this, |
| character(len=*), intent(in) | name, | ||
| class(case_t), intent(inout), target | case, | ||
| integer, intent(in) | order, | ||
| character(len=*), intent(in) | preprocess_control, | ||
| real(kind=rp), intent(in) | preprocess_value, | ||
| character(len=*), intent(in) | compute_control, | ||
| real(kind=rp), intent(in) | compute_value, | ||
| character(len=*), intent(in) | output_control, | ||
| real(kind=rp), intent(in) | output_value, | ||
| type(coef_t), intent(inout), target | coef, | ||
| integer, dimension(:), intent(in) | zone_indices, | ||
| character(len=*), dimension(:), intent(in) | fields, | ||
| character(len=*), intent(in) | output_filename, | ||
| logical, intent(in) | output_normals, | ||
| logical, intent(in) | output_area, | ||
| logical, intent(in) | append_out, | ||
| real(kind=rp), intent(in) | start_time | ||
| ) |
| name | The unique name of the simcomp. |
| case | The simulation case object. |
| order | The execution order priority of the simcomp. |
| preprocess_control | Control mode for preprocessing. |
| preprocess_value | Value parameter for preprocessing. |
| compute_control | Control mode for computing. |
| compute_value | Value parameter for computing. |
| output_control | Control mode for output. |
| output_value | Value parameter for output. |
| coef | The SEM coefficients. |
| zone_indices | Labelled zones to include. |
| fields | Names of the registry fields to sample. |
| output_filename | The output file, either .csv or .h5. |
| output_normals | Whether to output the unit normals. |
| output_area | Whether to output the surface quadrature weights. |
| append_out | Whether to append samples to shared datasets. |
| start_time | Time after which to start writing. |
Definition at line 123 of file boundary_data_writer_simcomp.f90.
| generic boundary_data_writer_simcomp::boundary_data_writer_t::init_from_components | ( | class(boundary_data_writer_t), intent(inout) | this, |
| character(len=*), intent(in) | name, | ||
| class(case_t), intent(inout), target | case, | ||
| integer, intent(in) | order, | ||
| type(time_based_controller_t), intent(in) | preprocess_controller, | ||
| type(time_based_controller_t), intent(in) | compute_controller, | ||
| type(time_based_controller_t), intent(in) | output_controller, | ||
| type(coef_t), intent(inout), target | coef, | ||
| integer, dimension(:), intent(in) | zone_indices, | ||
| character(len=*), dimension(:), intent(in) | fields, | ||
| character(len=*), intent(in) | output_filename, | ||
| logical, intent(in) | output_normals, | ||
| logical, intent(in) | output_area, | ||
| logical, intent(in) | append_out, | ||
| real(kind=rp), intent(in) | start_time | ||
| ) |
| name | The unique name of the simcomp. |
| case | The simulation case object. |
| order | The execution order 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. |
| coef | The SEM coefficients. |
| zone_indices | Labelled zones to include. |
| fields | Names of the registry fields to sample. |
| output_filename | The output file, either .csv or .h5. |
| output_normals | Whether to output the unit normals. |
| output_area | Whether to output the surface quadrature weights. |
| append_out | Whether to append samples to shared datasets. |
| start_time | Time after which to start writing. |
Definition at line 123 of file boundary_data_writer_simcomp.f90.
| procedure, pass(this) boundary_data_writer_simcomp::boundary_data_writer_t::init_from_controllers | ( | class(boundary_data_writer_t), intent(inout) | this, |
| character(len=*), intent(in) | name, | ||
| class(case_t), intent(inout), target | case, | ||
| integer, intent(in) | order, | ||
| type(time_based_controller_t), intent(in) | preprocess_controller, | ||
| type(time_based_controller_t), intent(in) | compute_controller, | ||
| type(time_based_controller_t), intent(in) | output_controller, | ||
| type(coef_t), intent(inout), target | coef, | ||
| integer, dimension(:), intent(in) | zone_indices, | ||
| character(len=*), dimension(:), intent(in) | fields, | ||
| character(len=*), intent(in) | output_filename, | ||
| logical, intent(in) | output_normals, | ||
| logical, intent(in) | output_area, | ||
| logical, intent(in) | append_out, | ||
| real(kind=rp), intent(in) | start_time | ||
| ) |
| name | The unique name of the simcomp. |
| case | The simulation case object. |
| order | The execution order 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. |
| coef | The SEM coefficients. |
| zone_indices | Labelled zones to include. |
| fields | Names of the registry fields to sample. |
| output_filename | The output file, either .csv or .h5. |
| output_normals | Whether to output the unit normals. |
| output_area | Whether to output the surface quadrature weights. |
| append_out | Whether to append samples to shared datasets. |
| start_time | Time after which to start writing. |
Definition at line 125 of file boundary_data_writer_simcomp.f90.
| procedure, pass(this) boundary_data_writer_simcomp::boundary_data_writer_t::init_from_controllers_properties | ( | class(boundary_data_writer_t), intent(inout) | this, |
| character(len=*), intent(in) | name, | ||
| class(case_t), intent(inout), target | case, | ||
| integer, intent(in) | order, | ||
| character(len=*), intent(in) | preprocess_control, | ||
| real(kind=rp), intent(in) | preprocess_value, | ||
| character(len=*), intent(in) | compute_control, | ||
| real(kind=rp), intent(in) | compute_value, | ||
| character(len=*), intent(in) | output_control, | ||
| real(kind=rp), intent(in) | output_value, | ||
| type(coef_t), intent(inout), target | coef, | ||
| integer, dimension(:), intent(in) | zone_indices, | ||
| character(len=*), dimension(:), intent(in) | fields, | ||
| character(len=*), intent(in) | output_filename, | ||
| logical, intent(in) | output_normals, | ||
| logical, intent(in) | output_area, | ||
| logical, intent(in) | append_out, | ||
| real(kind=rp), intent(in) | start_time | ||
| ) |
| name | The unique name of the simcomp. |
| case | The simulation case object. |
| order | The execution order priority of the simcomp. |
| preprocess_control | Control mode for preprocessing. |
| preprocess_value | Value parameter for preprocessing. |
| compute_control | Control mode for computing. |
| compute_value | Value parameter for computing. |
| output_control | Control mode for output. |
| output_value | Value parameter for output. |
| coef | The SEM coefficients. |
| zone_indices | Labelled zones to include. |
| fields | Names of the registry fields to sample. |
| output_filename | The output file, either .csv or .h5. |
| output_normals | Whether to output the unit normals. |
| output_area | Whether to output the surface quadrature weights. |
| append_out | Whether to append samples to shared datasets. |
| start_time | Time after which to start writing. |
Definition at line 127 of file boundary_data_writer_simcomp.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 103 of file simulation_component.f90.
|
inherited |
| time | The current time. |
Definition at line 87 of file simulation_component.f90.
|
inherited |
| time | The current time. |
Definition at line 97 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 101 of file simulation_component.f90.
| logical boundary_data_writer_simcomp::boundary_data_writer_t::append_out = .true. |
Definition at line 119 of file boundary_data_writer_simcomp.f90.
| type(boundary_data_t) boundary_data_writer_simcomp::boundary_data_writer_t::bdata |
Definition at line 75 of file boundary_data_writer_simcomp.f90.
Definition at line 52 of file simulation_component.f90.
Definition at line 73 of file boundary_data_writer_simcomp.f90.
| character(len=neko_varname_len), dimension(:), allocatable boundary_data_writer_simcomp::boundary_data_writer_t::col_names |
Definition at line 81 of file boundary_data_writer_simcomp.f90.
|
inherited |
Definition at line 56 of file simulation_component.f90.
| integer, dimension(:), allocatable boundary_data_writer_simcomp::boundary_data_writer_t::displs |
Definition at line 99 of file boundary_data_writer_simcomp.f90.
| integer, dimension(:), allocatable boundary_data_writer_simcomp::boundary_data_writer_t::displs_c |
Definition at line 100 of file boundary_data_writer_simcomp.f90.
| type(field_list_t) boundary_data_writer_simcomp::boundary_data_writer_t::fields |
Definition at line 79 of file boundary_data_writer_simcomp.f90.
| type(file_t) boundary_data_writer_simcomp::boundary_data_writer_t::fout |
Definition at line 106 of file boundary_data_writer_simcomp.f90.
| logical boundary_data_writer_simcomp::boundary_data_writer_t::geometry_in_data = .false. |
Definition at line 112 of file boundary_data_writer_simcomp.f90.
| real(kind=rp), dimension(:,:), allocatable boundary_data_writer_simcomp::boundary_data_writer_t::global_buffer |
Definition at line 95 of file boundary_data_writer_simcomp.f90.
| real(kind=rp), dimension(:,:), allocatable boundary_data_writer_simcomp::boundary_data_writer_t::local_buffer |
Definition at line 91 of file boundary_data_writer_simcomp.f90.
| real(kind=rp), dimension(:,:), allocatable boundary_data_writer_simcomp::boundary_data_writer_t::local_buffer_t |
Definition at line 93 of file boundary_data_writer_simcomp.f90.
| type(matrix_t) boundary_data_writer_simcomp::boundary_data_writer_t::mat_out |
Definition at line 102 of file boundary_data_writer_simcomp.f90.
| logical boundary_data_writer_simcomp::boundary_data_writer_t::mesh_has_changed = .false. |
Definition at line 110 of file boundary_data_writer_simcomp.f90.
| integer boundary_data_writer_simcomp::boundary_data_writer_t::n_cols = 0 |
Definition at line 89 of file boundary_data_writer_simcomp.f90.
| integer boundary_data_writer_simcomp::boundary_data_writer_t::n_global = 0 |
Definition at line 87 of file boundary_data_writer_simcomp.f90.
| integer boundary_data_writer_simcomp::boundary_data_writer_t::n_local = 0 |
Definition at line 85 of file boundary_data_writer_simcomp.f90.
|
inherited |
Definition at line 62 of file simulation_component.f90.
|
inherited |
Definition at line 60 of file simulation_component.f90.
| logical boundary_data_writer_simcomp::boundary_data_writer_t::output_area = .false. |
Definition at line 116 of file boundary_data_writer_simcomp.f90.
|
inherited |
Definition at line 58 of file simulation_component.f90.
| logical boundary_data_writer_simcomp::boundary_data_writer_t::output_normals = .false. |
Definition at line 114 of file boundary_data_writer_simcomp.f90.
|
inherited |
Definition at line 54 of file simulation_component.f90.
| integer, dimension(:), allocatable boundary_data_writer_simcomp::boundary_data_writer_t::recvcounts |
Definition at line 97 of file boundary_data_writer_simcomp.f90.
| integer, dimension(:), allocatable boundary_data_writer_simcomp::boundary_data_writer_t::recvcounts_c |
Definition at line 100 of file boundary_data_writer_simcomp.f90.
| real(kind=rp) boundary_data_writer_simcomp::boundary_data_writer_t::start_time = 0.0_rp |
Definition at line 108 of file boundary_data_writer_simcomp.f90.
| type(vector_t) boundary_data_writer_simcomp::boundary_data_writer_t::vec_out |
Definition at line 104 of file boundary_data_writer_simcomp.f90.
| type(vector_t) boundary_data_writer_simcomp::boundary_data_writer_t::work |
Definition at line 83 of file boundary_data_writer_simcomp.f90.
| integer, dimension(:), allocatable boundary_data_writer_simcomp::boundary_data_writer_t::zone_indices |
Definition at line 77 of file boundary_data_writer_simcomp.f90.