soybean_ Derived Type

type, public :: soybean_


Components

Type Visibility Attributes Name Initial
integer(kind=int32), public :: stem_division(1:3) = [3, 3, 30]
integer(kind=int32), public :: peti_division(1:3) = [3, 3, 30]
integer(kind=int32), public :: leaf_division(1:3) = [10, 1, 20]
integer(kind=int32), public :: root_division(1:3) = [2, 2, 20]
character(len=20), public :: growth_habit
character(len=2), public :: growth_stage
integer(kind=int32), public :: Num_Of_Node
integer(kind=int32), public :: num_leaf
integer(kind=int32), public :: num_stem_node
integer(kind=int32), public :: Num_Of_Root
integer(kind=int32), public :: TYPE_STEM = 1
integer(kind=int32), public :: TYPE_LEAF = 2
integer(kind=int32), public :: TYPE_ROOT = 3
integer(kind=int32), public :: MaxLeafNum = PF_DEFAULT_SOYBEAN_ASIZE
integer(kind=int32), public :: MaxRootNum = PF_DEFAULT_SOYBEAN_ASIZE
integer(kind=int32), public :: MaxStemNum = PF_DEFAULT_SOYBEAN_ASIZE
logical, public :: determinate
integer(kind=int32), public :: max_num_leaf_per_petiole = 3
integer(kind=int32), public :: ms_node
integer(kind=int32), public :: br_node(PF_DEFAULT_SOYBEAN_ASIZE)
integer(kind=int32), public :: br_from(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: ms_length
real(kind=real64), public :: br_length(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: ms_width
real(kind=real64), public :: br_width(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: ms_angle_ave
real(kind=real64), public :: br_angle_ave(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: ms_angle_sig
real(kind=real64), public :: br_angle_sig(PF_DEFAULT_SOYBEAN_ASIZE)
integer(kind=int32), public :: mr_node
integer(kind=int32), public :: brr_node(PF_DEFAULT_SOYBEAN_ASIZE)
integer(kind=int32), public :: brr_from(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: mr_length
real(kind=real64), public :: brr_length(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: mr_width
real(kind=real64), public :: brr_width(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: mr_angle_ave
real(kind=real64), public :: brr_angle_ave(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: mr_angle_sig
real(kind=real64), public :: brr_angle_sig(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: peti_size_ave(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: peti_size_sig(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: peti_width_ave(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: peti_width_sig(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: peti_angle_ave(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: peti_angle_sig(PF_DEFAULT_SOYBEAN_ASIZE)
real(kind=real64), public :: leaf_angle_ave(PF_DEFAULT_SOYBEAN_ASIZE*3)
real(kind=real64), public :: leaf_angle_sig(PF_DEFAULT_SOYBEAN_ASIZE*3)
real(kind=real64), public :: leaf_length_ave(PF_DEFAULT_SOYBEAN_ASIZE*3)
real(kind=real64), public :: leaf_length_sig(PF_DEFAULT_SOYBEAN_ASIZE*3)
real(kind=real64), public :: leaf_width_ave(PF_DEFAULT_SOYBEAN_ASIZE*3)
real(kind=real64), public :: leaf_width_sig(PF_DEFAULT_SOYBEAN_ASIZE*3)
real(kind=real64), public :: leaf_thickness_ave(PF_DEFAULT_SOYBEAN_ASIZE*3)
real(kind=real64), public :: leaf_thickness_sig(PF_DEFAULT_SOYBEAN_ASIZE*3)
character(len=3), public :: Stage
character(len=200), public :: name
integer(kind=int32), public :: stage_id = 0
real(kind=real64), public :: dt
type(Seed_), public :: Seed
type(PlantNode_), public, allocatable :: NodeSystem(:)
type(PlantRoot_), public, allocatable :: RootSystem(:)
type(Stem_), public, allocatable :: Stem(:)
type(Leaf_), public, allocatable :: Leaf(:)
type(Root_), public, allocatable :: Root(:)
real(kind=real64), public, allocatable :: stemYoungModulus(:)
real(kind=real64), public, allocatable :: leafYoungModulus(:)
real(kind=real64), public, allocatable :: rootYoungModulus(:)
real(kind=real64), public, allocatable :: stemPoissonRatio(:)
real(kind=real64), public, allocatable :: leafPoissonRatio(:)
real(kind=real64), public, allocatable :: rootPoissonRatio(:)
real(kind=real64), public, allocatable :: stemDensity(:)
real(kind=real64), public, allocatable :: leafDensity(:)
real(kind=real64), public, allocatable :: rootDensity(:)
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(:,:)
type(FEMDomain_), public, allocatable :: leaf_list(:)
type(FEMDomain_), public, allocatable :: stem_list(:)
type(FEMDomain_), public, allocatable :: root_list(:)
type(ContactMechanics_), public :: contact
real(kind=real64), public :: time
real(kind=real64), public :: seed_length
real(kind=real64), public :: seed_width
real(kind=real64), public :: seed_height
real(kind=real64), public, allocatable :: stem_angle(:,:)
real(kind=real64), public, allocatable :: root_angle(:,:)
real(kind=real64), public, allocatable :: leaf_angle(:,:)
character(len=200), public :: stemconfig = ""
character(len=200), public :: rootconfig = ""
character(len=200), public :: leafconfig = ""
logical, public :: property_deform_material_density = .false.
logical, public :: property_deform_material_YoungModulus = .false.
logical, public :: property_deform_material_PoissonRatio = .false.
logical, public :: property_deform_material_CarbonDiffusionCoefficient = .false.
logical, public :: property_deform_initial_Displacement = .false.
logical, public :: property_deform_initial_Stress = .false.
logical, public :: property_deform_boundary_TractionForce = .false.
logical, public :: property_deform_boundary_Displacement = .false.
logical, public :: property_deform_gravity = .false.
real(kind=real64), public :: Gravity_acceralation = 9.810d0
real(kind=real64), public :: PenaltyParameter = 100000.0d0
logical, public :: GaussPointProjection = .false.
integer(kind=int32), public, allocatable :: NodeID_MainStem(:)
type(soybean_NodeID_Branch_), public, allocatable :: NodeID_Branch(:)
logical, public :: inLoop = .false.
real(kind=real64), public :: hours = 0.0d0
real(kind=real64), public :: FullyExpanded_stem_threshold = 0.10d0
integer(kind=int32), public :: MaxBranchNum = 20
type(soybean_internode_info_), public, allocatable :: InterNodeInfo(:)
real(kind=real64), public :: default_Leaf_growth_ratio = 1.0d0/3.0d0
real(kind=real64), public :: default_Stem_growth_ratio = 1.0d0/3.0d0
integer(kind=int32), public, allocatable :: MainStem_num_branch(:)
real(kind=real64), public :: apical_dominance_distance = 1.0d0
real(kind=real64), public :: CV_stem_length_ave = 0.03d0
real(kind=real64), public :: CV_stem_length_sig = 0.001d0
real(kind=real64), public :: CV_stem_width_ave = 0.003d0
real(kind=real64), public :: CV_stem_width_sig = 0.00001d0
real(kind=real64), public :: CV_leaf_length_ave = 0.03d0
real(kind=real64), public :: CV_leaf_length_sig = 0.001d0
real(kind=real64), public :: CV_leaf_width_ave = 0.02d0
real(kind=real64), public :: CV_leaf_width_sig = 0.0005d0
real(kind=real64), public :: CV_leaf_thickness_ave = 0.005d0
real(kind=real64), public :: CV_leaf_thickness_sig = 0.0001d0
real(kind=real64), public :: VC_stem_length_ave = 0.04d0
real(kind=real64), public :: VC_stem_length_sig = 0.001d0
real(kind=real64), public :: VC_stem_width_ave = 0.004d0
real(kind=real64), public :: VC_stem_width_sig = 0.0001d0
real(kind=real64), public :: VC_leaf_length_ave = 0.03d0
real(kind=real64), public :: VC_leaf_length_sig = 0.001d0
real(kind=real64), public :: VC_leaf_width_ave = 0.03d0
real(kind=real64), public :: VC_leaf_width_sig = 0.0005d0
real(kind=real64), public :: VC_leaf_thickness_ave = 0.001d0
real(kind=real64), public :: VC_leaf_thickness_sig = 0.00001d0
character(len=36), public :: UUID
real(kind=real64), public :: apical_carbon_concentration = 0.01d0
real(kind=real64), public, allocatable :: Photosynthate_n(:)
real(kind=real64), public, allocatable :: reaction_n(:)

Type-Bound Procedures

procedure, public, pass :: initsoybean

  • public subroutine initsoybean(obj, config, regacy, mass, water_content, radius, location, x, y, z, PlantRoot_diameter_per_seed_radius, max_PlantNode_num, Variety, FileName, max_leaf_num, max_stem_num, max_root_num, profiler)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in), optional :: config
    logical, intent(in), optional :: regacy
    real(kind=real64), intent(in), optional :: mass
    real(kind=real64), intent(in), optional :: water_content
    real(kind=real64), intent(in), optional :: radius
    real(kind=real64), intent(in), optional :: location(3)
    real(kind=real64), intent(in), optional :: x
    real(kind=real64), intent(in), optional :: y
    real(kind=real64), intent(in), optional :: z
    real(kind=real64), intent(in), optional :: PlantRoot_diameter_per_seed_radius
    integer(kind=int32), intent(in), optional :: max_PlantNode_num
    character(len=*), intent(in), optional :: Variety
    character(len=*), intent(in), optional :: FileName
    integer(kind=int32), intent(in), optional :: max_leaf_num
    integer(kind=int32), intent(in), optional :: max_stem_num
    integer(kind=int32), intent(in), optional :: max_root_num
    logical, intent(in), optional :: profiler

procedure, public, pass :: init_as_seed_soybean

  • public subroutine init_as_seed_soybean(this, radius, division)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in) :: radius(1:3)
    integer(kind=int32), intent(in) :: division(1:3)

generic, public :: init => initsoybean, init_as_seed_soybean

  • public subroutine initsoybean(obj, config, regacy, mass, water_content, radius, location, x, y, z, PlantRoot_diameter_per_seed_radius, max_PlantNode_num, Variety, FileName, max_leaf_num, max_stem_num, max_root_num, profiler)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in), optional :: config
    logical, intent(in), optional :: regacy
    real(kind=real64), intent(in), optional :: mass
    real(kind=real64), intent(in), optional :: water_content
    real(kind=real64), intent(in), optional :: radius
    real(kind=real64), intent(in), optional :: location(3)
    real(kind=real64), intent(in), optional :: x
    real(kind=real64), intent(in), optional :: y
    real(kind=real64), intent(in), optional :: z
    real(kind=real64), intent(in), optional :: PlantRoot_diameter_per_seed_radius
    integer(kind=int32), intent(in), optional :: max_PlantNode_num
    character(len=*), intent(in), optional :: Variety
    character(len=*), intent(in), optional :: FileName
    integer(kind=int32), intent(in), optional :: max_leaf_num
    integer(kind=int32), intent(in), optional :: max_stem_num
    integer(kind=int32), intent(in), optional :: max_root_num
    logical, intent(in), optional :: profiler
  • public subroutine init_as_seed_soybean(this, radius, division)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in) :: radius(1:3)
    integer(kind=int32), intent(in) :: division(1:3)

procedure, public :: VC => VCSoybean

  • public subroutine VCSoybean(this)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this

procedure, public :: remove => removeSoybean

  • public subroutine removeSoybean(obj, root)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    logical, intent(in), optional :: root

procedure, public :: create => initsoybean

  • public subroutine initsoybean(obj, config, regacy, mass, water_content, radius, location, x, y, z, PlantRoot_diameter_per_seed_radius, max_PlantNode_num, Variety, FileName, max_leaf_num, max_stem_num, max_root_num, profiler)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in), optional :: config
    logical, intent(in), optional :: regacy
    real(kind=real64), intent(in), optional :: mass
    real(kind=real64), intent(in), optional :: water_content
    real(kind=real64), intent(in), optional :: radius
    real(kind=real64), intent(in), optional :: location(3)
    real(kind=real64), intent(in), optional :: x
    real(kind=real64), intent(in), optional :: y
    real(kind=real64), intent(in), optional :: z
    real(kind=real64), intent(in), optional :: PlantRoot_diameter_per_seed_radius
    integer(kind=int32), intent(in), optional :: max_PlantNode_num
    character(len=*), intent(in), optional :: Variety
    character(len=*), intent(in), optional :: FileName
    integer(kind=int32), intent(in), optional :: max_leaf_num
    integer(kind=int32), intent(in), optional :: max_stem_num
    integer(kind=int32), intent(in), optional :: max_root_num
    logical, intent(in), optional :: profiler

procedure, public :: new => initsoybean

  • public subroutine initsoybean(obj, config, regacy, mass, water_content, radius, location, x, y, z, PlantRoot_diameter_per_seed_radius, max_PlantNode_num, Variety, FileName, max_leaf_num, max_stem_num, max_root_num, profiler)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in), optional :: config
    logical, intent(in), optional :: regacy
    real(kind=real64), intent(in), optional :: mass
    real(kind=real64), intent(in), optional :: water_content
    real(kind=real64), intent(in), optional :: radius
    real(kind=real64), intent(in), optional :: location(3)
    real(kind=real64), intent(in), optional :: x
    real(kind=real64), intent(in), optional :: y
    real(kind=real64), intent(in), optional :: z
    real(kind=real64), intent(in), optional :: PlantRoot_diameter_per_seed_radius
    integer(kind=int32), intent(in), optional :: max_PlantNode_num
    character(len=*), intent(in), optional :: Variety
    character(len=*), intent(in), optional :: FileName
    integer(kind=int32), intent(in), optional :: max_leaf_num
    integer(kind=int32), intent(in), optional :: max_stem_num
    integer(kind=int32), intent(in), optional :: max_root_num
    logical, intent(in), optional :: profiler

procedure, public :: sowing => initsoybean

  • public subroutine initsoybean(obj, config, regacy, mass, water_content, radius, location, x, y, z, PlantRoot_diameter_per_seed_radius, max_PlantNode_num, Variety, FileName, max_leaf_num, max_stem_num, max_root_num, profiler)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in), optional :: config
    logical, intent(in), optional :: regacy
    real(kind=real64), intent(in), optional :: mass
    real(kind=real64), intent(in), optional :: water_content
    real(kind=real64), intent(in), optional :: radius
    real(kind=real64), intent(in), optional :: location(3)
    real(kind=real64), intent(in), optional :: x
    real(kind=real64), intent(in), optional :: y
    real(kind=real64), intent(in), optional :: z
    real(kind=real64), intent(in), optional :: PlantRoot_diameter_per_seed_radius
    integer(kind=int32), intent(in), optional :: max_PlantNode_num
    character(len=*), intent(in), optional :: Variety
    character(len=*), intent(in), optional :: FileName
    integer(kind=int32), intent(in), optional :: max_leaf_num
    integer(kind=int32), intent(in), optional :: max_stem_num
    integer(kind=int32), intent(in), optional :: max_root_num
    logical, intent(in), optional :: profiler

procedure, public :: export => exportSoybean

  • public subroutine exportSoybean(obj, FilePath, FileName, SeedID, withSTL, withMesh)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in), optional :: FilePath
    character(len=*), intent(in) :: FileName
    integer(kind=int32), intent(inout), optional :: SeedID
    logical, intent(in), optional :: withSTL
    logical, intent(in), optional :: withMesh

procedure, public :: expanition => expanitionSoybean

  • public subroutine expanitionSoybean(obj)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj

procedure, public :: development => developmentSoybean

procedure, public :: checkProperties => checkPropertiesSoybean

  • public subroutine checkPropertiesSoybean(obj, Simulator)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    integer(kind=int32), intent(in) :: Simulator

procedure, public :: setPoints => setPointsSoybean

  • public subroutine setPointsSoybean(obj, points)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in) :: points(:,:)

procedure, public :: setProperties => setPropertiesSoybean

  • public subroutine setPropertiesSoybean(obj, density, YoungModulus, PoissonRatio, InitialStress, InitialDisplacement, BoundaryTractionForce, BoundaryDisplacement, Gravity, xr, yr, zr, default_value)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    logical, intent(in), optional :: density
    logical, intent(in), optional :: YoungModulus
    logical, intent(in), optional :: PoissonRatio
    logical, intent(in), optional :: InitialStress
    logical, intent(in), optional :: InitialDisplacement
    logical, intent(in), optional :: BoundaryTractionForce
    logical, intent(in), optional :: BoundaryDisplacement
    logical, intent(in), optional :: Gravity
    real(kind=real64), intent(in), optional :: xr(2)
    real(kind=real64), intent(in), optional :: yr(2)
    real(kind=real64), intent(in), optional :: zr(2)
    real(kind=real64), intent(in), optional :: default_value

procedure, public :: set_stem_length_by_list => set_stem_length_by_list_Soybean

  • public subroutine set_stem_length_by_list_Soybean(this, stem_length_list)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in) :: stem_length_list(:)

procedure, public :: set_stem_angle_by_list => set_stem_angle_by_list_Soybean

  • public subroutine set_stem_angle_by_list_Soybean(this, stem_angle_list)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in) :: stem_angle_list(:,:)

procedure, public :: addStem => addStemSoybean

  • public subroutine addStemSoybean(obj, stemid, rotx, roty, rotz, json)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: stemid
    real(kind=real64), intent(in), optional :: rotx
    real(kind=real64), intent(in), optional :: roty
    real(kind=real64), intent(in), optional :: rotz
    character(len=*), intent(in), optional :: json

procedure, public :: setPropertiesDensity => setPropertiesDensitySoybean

  • public subroutine setPropertiesDensitySoybean(obj)

    $OMP parallel do private(i) $OMP parallel do private(j) $OMP end parallel do $OMP end parallel do stem $OMP parallel do private(i) $OMP parallel do private(j) $OMP end parallel do $OMP end parallel do root $OMP parallel do private(i) $OMP parallel do private(j) $OMP end parallel do $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj

procedure, public :: setPropertiesYoungModulus => setPropertiesYoungModulusSoybean

  • public subroutine setPropertiesYoungModulusSoybean(obj, default_value)

    $OMP parallel do private(i) $OMP parallel do private(i) $OMP parallel do private(i)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: default_value

procedure, public :: setPropertiesPoissonRatio => setPropertiesPoissonRatioSoybean

  • public subroutine setPropertiesPoissonRatioSoybean(obj, default_value)

    $OMP parallel do private(i) $OMP end parallel do $OMP parallel do private(i) $OMP end parallel do $OMP parallel do private(i) $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: default_value

procedure, public :: setPropertiesInitialDisplacement => setPropertiesInitialDisplacementSoybean

  • public subroutine setPropertiesInitialDisplacementSoybean(obj, default_value)

    $OMP parallel do private(i) $OMP end parallel do $OMP parallel do private(i) $OMP end parallel do $OMP parallel do private(i) $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: default_value

procedure, public :: setPropertiesInitialStress => setPropertiesInitialStressSoybean

  • public subroutine setPropertiesInitialStressSoybean(obj, default_value)

    $OMP parallel do private(i) $OMP end parallel do $OMP parallel do private(i) $OMP end parallel do $OMP parallel do private(i) $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: default_value

procedure, public :: setPropertiesBoundaryTractionForce => setPropertiesBoundaryTractionForceSoybean

  • public subroutine setPropertiesBoundaryTractionForceSoybean(obj, default_value, xrange, yrange, zrange)

    $OMP parallel do private(i) $OMP end parallel do $OMP parallel do private(i) $OMP end parallel do $OMP parallel do private(i) $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: default_value
    real(kind=real64), intent(in), optional :: xrange(2)
    real(kind=real64), intent(in), optional :: yrange(2)
    real(kind=real64), intent(in), optional :: zrange(2)

procedure, public :: setPropertiesBoundaryDisplacement => setPropertiesBoundaryDisplacementSoybean

  • public subroutine setPropertiesBoundaryDisplacementSoybean(obj, default_value, xrange, yrange, zrange)

    $OMP parallel do private(i) $OMP end parallel do $OMP parallel do private(i) $OMP end parallel do $OMP parallel do private(i) $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: default_value
    real(kind=real64), intent(in), optional :: xrange(2)
    real(kind=real64), intent(in), optional :: yrange(2)
    real(kind=real64), intent(in), optional :: zrange(2)

procedure, public :: setPropertiesGravity => setPropertiesGravitySoybean

  • public subroutine setPropertiesGravitySoybean(obj, default_value, xrange, yrange, zrange)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: default_value
    real(kind=real64), intent(in), optional :: xrange(2)
    real(kind=real64), intent(in), optional :: yrange(2)
    real(kind=real64), intent(in), optional :: zrange(2)

procedure, public :: setFEMDomains => setFEMDomainsSoybean

procedure, public :: setFEMDomain => setFEMDomainsSoybean

procedure, public :: setYoungModulus => setYoungModulusSoybean

  • public recursive subroutine setYoungModulusSoybean(obj, YoungModulus, stem, root, leaf, ElementList)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in) :: YoungModulus
    logical, intent(in), optional :: stem
    logical, intent(in), optional :: root
    logical, intent(in), optional :: leaf
    integer(kind=int32), intent(in), optional :: ElementList(:,:)

procedure, public :: setPoissonRatio => setPoissonRatioSoybean

  • public recursive subroutine setPoissonRatioSoybean(obj, PoissonRatio, stem, root, leaf, ElementList)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in) :: PoissonRatio
    logical, intent(in), optional :: stem
    logical, intent(in), optional :: root
    logical, intent(in), optional :: leaf
    integer(kind=int32), intent(in), optional :: ElementList(:,:)

procedure, public :: setDensity => setDensitySoybean

  • public recursive subroutine setDensitySoybean(obj, Density, stem, root, leaf, ElementList)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in) :: Density
    logical, intent(in), optional :: stem
    logical, intent(in), optional :: root
    logical, intent(in), optional :: leaf
    integer(kind=int32), intent(in), optional :: ElementList(:,:)

