Performs subtraction of integer Eulerian objects.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(eulerian_obj_base), | intent(in) | :: | this |
An Eulerian object |
||
| type(eulerian_obj_i), | intent(in) | :: | in |
An Eulerian object |
Result
impure function eulerian_obj_SubEulerianIObj(this,in) result (res) !> Performs subtraction of integer Eulerian objects. implicit none class(eulerian_obj_base), intent(in) :: this !! An Eulerian object type(eulerian_obj_i), intent(in) :: in !! An Eulerian object class(eulerian_obj_base), allocatable:: res !! Result select type (this) type is (eulerian_obj_r) allocate(eulerian_obj_r:: res) call res%Initialize(this%name,this%block,this%parallel,this%staggering) select type(res) type is (eulerian_obj_r) res%cell = this%cell-real(in%cell,wp) end select type is (eulerian_obj_i) allocate(eulerian_obj_i:: res) call res%Initialize(this%name,this%block,this%parallel,this%staggering) select type(res) type is (eulerian_obj_i) res%cell = this%cell-in%cell end select class default call this%parallel%Stop("Error performing addition of Eulerian object") end select return end function eulerian_obj_SubEulerianIObj