reorder_base Subroutine

public subroutine reorder_base(self, u_, u, direction)

reorder subroutines are straightforward, they rearrange data into our specialist data structure so that regardless of the direction tridiagonal systems are solved efficiently and fast.

Type Bound

base_backend_t

Arguments

Type IntentOptional Attributes Name
class(base_backend_t) :: self
class(field_t), intent(inout) :: u_
class(field_t), intent(in) :: u
integer, intent(in) :: direction

Calls

proc~~reorder_base~~CallsGraph proc~reorder_base m_base_backend::base_backend_t%reorder_base proc~abort_run m_logger::abort_run proc~reorder_base->proc~abort_run interface~str m_logger::str proc~abort_run->interface~str mpi_abort mpi_abort proc~abort_run->mpi_abort mpi_barrier mpi_barrier proc~abort_run->mpi_barrier mpi_comm_rank mpi_comm_rank proc~abort_run->mpi_comm_rank mpi_comm_size mpi_comm_size proc~abort_run->mpi_comm_size mpi_finalized mpi_finalized proc~abort_run->mpi_finalized mpi_initialized mpi_initialized proc~abort_run->mpi_initialized

Called by

proc~~reorder_base~~CalledByGraph proc~reorder_base m_base_backend::base_backend_t%reorder_base none~apply_sgs_stress m_les::les_t%apply_sgs_stress none~apply_sgs_stress->proc~reorder_base proc~set_field_data m_base_backend::base_backend_t%set_field_data none~apply_sgs_stress->proc~set_field_data proc~compute_derived_fields m_postprocess::compute_derived_fields proc~compute_derived_fields->proc~reorder_base proc~curl m_vector_calculus::vector_calculus_t%curl proc~curl->proc~reorder_base proc~divergence_v2c m_vector_calculus::vector_calculus_t%divergence_v2c proc~divergence_v2c->proc~reorder_base proc~filter_in_dir m_solver::filter_in_dir proc~filter_in_dir->proc~reorder_base proc~get_field_data m_base_backend::base_backend_t%get_field_data proc~get_field_data->proc~reorder_base proc~gradient_c2v m_vector_calculus::vector_calculus_t%gradient_c2v proc~gradient_c2v->proc~reorder_base proc~interpl_c2v m_vector_calculus::vector_calculus_t%interpl_c2v proc~interpl_c2v->proc~reorder_base proc~laplacian m_vector_calculus::vector_calculus_t%laplacian proc~laplacian->proc~reorder_base proc~poisson_fft m_solver::poisson_fft proc~poisson_fft->proc~reorder_base proc~set_field_data->proc~reorder_base proc~transeq_default m_solver::transeq_default proc~transeq_default->proc~reorder_base proc~transeq_species m_solver::solver_t%transeq_species proc~transeq_default->proc~transeq_species proc~apply_les m_solver::solver_t%apply_les proc~transeq_default->proc~apply_les proc~transeq_lowmem m_solver::transeq_lowmem proc~transeq_lowmem->proc~reorder_base proc~transeq_lowmem->proc~transeq_species proc~transeq_lowmem->proc~apply_les proc~transeq_species->proc~reorder_base none~build_damping m_abl::abl_t%build_damping none~build_damping->proc~set_field_data none~handle_checkpoint_step m_checkpoint_manager::checkpoint_manager_t%handle_checkpoint_step none~handle_checkpoint_step->proc~get_field_data proc~setup_field_arrays m_io_field_utils::setup_field_arrays none~handle_checkpoint_step->proc~setup_field_arrays none~handle_restart m_checkpoint_manager::checkpoint_manager_t%handle_restart none~handle_restart->proc~set_field_data none~initialise m_abl::abl_t%initialise none~initialise->proc~set_field_data none~update~3 m_stats::stats_manager_t%update none~update~3->proc~get_field_data proc~apply_les->none~apply_sgs_stress proc~compute_pressure_vert m_postprocess::compute_pressure_vert proc~compute_pressure_vert->proc~interpl_c2v proc~curl~2 m_solver::solver_t%curl proc~curl~2->proc~curl proc~define_bc_channel m_case_channel::case_channel_t%define_BC_channel proc~define_bc_channel->proc~set_field_data proc~define_bc_cylinder m_case_cylinder::case_cylinder_t%define_BC_cylinder proc~define_bc_cylinder->proc~set_field_data proc~divergence_v2p m_solver::solver_t%divergence_v2p proc~divergence_v2p->proc~divergence_v2c proc~filter_field m_solver::filter_field proc~filter_field->proc~filter_in_dir proc~gradient_p2v m_solver::solver_t%gradient_p2v proc~gradient_p2v->proc~gradient_c2v proc~init_adm m_adm::adm_t%init_adm proc~init_adm->proc~set_field_data proc~initial_conditions_channel m_case_channel::case_channel_t%initial_conditions_channel proc~initial_conditions_channel->proc~set_field_data proc~initial_conditions_cylinder m_case_cylinder::case_cylinder_t%initial_conditions_cylinder proc~initial_conditions_cylinder->proc~set_field_data proc~initial_conditions_wind_turbine m_case_wind_turbine::case_wind_turbine_t%initial_conditions_wind_turbine proc~initial_conditions_wind_turbine->proc~set_field_data proc~run m_base_case::base_case_t%run proc~run->proc~compute_derived_fields proc~run->proc~compute_pressure_vert none~handle_io_step m_io_manager::io_manager_t%handle_io_step proc~run->none~handle_io_step none~update_stats m_io_manager::io_manager_t%update_stats proc~run->none~update_stats proc~apply_spatial_filter m_solver::solver_t%apply_spatial_filter proc~run->proc~apply_spatial_filter proc~pressure_correction m_solver::solver_t%pressure_correction proc~run->proc~pressure_correction proc~scalar_product_omp m_omp_backend::omp_backend_t%scalar_product_omp proc~scalar_product_omp->proc~get_field_data proc~set_init m_base_case::base_case_t%set_init proc~set_init->proc~set_field_data proc~setup_field_arrays->proc~get_field_data none~apply_damping m_abl::abl_t%apply_damping none~apply_damping->none~build_damping none~handle_io_step->none~handle_checkpoint_step none~handle_snapshot_step m_snapshot_manager::snapshot_manager_t%handle_snapshot_step none~handle_io_step->none~handle_snapshot_step none~handle_restart~2 m_io_manager::io_manager_t%handle_restart none~handle_restart~2->none~handle_restart none~handle_snapshot_step->proc~setup_field_arrays none~update_stats->none~update~3 proc~apply_spatial_filter->proc~filter_field proc~initial_conditions_abl m_case_abl::case_abl_t%initial_conditions_abl proc~initial_conditions_abl->none~initialise proc~initial_conditions_tgv m_case_tgv::case_tgv_t%initial_conditions_tgv proc~initial_conditions_tgv->proc~set_init proc~pressure_correction->proc~divergence_v2p proc~pressure_correction->proc~gradient_p2v proc~write_step m_monitoring::monitoring_t%write_step proc~write_step->proc~curl~2 proc~write_step->proc~divergence_v2p program~xcompact xcompact program~xcompact->proc~run none~apply_forcing m_abl::abl_t%apply_forcing none~apply_forcing->none~apply_damping proc~case_init m_base_case::base_case_t%case_init proc~case_init->none~handle_restart~2 proc~postprocess_abl m_case_abl::case_abl_t%postprocess_abl proc~postprocess_abl->proc~write_step proc~postprocess_channel m_case_channel::case_channel_t%postprocess_channel proc~postprocess_channel->proc~write_step proc~postprocess_cylinder m_case_cylinder::case_cylinder_t%postprocess_cylinder proc~postprocess_cylinder->proc~write_step proc~postprocess_generic m_case_generic::case_generic_t%postprocess_generic proc~postprocess_generic->proc~write_step proc~postprocess_tgv m_case_tgv::case_tgv_t%postprocess_tgv proc~postprocess_tgv->proc~write_step proc~postprocess_wind_turbine m_case_wind_turbine::case_wind_turbine_t%postprocess_wind_turbine proc~postprocess_wind_turbine->proc~write_step proc~case_abl_init m_case_abl::case_abl_init proc~case_abl_init->proc~case_init proc~case_channel_init m_case_channel::case_channel_init proc~case_channel_init->proc~case_init proc~case_cylinder_init m_case_cylinder::case_cylinder_init proc~case_cylinder_init->proc~case_init proc~case_generic_init m_case_generic::case_generic_init proc~case_generic_init->proc~case_init proc~case_tgv_init m_case_tgv::case_tgv_init proc~case_tgv_init->proc~case_init proc~case_wind_turbine_init m_case_wind_turbine::case_wind_turbine_init proc~case_wind_turbine_init->proc~case_init proc~forcings_abl m_case_abl::case_abl_t%forcings_abl proc~forcings_abl->none~apply_forcing interface~case_abl_t m_case_abl::case_abl_t interface~case_abl_t->proc~case_abl_init interface~case_channel_t m_case_channel::case_channel_t interface~case_channel_t->proc~case_channel_init interface~case_cylinder_t m_case_cylinder::case_cylinder_t interface~case_cylinder_t->proc~case_cylinder_init interface~case_generic_t m_case_generic::case_generic_t interface~case_generic_t->proc~case_generic_init interface~case_tgv_t m_case_tgv::case_tgv_t interface~case_tgv_t->proc~case_tgv_init interface~case_wind_turbine_t m_case_wind_turbine::case_wind_turbine_t interface~case_wind_turbine_t->proc~case_wind_turbine_init