procedure, public :: runSimulation => runSimulationSoybean

  • public subroutine runSimulationSoybean(obj, Simulator, error_tolerance, debug, z_min)

    !$OMP parallel do private(i,j) !$OMP end parallel do

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout), target :: obj
    integer(kind=int32), intent(in) :: Simulator
    real(kind=real64), intent(in), optional :: error_tolerance
    logical, intent(in), optional :: debug
    real(kind=real64), intent(in) :: z_min

procedure, public :: runSimulator => runSimulationSoybean

  • public subroutine runSimulationSoybean(obj, Simulator, error_tolerance, debug, z_min)

    !$OMP parallel do private(i,j) !$OMP end parallel do

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout), target :: obj
    integer(kind=int32), intent(in) :: Simulator
    real(kind=real64), intent(in), optional :: error_tolerance
    logical, intent(in), optional :: debug
    real(kind=real64), intent(in) :: z_min

procedure, public :: readyFor => readyForSoybean

  • public function readyForSoybean(obj, Simulator) result(ready)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: Simulator

    Return Value logical

procedure, public :: stemlength => stemlengthSoybean

  • public function stemlengthSoybean(obj, StemID) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: StemID

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

procedure, public :: NumberOfBranch => NumberOfBranchSoybean

  • public function NumberOfBranchSoybean(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32)

