Maize_ Derived Type

type, public :: Maize_


Contents


Components

TypeVisibility AttributesNameInitial
type(Mesh_), public :: struct
integer(kind=int32), public, allocatable:: leaf2stem(:,:)
integer(kind=int32), public, allocatable:: stem2stem(:,:)
integer(kind=int32), public, allocatable:: root2stem(:,:)
integer(kind=int32), public, allocatable:: root2root(:,:)
real(kind=real64), public :: mainstem_length
real(kind=real64), public :: mainstem_width
integer(kind=int32), public :: mainstem_node
real(kind=real64), public :: mainroot_length
real(kind=real64), public :: mainroot_width
integer(kind=int32), public :: mainroot_node
integer(kind=int32), public :: num_branch_root
integer(kind=int32), public :: num_branch_root_node
real(kind=real64), public :: ms_angle_ave =0.0d0
real(kind=real64), public :: ms_angle_sig =0.0d0
integer(kind=int32), public, allocatable:: Leaf_From(:)
real(kind=real64), public, allocatable:: leaf_Length(:)
real(kind=real64), public, allocatable:: leaf_Width(:)
real(kind=real64), public, allocatable:: leaf_curvature(:)
real(kind=real64), public, allocatable:: leaf_thickness_ave(:)
real(kind=real64), public, allocatable:: leaf_thickness_sig(:)
real(kind=real64), public, allocatable:: leaf_angle_ave_x(:)
real(kind=real64), public, allocatable:: leaf_angle_sig_x(:)
real(kind=real64), public, allocatable:: leaf_angle_ave_z(:)
real(kind=real64), public, allocatable:: leaf_angle_sig_z(:)
real(kind=real64), public, allocatable:: leaf_length_ave(:)
real(kind=real64), public, allocatable:: leaf_length_sig(:)
real(kind=real64), public, allocatable:: leaf_width_ave(:)
real(kind=real64), public, allocatable:: leaf_width_sig(:)
integer(kind=int32), public :: num_leaf
integer(kind=int32), public :: num_stem
integer(kind=int32), public :: num_root
type(FEMDomain_), public, allocatable:: leaf_list(:)
type(FEMDomain_), public, allocatable:: stem_list(:)
type(FEMDomain_), public, allocatable:: root_list(:)
character(len=:), public, allocatable:: LeafSurfaceData
type(Leaf_), public, allocatable:: Leaf(:)
type(Stem_), public, allocatable:: Stem(:)
type(Root_), public, allocatable:: Root(:)

Type-Bound Procedures

procedure, public :: create => createMaize

  • public subroutine createMaize(obj, config)

    Arguments

    Type IntentOptional AttributesName
    class(Maize_), intent(inout) :: obj
    character(len=*), intent(in) :: config

procedure, public :: msh => mshMaize

  • public subroutine mshMaize(obj, name, num_threads)

    Arguments

    Type IntentOptional AttributesName
    class(Maize_), intent(inout) :: obj
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(in), optional :: num_threads

procedure, public :: vtk => vtkMaize

  • public subroutine vtkMaize(obj, name, num_threads)

    Arguments

    Type IntentOptional AttributesName
    class(Maize_), intent(inout) :: obj
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(in), optional :: num_threads

procedure, public :: stl => stlMaize

  • public subroutine stlMaize(obj, name, num_threads)

    Arguments

    Type IntentOptional AttributesName
    class(Maize_), intent(inout) :: obj
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(in), optional :: num_threads

procedure, public :: json => jsonMaize

  • public subroutine jsonMaize(obj, name)

    Arguments

    Type IntentOptional AttributesName
    class(Maize_), intent(inout) :: obj
    character(len=*), intent(in) :: name

procedure, public :: move => moveMaize

  • public subroutine moveMaize(obj, x, y, z)

    Arguments

    Type IntentOptional AttributesName
    class(Maize_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: x
    real(kind=real64), intent(in), optional :: y
    real(kind=real64), intent(in), optional :: z

procedure, public :: update => updateMaize

  • public recursive subroutine updateMaize(obj, debug)

    Arguments

    Type IntentOptional AttributesName
    class(Maize_), intent(inout) :: obj
    logical, intent(in), optional :: debug