apply_spatial_filter Subroutine

public subroutine apply_spatial_filter(self)

Apply the explicit low-pass filter to the velocity, as Incompact3d does for wall-modelled ABL runs (ifilter=1, C_filter).

Compact schemes cannot dissipate the 2dx mode and the staggered pressure projection cannot see it, yet the collocated derivatives in the skew-symmetric convection do. Left alone that mode drives the collocated divergence away from zero, and the udiv(u) half of the convection then acts as a spurious momentum source.

Type Bound

solver_t

Arguments

Type IntentOptional Attributes Name
class(solver_t), intent(inout) :: self

Calls

proc~~apply_spatial_filter~~CallsGraph proc~apply_spatial_filter m_solver::solver_t%apply_spatial_filter proc~filter_field m_solver::filter_field proc~apply_spatial_filter->proc~filter_field proc~filter_in_dir m_solver::filter_in_dir proc~filter_field->proc~filter_in_dir proc~abort_run m_logger::abort_run proc~filter_in_dir->proc~abort_run proc~get_block m_allocator::allocator_t%get_block proc~filter_in_dir->proc~get_block proc~release_block m_allocator::allocator_t%release_block proc~filter_in_dir->proc~release_block proc~reorder_base m_base_backend::base_backend_t%reorder_base proc~filter_in_dir->proc~reorder_base proc~tds_solve_base m_base_backend::base_backend_t%tds_solve_base proc~filter_in_dir->proc~tds_solve_base proc~veccopy_base m_base_backend::base_backend_t%veccopy_base proc~filter_in_dir->proc~veccopy_base 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 proc~create_block m_allocator::allocator_t%create_block proc~get_block->proc~create_block proc~set_shape m_field::field_t%set_shape proc~get_block->proc~set_shape proc~reorder_base->proc~abort_run proc~tds_solve_base->proc~abort_run proc~veccopy_base->proc~abort_run

Called by

proc~~apply_spatial_filter~~CalledByGraph proc~apply_spatial_filter m_solver::solver_t%apply_spatial_filter proc~run m_base_case::base_case_t%run proc~run->proc~apply_spatial_filter program~xcompact xcompact program~xcompact->proc~run