jacobian_triangle_first Module Function

module function jacobian_triangle_first(self, i, j, xi, eta) result(Jval)

dx dx_dxi dx_deta dy dy_dxi dy_deta

Arguments

Type IntentOptional Attributes Name
class(type_triangle_first), intent(in) :: self
integer(kind=int32), intent(in) :: i
integer(kind=int32), intent(in) :: j
real(kind=real64), intent(in) :: xi
real(kind=real64), intent(in) :: eta

Return Value real(kind=real64)


Calls

proc~~jacobian_triangle_first~~CallsGraph proc~jacobian_triangle_first jacobian_triangle_first interface~dpsi_deta_triangle_first type_triangle_first%dpsi_deta_triangle_first proc~jacobian_triangle_first->interface~dpsi_deta_triangle_first interface~dpsi_dxi_triangle_first type_triangle_first%dpsi_dxi_triangle_first proc~jacobian_triangle_first->interface~dpsi_dxi_triangle_first proc~dpsi_deta_triangle_first dpsi_deta_triangle_first interface~dpsi_deta_triangle_first->proc~dpsi_deta_triangle_first proc~dpsi_dxi_triangle_first dpsi_dxi_triangle_first interface~dpsi_dxi_triangle_first->proc~dpsi_dxi_triangle_first

Called by

proc~~jacobian_triangle_first~~CalledByGraph proc~jacobian_triangle_first jacobian_triangle_first interface~jacobian_triangle_first type_triangle_first%jacobian_triangle_first interface~jacobian_triangle_first->proc~jacobian_triangle_first proc~is_in_triangle_first is_in_triangle_first proc~is_in_triangle_first->interface~jacobian_triangle_first interface~jacobian_det_triangle_first type_triangle_first%jacobian_det_triangle_first proc~is_in_triangle_first->interface~jacobian_det_triangle_first proc~jacobian_det_triangle_first jacobian_det_triangle_first proc~jacobian_det_triangle_first->interface~jacobian_triangle_first interface~is_in_triangle_first type_triangle_first%is_in_triangle_first interface~is_in_triangle_first->proc~is_in_triangle_first interface~jacobian_det_triangle_first->proc~jacobian_det_triangle_first

Source Code

    module function jacobian_triangle_first(self, i, j, xi, eta) result(Jval)
        implicit none
        class(type_triangle_first), intent(in) :: self
        integer(int32), intent(in) :: i, j
        real(real64), intent(in) :: xi, eta

        real(real64) :: Jval
        integer(int32) :: ii, jlocal

        Jval = 0
        !! dx
        select case (i)
        case (1)
            select case (j)
            case (1)
                !! dx_dxi
                do ii = 1, self%num_nodes
                    Jval = Jval + self%dpsi_dxi(ii, xi, eta) * self%x(ii)%val
                end do
            case (2)
                !! dx_deta
                do ii = 1, self%num_nodes
                    Jval = Jval + self%dpsi_deta(ii, xi, eta) * self%x(ii)%val
                end do
            end select

        !! dy
        case (2)
            select case (j)
            case (1)
                !! dy_dxi
                do ii = 1, self%num_nodes
                    Jval = Jval + self%dpsi_dxi(ii, xi, eta) * self%y(ii)%val
                end do
            case (2)
                !! dy_deta
                do ii = 1, self%num_nodes
                    Jval = Jval + self%dpsi_deta(ii, xi, eta) * self%y(ii)%val
                end do
            end select
        end select

    end function jacobian_triangle_first