dx dx_dxi dx_deta dy dy_dxi dy_deta
| Type | Intent | Optional | 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 |
pure elemental module function jacobian_square_first(self, i, j, r) result(jacobian) 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) :: jacobian integer(int32) :: ii type(type_dp_vector_3d) :: coordinate jacobian = 0 !! dx select case (i) case (1) select case (j) case (1) !! dx_dxi do ii = 1, self%get_num_nodes() coordinate = self%get_coordinate(ii) jacobian = jacobian + self%dpsi(ii, 1, r) * coordinate%x end do case (2) !! dx_deta do ii = 1, self%get_num_nodes() coordinate = self%get_coordinate(ii) jacobian = jacobian + self%dpsi(ii, 2, r) * coordinate%x end do end select !! dy case (2) select case (j) case (1) !! dy_dxi do ii = 1, self%get_num_nodes() coordinate = self%get_coordinate(ii) jacobian = jacobian + self%dpsi(ii, 1, r) * coordinate%y end do case (2) !! dy_deta do ii = 1, self%get_num_nodes() coordinate = self%get_coordinate(ii) jacobian = jacobian + self%dpsi(ii, 2, r) * coordinate%y end do end select end select end function jacobian_square_first