output Derived Type

type, public :: output


Inherited by

type~~output~~InheritedByGraph type~output output type~vtk_output_ vtk_output_ type~vtk_output_->type~output type~exodus_output_ exodus_output_ type~exodus_output_->type~output

Contents

Source Code


Components

TypeVisibility AttributesNameInitial
character(len=:), private, allocatable:: basepath
integer, private :: fmt
character(len=:), private, allocatable:: path

Type-Bound Procedures

procedure, public, nopass :: create_output

  • interface

    public module function create_output(input_file, sec) result(out)

    Arguments

    Type IntentOptional AttributesName
    character(len=*), intent(in) :: input_file
    character(len=*), intent(in) :: sec

    Return Value class(output), allocatable

procedure, public :: fmt_

  • interface

    private module function fmt_(out)

    Arguments

    Type IntentOptional AttributesName
    class(output), intent(in) :: out

    Return Value integer

procedure, public, nopass :: get_scalar_field

  • interface

    private module function get_scalar_field(fld) result(x_glob)

    Returns a scalar field

    Arguments

    Type IntentOptional AttributesName
    type(scalar_field), intent(in) :: fld

    Return Value real(kind=psb_dpk_), allocatable, (:)

procedure, public, nopass :: get_vector_field

  • interface

    private module function get_vector_field(fld) result(x_glob)

    Returns a vector field

    Arguments

    Type IntentOptional AttributesName
    type(vector_field), intent(in) :: fld

    Return Value real(kind=psb_dpk_), allocatable, (:,:)

generic, public :: nemo_sizeof => nemo_output_sizeof

procedure, public :: path_

  • interface

    private module function path_(out) result(path)

    Arguments

    Type IntentOptional AttributesName
    class(output), intent(in) :: out

    Return Value character(len=:), allocatable

generic, public :: set_output_path => set_output_path_h, set_output_path_iter

generic, public :: write => write_output

procedure, private :: nemo_output_sizeof

  • interface

    private module function nemo_output_sizeof(obj)

    Arguments

    Type IntentOptional AttributesName
    class(output), intent(in) :: obj

    Return Value integer(kind=nemo_int_long_)

procedure, private :: set_output_path_h

  • interface

    private module subroutine set_output_path_h(out, path)

    Arguments

    Type IntentOptional AttributesName
    class(output), intent(inout) :: out
    character(len=*), intent(in) :: path

procedure, private :: set_output_path_iter

  • interface

    private module subroutine set_output_path_iter(out, iter)

    Arguments

    Type IntentOptional AttributesName
    class(output), intent(inout) :: out
    type(iterating), intent(in) :: iter

procedure, private :: write_output

  • interface

    private module subroutine write_output(out, msh, sfield, vfield, iter)

    This subroutine is a generic writer

    Arguments

    Type IntentOptional AttributesName
    class(output), intent(inout) :: out

    DT of output file info

    type(mesh), intent(in) :: msh

    DT of mesh info

    type(scalar_field), intent(in), optional dimension(:):: sfield

    DT of scalar info

    type(vector_field), intent(in), optional dimension(:):: vfield

    DT of vector info

    type(iterating), intent(in), optional :: iter

    DT of iteration info

Source Code

    TYPE output
        PRIVATE
        INTEGER :: fmt
        CHARACTER(len=:), ALLOCATABLE :: basepath
        CHARACTER(len=:), ALLOCATABLE :: path
    CONTAINS
        PROCEDURE, NOPASS :: create_output  ! Constructor
        PROCEDURE :: fmt_, path_    ! Getters
        PROCEDURE, PRIVATE :: set_output_path_h, set_output_path_iter
        GENERIC, PUBLIC :: set_output_path => set_output_path_h, set_output_path_iter ! Setters
        PROCEDURE, PRIVATE :: nemo_output_sizeof
        GENERIC, PUBLIC :: nemo_sizeof => nemo_output_sizeof
        PROCEDURE, PRIVATE :: write_output
        GENERIC, PUBLIC :: write => write_output
        PROCEDURE, NOPASS :: get_scalar_field
        PROCEDURE, NOPASS :: get_vector_field
    END TYPE output