get_area_square_first Module Function

pure module function get_area_square_first(self) result(area)

Arguments

Type IntentOptional Attributes Name
class(type_square_first), intent(in) :: self

Return Value real(kind=real64)


Calls

proc~~get_area_square_first~~CallsGraph proc~get_area_square_first get_area_square_first interface~jacobian_det_square_first type_square_first%jacobian_det_square_first proc~get_area_square_first->interface~jacobian_det_square_first proc~jacobian_det_square_first jacobian_det_square_first interface~jacobian_det_square_first->proc~jacobian_det_square_first interface~jacobian_square_first type_square_first%jacobian_square_first proc~jacobian_det_square_first->interface~jacobian_square_first proc~jacobian_square_first jacobian_square_first interface~jacobian_square_first->proc~jacobian_square_first interface~dpsi_square_first type_square_first%dpsi_square_first proc~jacobian_square_first->interface~dpsi_square_first proc~get_coordinate abst_mesh%get_coordinate proc~jacobian_square_first->proc~get_coordinate proc~get_num_nodes~3 abst_mesh%get_num_nodes proc~jacobian_square_first->proc~get_num_nodes~3 proc~dpsi_square_first dpsi_square_first interface~dpsi_square_first->proc~dpsi_square_first

Called by

proc~~get_area_square_first~~CalledByGraph proc~get_area_square_first get_area_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 module function get_area_square_first(self) result(area)
        implicit none
        class(type_square_first), intent(in) :: self
        real(real64) :: area

        type(type_dp_vector_3d) :: r
        real(real64), parameter :: gauss(2) = [-sqrt(1.0d0 / 3.0d0), sqrt(1.0d0 / 3.0d0)]
        integer(int32) :: i, j

        area = 0.0d0
        r%z = 0.0d0

        do i = 1, 2
            r%x = gauss(i)
            do j = 1, 2
                r%y = gauss(j)
                area = area + self%jacobian_det(r)
            end do
        end do

    end function get_area_square_first