Filters a quantity to the Eulerian grid.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(solid_set), | intent(inout) | :: | this |
A collection of solids |
||
| character(len=*), | intent(in) | :: | var |
Variable to compute |
||
| type(eulerian_obj_r), | intent(inout) | :: | field |
Filtered quantity |
impure subroutine solid_set_Filter(this,var,field) !> Filters a quantity to the Eulerian grid. implicit none class(solid_set), intent(inout) :: this !! A collection of solids character(len=*), intent(in) :: var !! Variable to compute type(eulerian_obj_r), intent(inout) :: field !! Filtered quantity ! Work variables type(eulerian_obj_r) :: my_field integer :: n ! Initialize value to zero field%cell=0.0_WP ! Create a temporary Eulerian structure, cell centered call my_field%Initialize('tmp',this%block,this%parallel,0) do n=1,this%count ! Filter quantity call this%p(n)%Filter(var,my_field) ! Add up cell values field%cell=field%cell+my_field%cell end do ! Finalize tmp variable call my_field%Finalize return end subroutine solid_set_Filter