procedure, public :: isMainStem => isMainStemSoybean

  • public pure function isMainStemSoybean(obj, StemNodeID) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    integer(kind=int32), intent(in) :: StemNodeID

    Return Value logical

procedure, public :: isBranchStem => isBranchStemSoybean

  • public pure function isBranchStemSoybean(obj, StemNodeID) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    integer(kind=int32), intent(in) :: StemNodeID

    Return Value logical

procedure, public :: checkYoungModulus => checkYoungModulusSoybean

  • public function checkYoungModulusSoybean(obj) result(all_young_modulus_is_set)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value logical

procedure, public :: checkPoissonRatio => checkPoissonRatioSoybean

  • public function checkPoissonRatioSoybean(obj) result(all_young_modulus_is_set)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value logical

procedure, public :: checkDensity => checkDensitySoybean

  • public function checkDensitySoybean(obj) result(all_young_modulus_is_set)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value logical

procedure, public :: checkMemoryRequirement => checkMemoryRequirementSoybean

procedure, public :: getYoungModulus => getYoungModulusSoybean

  • public function getYoungModulusSoybean(obj, DomainID, ElementID) result(YoungModulus)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    integer(kind=int32), intent(in) :: DomainID
    integer(kind=int32), intent(in) :: ElementID

    Return Value real(kind=real64)

