dx dx_dxi dx_deta dy dy_dxi dy_deta
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(type_triangle_second), | 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 |
module function jacobian_triangle_second(self, i, j, xi, eta) result(Jval) implicit none class(type_triangle_second), 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_second