dpsi_square_first Module Function

pure elemental module function dpsi_square_first(self, i, j, r) result(dpsi)

Arguments

Type IntentOptional Attributes Name
class(type_square_first), intent(in) :: self
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j
type(type_dp_vector_3d), intent(in) :: r

Return Value real(kind=real64)


Called by

proc~~dpsi_square_first~~CalledByGraph proc~dpsi_square_first dpsi_square_first interface~dpsi_square_first type_square_first%dpsi_square_first interface~dpsi_square_first->proc~dpsi_square_first proc~jacobian_square_first jacobian_square_first proc~jacobian_square_first->interface~dpsi_square_first interface~jacobian_square_first type_square_first%jacobian_square_first interface~jacobian_square_first->proc~jacobian_square_first proc~is_in_square_first is_in_square_first proc~is_in_square_first->interface~jacobian_square_first interface~jacobian_det_square_first type_square_first%jacobian_det_square_first proc~is_in_square_first->interface~jacobian_det_square_first proc~jacobian_det_square_first jacobian_det_square_first proc~jacobian_det_square_first->interface~jacobian_square_first interface~is_in_square_first type_square_first%is_in_square_first interface~is_in_square_first->proc~is_in_square_first interface~jacobian_det_square_first->proc~jacobian_det_square_first proc~get_area_square_first get_area_square_first proc~get_area_square_first->interface~jacobian_det_square_first interface~get_area_square_first type_square_first%get_area_square_first interface~get_area_square_first->proc~get_area_square_first

Source Code

    pure elemental module function dpsi_square_first(self, i, j, r) result(dpsi)
        implicit none
        class(type_square_first), intent(in) :: self
        integer(int32), intent(in) :: i
        integer(int32), intent(in) :: j
        type(type_dp_vector_3d), intent(in) :: r
        real(real64) :: dpsi

        select case (j)
        case (1)
            select case (i)
            case (1)
                dpsi = -0.25d0 * (1.0d0 - r%y)
            case (2)
                dpsi = 0.25d0 * (1.0d0 - r%y)
            case (3)
                dpsi = 0.25d0 * (1.0d0 + r%y)
            case (4)
                dpsi = -0.25d0 * (1.0d0 + r%y)
            case default
                dpsi = 0.0d0
            end select
        case (2)
            select case (i)
            case (1)
                dpsi = -0.25d0 * (1.0d0 - r%x)
            case (2)
                dpsi = -0.25d0 * (1.0d0 + r%x)
            case (3)
                dpsi = 0.25d0 * (1.0d0 + r%x)
            case (4)
                dpsi = 0.25d0 * (1.0d0 - r%x)
            case default
                dpsi = 0.0d0
            end select
        end select
    end function dpsi_square_first