procedure, public :: getPoissonRatio => getPoissonRatioSoybean

  • public function getPoissonRatioSoybean(obj, DomainID, ElementID) result(PoissonRatio)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    integer(kind=int32), intent(in) :: DomainID
    integer(kind=int32), intent(in) :: ElementID

    Return Value real(kind=real64)

procedure, public :: getDensity => getDensitySoybean

  • public function getDensitySoybean(obj, DomainID, ElementID) result(Density)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    integer(kind=int32), intent(in) :: DomainID
    integer(kind=int32), intent(in) :: ElementID

    Return Value real(kind=real64)

procedure, public :: getVertices => getVerticesSoybean

  • public subroutine getVerticesSoybean(this, Vertices, VertexIDs)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(inout), allocatable :: Vertices(:)
    integer(kind=int32), intent(inout), allocatable :: VertexIDs(:)

procedure, public :: getYoungModulusField => getYoungModulusFieldSoybean

  • public function getYoungModulusFieldSoybean(this) result(YoungModulus)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this

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

procedure, public :: getPoissonRatioField => getPoissonRatioFieldSoybean

  • public function getPoissonRatioFieldSoybean(this) result(PoissonRatio)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this

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

procedure, public :: getDensityField => getDensityFieldSoybean

  • public function getDensityFieldSoybean(this) result(Density)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this

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

procedure, public :: getDiffusionCoefficient => getDiffusionCoefficientSoybean

  • public function getDiffusionCoefficientSoybean(this) result(DiffusionCoefficient)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this

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

procedure, public :: getElementList => getElementListSoybean

  • public function getElementListSoybean(this, x_min, x_max, y_min, y_max, z_min, z_max, debug) result(ElementList)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in), optional :: x_min
    real(kind=real64), intent(in), optional :: x_max
    real(kind=real64), intent(in), optional :: y_min
    real(kind=real64), intent(in), optional :: y_max
    real(kind=real64), intent(in), optional :: z_min
    real(kind=real64), intent(in), optional :: z_max
    logical, intent(in), optional :: debug

    Return Value integer(kind=int32), allocatable, (:,:)

procedure, public :: getGlobalElementIdx => getGlobalElementIdxSoybean

  • public function getGlobalElementIdxSoybean(this, x_min, x_max, y_min, y_max, z_min, z_max, debug) result(GlobalElementIdx)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in), optional :: x_min
    real(kind=real64), intent(in), optional :: x_max
    real(kind=real64), intent(in), optional :: y_min
    real(kind=real64), intent(in), optional :: y_max
    real(kind=real64), intent(in), optional :: z_min
    real(kind=real64), intent(in), optional :: z_max
    logical, intent(in), optional :: debug

    Return Value integer(kind=int32), allocatable, (:)

procedure, public :: get_stem_length_list => get_stem_length_list_Soybean

  • public function get_stem_length_list_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

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

procedure, public :: get_stem_angle_list => get_stem_angle_list_Soybean

  • public function get_stem_angle_list_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

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

procedure, public :: MassMatrix => MassMatrixSoybean

  • public function MassMatrixSoybean(obj, debug) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout), target :: obj
    logical, intent(in), optional :: debug

    Return Value type(CRS_)

procedure, public :: StiffnessMatrix => StiffnessMatrixSoybean

  • public function StiffnessMatrixSoybean(obj, penalty, debug) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout), target :: obj
    real(kind=real64), intent(in), optional :: penalty
    logical, intent(in), optional :: debug

    Return Value type(CRS_)

procedure, public :: findApical => findApicalSoybean

  • public function findApicalSoybean(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32), allocatable, (:)

procedure, public :: grow => growSoybean

  • public subroutine growSoybean(obj, dt, light, air, temp, simple, add_apical)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in) :: dt
    type(Light_), intent(inout), optional :: light
    type(Air_), intent(in), optional :: air
    real(kind=real64), intent(in), optional :: temp
    logical, intent(in), optional :: simple
    logical, intent(in), optional :: add_apical

procedure, public :: getVolume => getVolumeSoybean

  • public function getVolumeSoybean(obj, stem, leaf, root) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    logical, intent(in), optional :: stem
    logical, intent(in), optional :: leaf
    logical, intent(in), optional :: root

    Return Value real(kind=real64)

