filter_field Subroutine

public subroutine filter_field(self, f, xdirps, ydirps, zdirps, component)

Filter one velocity component in all three directions, in place.

Across a free-slip boundary the component along that direction is odd and the other two are even, the same parity split the first derivatives use, so component selects which operator each direction applies.

Arguments

Type IntentOptional Attributes Name
class(solver_t), intent(inout) :: self
class(field_t), intent(inout) :: f
type(dirps_t), intent(in) :: xdirps
type(dirps_t), intent(in) :: ydirps
type(dirps_t), intent(in) :: zdirps
integer, intent(in) :: component

Calls

proc~~filter_field~~CallsGraph proc~filter_field m_solver::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~~filter_field~~CalledByGraph proc~filter_field m_solver::filter_field proc~apply_spatial_filter m_solver::solver_t%apply_spatial_filter proc~apply_spatial_filter->proc~filter_field proc~run m_base_case::base_case_t%run proc~run->proc~apply_spatial_filter program~xcompact xcompact program~xcompact->proc~run