type_side_first Derived Type

type, public, extends(abst_side) :: type_side_first


Inherits

type~~type_side_first~~InheritsGraph type~type_side_first type_side_first type~abst_side abst_side type~type_side_first->type~abst_side type~abst_mesh abst_mesh type~abst_side->type~abst_mesh type~type_dp_pointer type_dp_pointer type~abst_mesh->type~type_dp_pointer x, y, z type~type_dp_vector_3d type_dp_vector_3d type~abst_mesh->type~type_dp_vector_3d gauss

Constructor

public interface type_side_first


Type-Bound Procedures

procedure, public, pass(self) :: dlerp

  • private pure function dlerp(self, r, value) result(val)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_mesh), intent(in) :: self
    type(type_dp_vector_3d), intent(in) :: r
    real(kind=real64), intent(in) :: value(:)

    Return Value type(type_dp_vector_3d)

procedure, public, pass(self) :: dpsi => dpsi_side_first

  • interface

    private pure elemental module function dpsi_side_first(self, i, j, r) result(dpsi)

    Arguments

    Type IntentOptional Attributes Name
    class(type_side_first), intent(in) :: self
    integer(kind=int32), intent(in) :: i
    integer(kind=int32), intent(in) :: j
    type(type_dp_vector_3d), intent(in) :: r

    Return Value real(kind=real64)

procedure, public, pass(self) :: get_connectivity

  • private function get_connectivity(self) result(connectivity)

    Arguments

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

    Return Value integer(kind=int32), dimension(:), pointer

procedure, public, pass(self) :: get_coordinate

  • private pure function get_coordinate(self, index) result(coordinate)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_mesh), intent(in) :: self
    integer(kind=int32), intent(in) :: index

    Return Value type(type_dp_vector_3d)

procedure, public, pass(self) :: get_dimension

  • private pure function get_dimension(self) result(dimension)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_gauss

  • private function get_gauss(self) result(gauss)

    Arguments

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

    Return Value type(type_dp_vector_3d), dimension(:), pointer

procedure, public, pass(self) :: get_geometry => get_length_side_first

  • interface

    private pure module function get_length_side_first(self) result(length)

    Arguments

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

    Return Value real(kind=real64)

procedure, public, pass(self) :: get_group

  • private pure function get_group(self) result(group)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_id

  • private pure function get_id(self) result(id)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_num_gauss

  • private pure function get_num_gauss(self) result(num_gauss)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_num_nodes

  • private pure function get_num_nodes(self) result(num_nodes)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_order

  • private pure function get_order(self) result(order)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_type

  • private pure function get_type(self) result(type)

    Arguments

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

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_weight

  • private function get_weight(self) result(weight)

    Arguments

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

    Return Value real(kind=real64), dimension(:), pointer

procedure, public, pass(self) :: initialize => initialize_abst_mesh

  • private subroutine initialize_abst_mesh(self, id, type, group, dimension, order, num_nodes, connectivity, num_gauss, weight, gauss, global_coordinate)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_mesh), intent(inout) :: self
    integer(kind=int32), intent(in) :: id
    integer(kind=int32), intent(in) :: type
    integer(kind=int32), intent(in) :: group
    integer(kind=int32), intent(in) :: dimension
    integer(kind=int32), intent(in) :: order
    integer(kind=int32), intent(in) :: num_nodes
    integer(kind=int32), intent(in) :: connectivity(:)
    integer(kind=int32), intent(in) :: num_gauss
    real(kind=real64), intent(in) :: weight(:)
    real(kind=real64), intent(in) :: gauss(:,:)
    type(type_dp_3d), intent(in), pointer :: global_coordinate

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

  • interface

    private pure elemental module function jacobian_side_first(self, i, j, r) result(jacobian)

    Arguments

    Type IntentOptional Attributes Name
    class(type_side_first), intent(in) :: self
    integer(kind=int32), intent(in) :: i
    integer(kind=int32), intent(in) :: j
    type(type_dp_vector_3d), intent(in) :: r

    Return Value real(kind=real64)

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

  • interface

    private pure elemental module function jacobian_det_side_first(self, r) result(jacobian_det)

    Arguments

    Type IntentOptional Attributes Name
    class(type_side_first), intent(in) :: self
    type(type_dp_vector_3d), intent(in) :: r

    Return Value real(kind=real64)

procedure, public, pass(self) :: lerp

  • private pure function lerp(self, r, value) result(val)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_mesh), intent(in) :: self
    type(type_dp_vector_3d), intent(in) :: r
    real(kind=real64), intent(in) :: value(:)

    Return Value real(kind=real64)

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

  • interface

    private pure elemental module function psi_side_first(self, i, r) result(psi)

    Arguments

    Type IntentOptional Attributes Name
    class(type_side_first), intent(in) :: self
    integer(kind=int32), intent(in) :: i
    type(type_dp_vector_3d), intent(in) :: r

    Return Value real(kind=real64)

Source Code

    type, extends(abst_side) :: type_side_first
    contains
        procedure, pass(self) :: get_geometry => get_length_side_first !&
        procedure, pass(self) :: psi          => psi_side_first !&
        procedure, pass(self) :: dpsi         => dpsi_side_first !&
        procedure, pass(self) :: jacobian     => jacobian_side_first !&
        procedure, pass(self) :: jacobian_det => jacobian_det_side_first !&
    end type type_side_first