procedure, public :: getVolumePerElement => getVolumePerElementSoybean

  • public function getVolumePerElementSoybean(obj) result(volume)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

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

procedure, public :: getBioMass => getBiomassSoybean

  • public function getBiomassSoybean(obj, stem, leaf, root) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    logical, intent(in), optional :: stem
    logical, intent(in), optional :: leaf
    logical, intent(in), optional :: root

    Return Value real(kind=real64)

procedure, public :: getElementBiomass => getElementBiomassSoybean

  • public function getElementBiomassSoybean(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

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

procedure, public :: getTotalWeight => getTotalWeightSoybean

  • public function getTotalWeightSoybean(obj, stem, leaf, root, waterDensity) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    logical, intent(in), optional :: stem
    logical, intent(in), optional :: leaf
    logical, intent(in), optional :: root
    real(kind=real64), intent(in), optional :: waterDensity

    Return Value real(kind=real64)

procedure, public :: getSubDomain => getSubDomainSoybean

  • public function getSubDomainSoybean(obj, id) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    integer(kind=int32), intent(in) :: id

    Return Value type(FEMDomain_)

procedure, public :: getSubDomainType => getSubDomainTypeSoybean

  • public function getSubDomainTypeSoybean(obj, id) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    integer(kind=int32), intent(in) :: id

    Return Value character(len=:), allocatable

procedure, public :: setSubDomain => setSubDomainSoybean

  • public subroutine setSubDomainSoybean(obj, domain, id)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(FEMDomain_), intent(in) :: domain
    integer(kind=int32), intent(in) :: id

procedure, public :: getPoints => getPointsSoybean

  • public pure function getPointsSoybean(obj, leaf, stem, root) result(points)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    logical, intent(in), optional :: leaf
    logical, intent(in), optional :: stem
    logical, intent(in), optional :: root

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

procedure, public :: getRadius => getRadiusSoybean

  • public pure function getRadiusSoybean(obj) result(radius)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value real(kind=real64)

procedure, public :: getCenter => getCenterSoybean

  • public pure function getCenterSoybean(obj) result(center)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value real(kind=real64), (3)

procedure, public :: getDistanceFromGround => getDistanceFromGroundSoybean

  • public function getDistanceFromGroundSoybean(obj) result(distance_per_nodes)

    $OMP parallel do private(i) $OMP end parallel do

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj

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

procedure, public :: getNumberOfPoint => getNumberOfPointSoybean

  • public function getNumberOfPointSoybean(obj) result(NumberOfPoint)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32), allocatable, (:)

procedure, public :: getNumberOfElement => getNumberOfElementSoybean

  • public function getNumberOfElementSoybean(obj) result(NumberOfElement)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32), allocatable, (:)

procedure, public :: getDistanceToGroundFromStemID => getDistanceToGroundFromStemIDSoybean

  • public recursive function getDistanceToGroundFromStemIDSoybean(obj, dist_in, stem_id) result(dist_ground)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    real(kind=real64), intent(in) :: dist_in
    integer(kind=int32), intent(in) :: stem_id

    Return Value real(kind=real64)

procedure, public :: getDistanceToGroundFromRootID => getDistanceToGroundFromRootIDSoybean

  • public recursive function getDistanceToGroundFromRootIDSoybean(obj, dist_in, root_id) result(dist_ground)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    real(kind=real64), intent(in) :: dist_in
    integer(kind=int32), intent(in) :: root_id

    Return Value real(kind=real64)

procedure, public :: getLeafCosValue => getLeafCosValueSoybean

  • public function getLeafCosValueSoybean(obj, light, num_threads) result(elem_cosins)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(Light_), intent(in) :: light
    integer(kind=int32), intent(in), optional :: num_threads

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

procedure, public :: getRangeOfNodeID => getRangeOfNodeIDSoybean

  • public function getRangeOfNodeIDSoybean(obj, stem, leaf, root) result(id_range)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    logical, intent(in), optional :: stem
    logical, intent(in), optional :: leaf
    logical, intent(in), optional :: root

    Return Value integer(kind=int32), (2)

procedure, public :: getFEMDomainPointers => getFEMDomainPointersSoybean

  • public function getFEMDomainPointersSoybean(obj, algorithm) result(FEMDomainPointers)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout), target :: obj
    integer(kind=int32), intent(in), optional :: algorithm

    Return Value type(FEMDomainp_), allocatable, (:)

procedure, public :: fall_leaf => fall_leafSoybean

  • public subroutine fall_leafSoybean(obj, BranchID, InterNodeID, with_petiole)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: BranchID
    integer(kind=int32), intent(in) :: InterNodeID
    logical, intent(in), optional :: with_petiole

procedure, public :: getFEMDomains => to_FEMDomainsSoybean

  • public function to_FEMDomainsSoybean(this) result(femdomains)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this

    Return Value type(FEMDomain_), allocatable, (:)

procedure, public :: to_FEMDomains => to_FEMDomainsSoybean

  • public function to_FEMDomainsSoybean(this) result(femdomains)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this

    Return Value type(FEMDomain_), allocatable, (:)

procedure, public :: getPPFD => getPPFDSoybean

  • public function getPPFDSoybean(obj, light, Transparency, Resolution, num_threads, leaf) result(ppfd)

    なぜか失敗

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(Light_), intent(in) :: light
    real(kind=real64), intent(in), optional :: Transparency
    real(kind=real64), intent(in), optional :: Resolution
    integer(kind=int32), intent(in), optional :: num_threads
    type(Leaf_), intent(inout), optional :: leaf(:)

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

procedure, public :: getSpectrum => getSpectrumSoybean

  • public function getSpectrumSoybean(obj, light, Transparency, Resolution, num_threads, leaf) result(spectrum)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(Light_), intent(in) :: light
    real(kind=real64), intent(in), optional :: Transparency
    real(kind=real64), intent(in), optional :: Resolution
    integer(kind=int32), intent(in), optional :: num_threads
    type(Leaf_), intent(inout), optional :: leaf(:)

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

procedure, public :: to_R_FR => to_R_FRSoybean

  • public function to_R_FRSoybean(this, spectrum) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this
    real(kind=real64), intent(in) :: spectrum(:,:)

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

procedure, public :: getDisplacement => getDisplacementSoybean

  • public function getDisplacementSoybean(obj, ground_level, penalty, traction_force, debug, itrmax, tol) result(disp)

    $OMP parallel $OMP do

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout), target :: obj
    real(kind=real64), intent(in) :: ground_level
    real(kind=real64), intent(in), optional :: penalty
    real(kind=real64), intent(in), optional :: traction_force(:)
    logical, intent(in), optional :: debug
    integer(kind=int32), intent(in), optional :: itrmax
    real(kind=real64), intent(in), optional :: tol

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

procedure, public :: getEigenMode => getEigenModeSoybean

  • public function getEigenModeSoybean(obj, ground_level, penalty, debug, Frequency, EbOM_Algorithm, num_mode, femsolver) result(EigenVectors)

    $OMP parallel $OMP do

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout), target :: obj
    real(kind=real64), intent(in) :: ground_level
    real(kind=real64), intent(in), optional :: penalty
    logical, intent(in), optional :: debug
    real(kind=real64), intent(inout), allocatable :: Frequency(:)
    character(len=*), intent(in), optional :: EbOM_Algorithm
    integer(kind=int32), intent(in), optional :: num_mode
    type(FEMSolver_), intent(inout), optional :: femsolver

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

