tds_solve_base Subroutine

public subroutine tds_solve_base(self, du, u, tdsops)

Applies a tridiagonal operator to u, the exact algorithm used being decided at runtime. Backend implementations are responsible from directing calls to tds_solve to the correct algorithm.

Type Bound

base_backend_t

Arguments

Type IntentOptional Attributes Name
class(base_backend_t) :: self
class(field_t), intent(inout) :: du
class(field_t), intent(in) :: u
class(tdsops_t), intent(in) :: tdsops

Calls

proc~~tds_solve_base~~CallsGraph proc~tds_solve_base m_base_backend::base_backend_t%tds_solve_base proc~abort_run m_logger::abort_run proc~tds_solve_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~~tds_solve_base~~CalledByGraph proc~tds_solve_base m_base_backend::base_backend_t%tds_solve_base none~apply_sgs_stress m_les::les_t%apply_sgs_stress none~apply_sgs_stress->proc~tds_solve_base proc~compute_derived_fields m_postprocess::compute_derived_fields proc~compute_derived_fields->proc~tds_solve_base proc~curl m_vector_calculus::vector_calculus_t%curl proc~curl->proc~tds_solve_base proc~divergence_v2c m_vector_calculus::vector_calculus_t%divergence_v2c proc~divergence_v2c->proc~tds_solve_base proc~filter_in_dir m_solver::filter_in_dir proc~filter_in_dir->proc~tds_solve_base proc~gradient_c2v m_vector_calculus::vector_calculus_t%gradient_c2v proc~gradient_c2v->proc~tds_solve_base proc~interpl_c2v m_vector_calculus::vector_calculus_t%interpl_c2v proc~interpl_c2v->proc~tds_solve_base proc~laplacian m_vector_calculus::vector_calculus_t%laplacian proc~laplacian->proc~tds_solve_base proc~apply_les m_solver::solver_t%apply_les 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~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~run m_base_case::base_case_t%run proc~run->proc~compute_derived_fields proc~run->proc~compute_pressure_vert 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~apply_spatial_filter->proc~filter_field proc~pressure_correction->proc~divergence_v2p proc~pressure_correction->proc~gradient_p2v proc~transeq_default m_solver::transeq_default proc~transeq_default->proc~apply_les proc~transeq_lowmem m_solver::transeq_lowmem proc~transeq_lowmem->proc~apply_les 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 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