tem_eval_polygon_material_scal Function

public function tem_eval_polygon_material_scal(me, coord, n) result(res)

Evaluate a list of points, and return first component of inval for each that is within me and first component of outval for all other points.

Arguments

Type IntentOptional Attributes Name
type(tem_polygon_material_type), intent(in) :: me

Description of the polygon to evaluate

real(kind=rk), intent(in) :: coord(n,3)

Coordinates for which the function should be evaluated.

integer, intent(in) :: n

Number of points to get a value for.

Return Value real(kind=rk), (n)

Resulting value at each point.


Source Code

  function tem_eval_polygon_material_scal(me, coord, n) result(res)
    ! ----------------------------------------------------------------------
    !> Description of the polygon to evaluate
    type(tem_polygon_material_type), intent(in) :: me

    !> Number of points to get a value for.
    integer, intent(in) :: n

    !> Coordinates for which the function should be evaluated.
    real(kind=rk), intent(in) :: coord(n,3)

    !> Resulting value at each point.
    real(kind=rk) :: res(n)
    ! ----------------------------------------------------------------------
    real(kind=rk) :: loc(me%nComponents)
    integer :: iPoint, iPoly
    ! ----------------------------------------------------------------------
    do iPoly = 1, me%nPoly
      do iPoint=1,n
        loc = tem_polygon_material_value(      &
          & me          = me%poly_list(ipoly), &
          & nComponents = me%nComponents,      &
          & inVal       = me%inVal,            &
          & outVal      = me%outVal,           &
          & point       = coord(iPoint,:2)     )
        res(iPoint) = loc(1)
      end do
    end do 
  end function tem_eval_polygon_material_scal