procedure, public, pass :: getPhotoSynthesisSoybean

  • public function getPhotoSynthesisSoybean(obj, light, Air, dt, Transparency, Resolution, ppfd) result(photosynthesis)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(Light_), intent(in) :: light
    type(Air_), intent(in) :: Air
    real(kind=real64), intent(in) :: dt
    real(kind=real64), intent(in), optional :: Transparency
    real(kind=real64), intent(in), optional :: Resolution
    real(kind=real64), intent(in), optional :: ppfd(:)

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

procedure, public, pass :: getPhotoSynthesis_by_env_soybean

  • public function getPhotoSynthesis_by_env_soybean(this, env, dt, Transparency, soybean_canopy) result(elem_photosynthesis)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    class(Environment_), intent(in) :: env
    real(kind=real64), intent(in) :: dt
    real(kind=real64), intent(in), optional :: Transparency
    type(soybean_), intent(inout), optional :: soybean_canopy(:)

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

generic, public :: getPhotoSynthesis => getPhotoSynthesis_by_env_soybean, getPhotoSynthesisSoybean

  • public function getPhotoSynthesis_by_env_soybean(this, env, dt, Transparency, soybean_canopy) result(elem_photosynthesis)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    class(Environment_), intent(in) :: env
    real(kind=real64), intent(in) :: dt
    real(kind=real64), intent(in), optional :: Transparency
    type(soybean_), intent(inout), optional :: soybean_canopy(:)

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

  • public function getPhotoSynthesisSoybean(obj, light, Air, dt, Transparency, Resolution, ppfd) result(photosynthesis)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(Light_), intent(in) :: light
    type(Air_), intent(in) :: Air
    real(kind=real64), intent(in) :: dt
    real(kind=real64), intent(in), optional :: Transparency
    real(kind=real64), intent(in), optional :: Resolution
    real(kind=real64), intent(in), optional :: ppfd(:)

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

procedure, public :: getPhotoSynthesisSpeedPerVolume => getPhotoSynthesisSpeedPerVolumeSoybean

  • public function getPhotoSynthesisSpeedPerVolumeSoybean(obj, light, Air, dt, Transparency, Resolution, ppfd) result(photosynthesis)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(Light_), intent(in) :: light
    type(Air_), intent(in) :: Air
    real(kind=real64), intent(in) :: dt
    real(kind=real64), intent(in), optional :: Transparency
    real(kind=real64), intent(in), optional :: Resolution
    real(kind=real64), intent(in), optional :: ppfd(:)

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

procedure, public :: getLeafArea => getLeafAreaSoybean

  • public function getLeafAreaSoybean(obj) result(LeafArea)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value real(kind=real64)

procedure, public :: getIntersectLeaf => getIntersectLeafSoybean

  • public function getIntersectLeafSoybean(obj, soybeans, light, except) result(leaf)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(soybean_), intent(inout) :: soybeans(:)
    type(Light_), intent(in), optional :: light
    integer(kind=int32), intent(in), optional :: except

    Return Value type(Leaf_), allocatable, (:)

procedure, public :: getOverwrapLeaf => getIntersectLeafSoybean

  • public function getIntersectLeafSoybean(obj, soybeans, light, except) result(leaf)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(soybean_), intent(inout) :: soybeans(:)
    type(Light_), intent(in), optional :: light
    integer(kind=int32), intent(in), optional :: except

    Return Value type(Leaf_), allocatable, (:)

procedure, public :: searchStem => searchStemSoybean

  • public function searchStemSoybean(this, stemID, InterNodeID) result(node_id)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this
    integer(kind=int32), intent(in) :: stemID
    integer(kind=int32), intent(in) :: InterNodeID

    Return Value integer(kind=int32)

procedure, public :: searchPetiole => searchPetioleSoybean

  • public function searchPetioleSoybean(this, stemID, InterNodeID, PetioleID) result(node_id)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this
    integer(kind=int32), intent(in) :: stemID
    integer(kind=int32), intent(in) :: InterNodeID
    integer(kind=int32), intent(in) :: PetioleID

    Return Value integer(kind=int32)

procedure, public :: searchLeaf => searchLeafSoybean

  • public function searchLeafSoybean(this, stemID, InterNodeID, PetioleID, LeafID) result(leaf_id)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this
    integer(kind=int32), intent(in) :: stemID
    integer(kind=int32), intent(in) :: InterNodeID
    integer(kind=int32), intent(in) :: PetioleID
    integer(kind=int32), intent(in) :: LeafID

    Return Value integer(kind=int32)

procedure, public :: export_eig => export_eigSoybean

  • public subroutine export_eigSoybean(this, Name, Frequency, ModeVectors, stress_type)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    character(len=*), intent(in) :: Name
    real(kind=real64), intent(in) :: Frequency(:)
    real(kind=real64), intent(in) :: ModeVectors(:,:)
    character(len=*), intent(in), optional :: stress_type

procedure, public :: getStressField => getStressFieldSoybean

  • public function getStressFieldSoybean(this, displacement, i, j, option) result(StressField)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in) :: displacement(:)
    integer(kind=int32), intent(in), optional :: i
    integer(kind=int32), intent(in), optional :: j
    character(len=*), intent(in), optional :: option

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

procedure, public :: maxleafID => maxleafIDSoybean

  • public function maxleafIDSoybean(this, StemID, InterNodeID, PetioleID) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this
    integer(kind=int32), intent(in) :: StemID
    integer(kind=int32), intent(in) :: InterNodeID
    integer(kind=int32), intent(in) :: PetioleID

    Return Value integer(kind=int32)

procedure, public :: maxInterNodeID => maxInterNodeIDSoybean

  • public function maxInterNodeIDSoybean(this, StemID) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this
    integer(kind=int32), intent(in) :: StemID

    Return Value integer(kind=int32)

procedure, public :: maxPetioleID => maxPetioleIDSoybean

  • public function maxPetioleIDSoybean(this, StemID, InterNodeID) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this
    integer(kind=int32), intent(in) :: StemID
    integer(kind=int32), intent(in) :: InterNodeID

    Return Value integer(kind=int32)

procedure, public :: maxStemID => maxStemIDSoybean

  • public function maxStemIDSoybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value integer(kind=int32)

procedure, public :: convertDataFormat => convertDataFormatSoybean

  • public function convertDataFormatSoybean(obj, scalar, new_format) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    real(kind=real64), intent(in) :: scalar(:)
    integer(kind=int32), intent(in) :: new_format

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

procedure, public :: fixReversedElements => fixReversedElementsSoybean

procedure, public :: resize => resizeSoybean

  • public subroutine resizeSoybean(obj, StemID, StemLength)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: StemID
    real(kind=real64), intent(in), optional :: StemLength(:)

