type_square_first Derived Type

type, public, extends(abst_element) :: type_square_first


Inherits

type~~type_square_first~~InheritsGraph type~type_square_first type_square_first type~abst_element abst_element type~type_square_first->type~abst_element type~type_dp_pointer type_dp_pointer type~abst_element->type~type_dp_pointer x, y, z

Components

Type Visibility Attributes Name Initial
integer(kind=int32), public, allocatable :: connectivity(:)

connectivity information

integer(kind=int32), public, allocatable :: connectivity_reordered(:)

reordered connectivity information

real(kind=real64), public, allocatable :: gauss(:,:)

Gauss Quadrature points Coordinate

procedure(abst_get_connectivity), public, pass(self), pointer :: get_connectivity => null()
procedure(abst_interpolate), public, pass(self), pointer :: interpolate => null()
integer(kind=int32), public :: num_gauss

Number of Gauss Quadrature points

real(kind=real64), public, allocatable :: weight(:)

Gauss weight

type(type_dp_pointer), public, allocatable :: x(:)

X coordinate

type(type_dp_pointer), public, allocatable :: y(:)

Y coordinate

type(type_dp_pointer), public, allocatable :: z(:)

Z coordinate


Constructor

public interface type_square_first


Type-Bound Procedures

procedure, public, pass(self) :: dpsi_deta => dpsi_deta_square_first

  • interface

    private module function dpsi_deta_square_first(self, i, xi, eta) result(dpsi)

    Arguments

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

    Return Value real(kind=real64)

procedure, public, pass(self) :: dpsi_dxi => dpsi_dxi_square_first

  • interface

    private module function dpsi_dxi_square_first(self, i, xi, eta) result(dpsi)

    Arguments

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

    Return Value real(kind=real64)

procedure, public, pass(self) :: get_dimension => get_dimension_square_first

  • interface

    private module function get_dimension_square_first(self) result(dimension)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_group => get_group_square_first

  • interface

    private module function get_group_square_first(self) result(group)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_id => get_id_square_first

  • interface

    private module function get_id_square_first(self) result(id)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_num_gauss => get_num_gauss_square_first

  • interface

    private module function get_num_gauss_square_first(self) result(num_gauss)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_num_nodes => get_num_nodes_square_first

  • interface

    private module function get_num_nodes_square_first(self) result(num_nodes)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_order => get_order_square_first

  • interface

    private module function get_order_square_first(self) result(order)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_type => get_type_square_first

  • interface

    private module function get_type_square_first(self) result(type)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: is_inside => is_in_square_first

  • interface

    private module subroutine is_in_square_first(self, px, py, pxi, peta, is_in)

    Arguments

    Type IntentOptional Attributes Name
    class(type_square_first), intent(in) :: self
    real(kind=real64), intent(in) :: px
    real(kind=real64), intent(in) :: py
    real(kind=real64), intent(inout) :: pxi
    real(kind=real64), intent(inout) :: peta
    logical, intent(inout) :: is_in

procedure, public, pass(self) :: jacobian => jacobian_square_first

  • interface

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

    Arguments

    Type IntentOptional Attributes Name
    class(type_square_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)

procedure, public, pass(self) :: jacobian_det => jacobian_det_square_first

  • interface

    private module function jacobian_det_square_first(self, xi, eta) result(J_Det)

    Arguments

    Type IntentOptional Attributes Name
    class(type_square_first), intent(in) :: self
    real(kind=real64), intent(in) :: xi
    real(kind=real64), intent(in) :: eta

    Return Value real(kind=real64)

procedure, public, pass(self) :: psi => psi_square_first

  • interface

    private module function psi_square_first(self, i, xi, eta) result(psi)

    Arguments

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

    Return Value real(kind=real64)

Source Code

    type, extends(abst_element) :: type_square_first
    contains
        procedure, pass(self) :: get_id        => get_id_square_first !&
        procedure, pass(self) :: get_type      => get_type_square_first !&
        procedure, pass(self) :: get_num_nodes => get_num_nodes_square_first !&
        procedure, pass(self) :: get_group     => get_group_square_first !&
        procedure, pass(self) :: get_order     => get_order_square_first !&
        procedure, pass(self) :: get_dimension => get_dimension_square_first !&
        procedure, pass(self) :: get_num_gauss => get_num_gauss_square_first !&
        !----------------------------------------------------------------------------------
        procedure, pass(self) :: psi           => psi_square_first !&
        procedure, pass(self) :: dpsi_dxi      => dpsi_dxi_square_first !&
        procedure, pass(self) :: dpsi_deta     => dpsi_deta_square_first !&
        procedure, pass(self) :: jacobian      => jacobian_square_first !&
        procedure, pass(self) :: jacobian_det  => jacobian_det_square_first !&
        procedure, pass(self) :: is_inside     => is_in_square_first !&
    end type type_square_first