eulerian_obj_AddEulerianRObj Function

private impure function eulerian_obj_AddEulerianRObj(this, in) result(res)

Performs addition of real Eulerian objects.

Type Bound

eulerian_obj_base

Arguments

Type IntentOptional Attributes Name
class(eulerian_obj_base), intent(in) :: this

An Eulerian object

type(eulerian_obj_r), intent(in) :: in

An Eulerian object

Return Value type(eulerian_obj_r)

Result


Calls

proc~~eulerian_obj_addeulerianrobj~~CallsGraph proc~eulerian_obj_addeulerianrobj eulerian_obj_base%eulerian_obj_AddEulerianRObj proc~eulerian_obj_init eulerian_obj_base%eulerian_obj_Init proc~eulerian_obj_addeulerianrobj->proc~eulerian_obj_init

Source Code

    impure function eulerian_obj_AddEulerianRObj(this,in) result (res)
      !> Performs addition of real Eulerian objects.
      implicit none
      class(eulerian_obj_base), intent(in) :: this                             !! An Eulerian object
      type(eulerian_obj_r),     intent(in) :: in                               !! An Eulerian object
      type(eulerian_obj_r)                 :: res                              !! Result

      call res%Initialize(this%name,this%block,this%parallel,this%staggering)
      select type (this)
      type is (eulerian_obj_r)
          res%cell = this%cell+in%cell

      type is (eulerian_obj_i)
          res%cell = real(this%cell,wp)+in%cell

      class default
        call this%parallel%Stop("Error performing addition of Eulerian object")
      end select

      return
    end function eulerian_obj_AddEulerianRObj