procedure, public :: deform => deformSoybean

  • public subroutine deformSoybean(obj, displacement, penaltyparameter, groundLevel, disp, x_min, x_max, y_min, y_max, z_min, z_max)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout), target :: obj
    real(kind=real64), intent(in), optional :: displacement(:)
    real(kind=real64), intent(in), optional :: penaltyparameter
    real(kind=real64), intent(in), optional :: groundLevel
    real(kind=real64), intent(in), optional :: disp(3)
    real(kind=real64), intent(in), optional :: x_min
    real(kind=real64), intent(in), optional :: x_max
    real(kind=real64), intent(in), optional :: y_min
    real(kind=real64), intent(in), optional :: y_max
    real(kind=real64), intent(in), optional :: z_min
    real(kind=real64), intent(in), optional :: z_max

procedure, public :: sync => syncSoybean

  • public subroutine syncSoybean(obj, mpid, from)

    ! !

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(MPI_), intent(inout) :: mpid
    integer(kind=int32), intent(in) :: from

procedure, public :: show => showSoybean

  • public subroutine showSoybean(obj, name)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in) :: name

procedure, public :: gmsh => gmshSoybean

  • public subroutine gmshSoybean(obj, name, num_threads, single_file)

    $OMP parallel num_threads(n) private(i) $OMP do

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(in), optional :: num_threads
    logical, intent(in), optional :: single_file

procedure, public :: msh => mshSoybean

  • public subroutine mshSoybean(obj, name, num_threads)

    $OMP parallel num_threads(n) private(i) $OMP do $OMP end do $OMP end parallel

    Read more…

    Arguments

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

procedure, public :: vtk => vtkSoybean

  • public subroutine vtkSoybean(obj, name, num_threads, single_file, scalar_field, vector_field, tensor_field, field_name)

    $OMP parallel num_threads(n) private(i) $OMP do $OMP end do $OMP end parallel $OMP parallel num_threads(n) private(i) $OMP do $OMP end do $OMP end parallel $OMP parallel num_threads(n) private(i) $OMP do $OMP end do $OMP end parallel

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(in), optional :: num_threads
    logical, intent(in), optional :: single_file
    real(kind=real64), intent(in), optional :: scalar_field(:)
    real(kind=real64), intent(in), optional :: vector_field(:,:)
    real(kind=real64), intent(in), optional :: tensor_field(:,:,:)
    character(len=*), intent(in), optional :: field_name

procedure, public :: stl => stlSoybean

  • public subroutine stlSoybean(obj, name, num_threads, single_file)

    $OMP parallel num_threads(n) private(i) $OMP do $OMP end do $OMP end parallel

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(in), optional :: num_threads
    logical, intent(in), optional :: single_file

procedure, public :: ply => plySoybean

  • public subroutine plySoybean(obj, name, num_threads, single_file)

    $OMP parallel num_threads(n) private(i) $OMP do $OMP end do $OMP end parallel

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(in), optional :: num_threads
    logical, intent(in), optional :: single_file

procedure, public :: json => jsonSoybean

  • public subroutine jsonSoybean(obj, name)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    character(len=*), intent(in) :: name

procedure, public :: ns => nsSoybean

  • public function nsSoybean(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32)

procedure, public :: ne => neSoybean

  • public function neSoybean(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32)

procedure, public :: nn => nnSoybean

  • public pure function nnSoybean(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32)

procedure, public :: np => nnSoybean

  • public pure function nnSoybean(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32)

procedure, public :: branchID => branchIDSoybean

  • public pure function branchIDSoybean(obj, StemNodeID) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj
    integer(kind=int32), intent(in) :: StemNodeID

    Return Value integer(kind=int32), allocatable

procedure, public :: nn_range => nn_rangeSoybean

  • public function nn_rangeSoybean(this, organ_type, ID) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    character(len=*), intent(in) :: organ_type
    integer(kind=int32), intent(in) :: ID

    Return Value integer(kind=int32), (1:2)

procedure, public :: height => height_Soybean

  • public function height_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: xmin => x_min_Soybean

  • public function x_min_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: x_min => x_min_Soybean

  • public function x_min_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: ymin => y_min_Soybean

  • public function y_min_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: y_min => y_min_Soybean

  • public function y_min_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: zmin => z_min_Soybean

  • public function z_min_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: z_min => z_min_Soybean

  • public function z_min_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: xmax => x_max_Soybean

  • public function x_max_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: x_max => x_max_Soybean

  • public function x_max_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: ymax => y_max_Soybean

  • public function y_max_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: y_max => y_max_Soybean

  • public function y_max_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: zmax => z_max_Soybean

  • public function z_max_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: z_max => z_max_Soybean

  • public function z_max_Soybean(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this

    Return Value real(kind=real64)

procedure, public :: WaterAbsorption => WaterAbsorptionSoybean

  • public subroutine WaterAbsorptionSoybean(obj, temp, dt)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in) :: temp
    real(kind=real64), intent(in) :: dt

procedure, public :: move => moveSoybean

  • public subroutine moveSoybean(obj, x, y, z, reset)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: x
    real(kind=real64), intent(in), optional :: y
    real(kind=real64), intent(in), optional :: z
    logical, intent(in), optional :: reset

procedure, public :: rotate => rotateSoybean

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

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), 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 :: numleaf => numleafsoybean

  • public function numleafsoybean(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32)

procedure, public :: numstem => numstemsoybean

  • public function numstemsoybean(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32)

procedure, public :: numroot => numrootsoybean

  • public function numrootsoybean(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: obj

    Return Value integer(kind=int32)

procedure, public :: laytracing => laytracingsoybean

  • public subroutine laytracingsoybean(obj, light, Transparency, Resolution)

    $OMP parallel do private(j) $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    type(Light_), intent(in) :: light
    real(kind=real64), intent(in), optional :: Transparency
    real(kind=real64), intent(in), optional :: Resolution

procedure, public :: SinkSourceFlow => SinkSourceFlowSoybean

  • public subroutine SinkSourceFlowSoybean(obj, simple)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    logical, intent(in), optional :: simple

procedure, public :: update => updateSoybean

  • public recursive subroutine updateSoybean(obj, stem_id, root_id, leaf_id, overset_margin, debug)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: stem_id
    integer(kind=int32), intent(in), optional :: root_id
    integer(kind=int32), intent(in), optional :: leaf_id
    real(kind=real64), intent(in), optional :: overset_margin
    logical, intent(in), optional :: debug

procedure, public :: updateFlowers => updateFlowersSoybean

procedure, public :: updatePods => updatePodsSoybean

  • public subroutine updatePodsSoybean(obj)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj

procedure, public :: AddNode => addNodeSoybean

  • public subroutine addNodeSoybean(obj, StemNodeID, RootNodeID, peti_width_ave, peti_width_sig, peti_size_ave, peti_size_sig, peti_angle_ave, peti_angle_sig, leaf_thickness_ave, leaf_thickness_sig, leaf_length_ave, leaf_length_sig, leaf_width_ave, leaf_width_sig, leaf_angle_sig, leaf_angle_ave, mainstem_to_branch)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: StemNodeID
    integer(kind=int32), intent(in), optional :: RootNodeID
    real(kind=real64), intent(in), optional :: peti_width_ave
    real(kind=real64), intent(in), optional :: peti_width_sig
    real(kind=real64), intent(in), optional :: peti_size_ave
    real(kind=real64), intent(in), optional :: peti_size_sig
    real(kind=real64), intent(in), optional :: peti_angle_ave
    real(kind=real64), intent(in), optional :: peti_angle_sig
    real(kind=real64), intent(in), optional :: leaf_thickness_ave
    real(kind=real64), intent(in), optional :: leaf_thickness_sig
    real(kind=real64), intent(in), optional :: leaf_length_ave
    real(kind=real64), intent(in), optional :: leaf_length_sig
    real(kind=real64), intent(in), optional :: leaf_width_ave
    real(kind=real64), intent(in), optional :: leaf_width_sig
    real(kind=real64), intent(in), optional :: leaf_angle_sig
    real(kind=real64), intent(in), optional :: leaf_angle_ave
    logical, intent(in), optional :: mainstem_to_branch

procedure, public :: AddPhytomere => addNodeSoybean

  • public subroutine addNodeSoybean(obj, StemNodeID, RootNodeID, peti_width_ave, peti_width_sig, peti_size_ave, peti_size_sig, peti_angle_ave, peti_angle_sig, leaf_thickness_ave, leaf_thickness_sig, leaf_length_ave, leaf_length_sig, leaf_width_ave, leaf_width_sig, leaf_angle_sig, leaf_angle_ave, mainstem_to_branch)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: StemNodeID
    integer(kind=int32), intent(in), optional :: RootNodeID
    real(kind=real64), intent(in), optional :: peti_width_ave
    real(kind=real64), intent(in), optional :: peti_width_sig
    real(kind=real64), intent(in), optional :: peti_size_ave
    real(kind=real64), intent(in), optional :: peti_size_sig
    real(kind=real64), intent(in), optional :: peti_angle_ave
    real(kind=real64), intent(in), optional :: peti_angle_sig
    real(kind=real64), intent(in), optional :: leaf_thickness_ave
    real(kind=real64), intent(in), optional :: leaf_thickness_sig
    real(kind=real64), intent(in), optional :: leaf_length_ave
    real(kind=real64), intent(in), optional :: leaf_length_sig
    real(kind=real64), intent(in), optional :: leaf_width_ave
    real(kind=real64), intent(in), optional :: leaf_width_sig
    real(kind=real64), intent(in), optional :: leaf_angle_sig
    real(kind=real64), intent(in), optional :: leaf_angle_ave
    logical, intent(in), optional :: mainstem_to_branch

procedure, public, pass :: resizeStem => resizeStemSoybean

  • public subroutine resizeStemSoybean(this, stemID, InterNodeID, Length, Width)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    integer(kind=int32), intent(in) :: stemID
    integer(kind=int32), intent(in) :: InterNodeID
    real(kind=real64), intent(in), optional :: Length
    real(kind=real64), intent(in), optional :: Width

procedure, public, pass :: rotateStem => rotateStemSoybean

  • public subroutine rotateStemSoybean(this, stemID, InterNodeID, Angles)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    integer(kind=int32), intent(in) :: stemID
    integer(kind=int32), intent(in) :: InterNodeID
    real(kind=real64), intent(in) :: Angles(1:3)

procedure, public, pass :: resizePetiole => resizePetioleSoybean

  • public subroutine resizePetioleSoybean(this, stemID, InterNodeID, PetioleID, Length, Width)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    integer(kind=int32), intent(in) :: stemID
    integer(kind=int32), intent(in) :: InterNodeID
    integer(kind=int32), intent(in) :: PetioleID
    real(kind=real64), intent(in), optional :: Length
    real(kind=real64), intent(in), optional :: Width

procedure, public, pass :: rotatePetiole => rotatePetioleSoybean

  • public subroutine rotatePetioleSoybean(this, stemID, InterNodeID, PetioleID, Angles)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    integer(kind=int32), intent(in) :: stemID
    integer(kind=int32), intent(in) :: InterNodeID
    integer(kind=int32), intent(in) :: PetioleID
    real(kind=real64), intent(in) :: Angles(1:3)

procedure, public, pass :: resizeLeaf => resizeLeafSoybean

  • public subroutine resizeLeafSoybean(this, stemID, InterNodeID, PetioleID, LeafID, Length, Width)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    integer(kind=int32), intent(in) :: stemID
    integer(kind=int32), intent(in) :: InterNodeID
    integer(kind=int32), intent(in) :: PetioleID
    integer(kind=int32), intent(in) :: LeafID
    real(kind=real64), intent(in), optional :: Length
    real(kind=real64), intent(in), optional :: Width

procedure, public, pass :: setFinalInterNodeLength => setFinalInternodeLengthSoybean

  • public subroutine setFinalInternodeLengthSoybean(this, Length, StemID)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in) :: Length(:)
    integer(kind=int32), intent(in) :: StemID

procedure, public, pass :: setFinalPetioleLength => setFinalPetioleLengthSoybean

  • public subroutine setFinalPetioleLengthSoybean(this, Length, StemID)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in) :: Length(:)
    integer(kind=int32), intent(in) :: StemID

procedure, public, pass :: setFinalLeafLength => setFinalLeafLengthSoybean

  • public subroutine setFinalLeafLengthSoybean(this, Length, StemID)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in) :: Length(:)
    integer(kind=int32), intent(in) :: StemID

procedure, public, pass :: setFinalLeafWidth => setFinalLeafWidthSoybean

  • public subroutine setFinalLeafWidthSoybean(this, Width, StemID)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout) :: this
    real(kind=real64), intent(in) :: Width(:)
    integer(kind=int32), intent(in) :: StemID

procedure, public :: ElementID2NodeID => ElementID2NodeIDSoybean

  • public function ElementID2NodeIDSoybean(this, ElementIDs) result(NodeIDs)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this
    integer(kind=int32), intent(in) :: ElementIDs(:)

    Return Value integer(kind=int32), allocatable, (:)

procedure, public, pass :: getcarbon_concentration => getCarbon_concentrationSoybean

  • public function getCarbon_concentrationSoybean(this, env, FixBoundary, FixValue) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this
    type(Environment_), intent(in) :: env
    integer(kind=int32), intent(inout), allocatable :: FixBoundary(:)
    real(kind=real64), intent(inout), allocatable :: FixValue(:)

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

procedure, public, pass :: getRespiration => getRespirationSoybean

  • public function getRespirationSoybean(this, env) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(in) :: this
    type(Environment_), intent(in) :: env

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

procedure, public, pass :: getCarbonFlow => getCarbonFlowSoybean

  • public function getCarbonFlowSoybean(this, photosynthesis, respiration, FixBoundary, FixValue, Photosynthate_n, dt, penalty, DiffusionCoeff, debug, RHS, Matrix, tol, algorithm) result(Photosynthate)

    Arguments

    Type IntentOptional Attributes Name
    class(soybean_), intent(inout), target :: this
    real(kind=real64), intent(in) :: photosynthesis(:)
    real(kind=real64), intent(in) :: respiration(:)
    integer(kind=int32), intent(in) :: FixBoundary(:)
    real(kind=real64), intent(in) :: FixValue(:)
    real(kind=real64), intent(in) :: Photosynthate_n(:)
    real(kind=real64), intent(in) :: dt
    real(kind=real64), intent(in) :: penalty
    real(kind=real64), intent(in) :: DiffusionCoeff(:)
    logical, intent(in), optional :: debug
    real(kind=real64), intent(inout), optional, allocatable :: RHS(:)
    type(CRS_), intent(inout), optional :: Matrix
    real(kind=real64), intent(in), optional :: tol
    character(len=*), intent(in), optional :: algorithm

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