SeedClass Module



Contents


Derived Types

type, public :: Seed_

Components

TypeVisibility AttributesNameInitial
type(FEMDomain_), public :: FEMDomain
type(WaterAbsorption_), public :: seedDomain
type(FEMDomain_), public :: water
type(FEMDomain_), public :: tissue
type(MaterialProp_), public :: Permiability
type(MaterialProp_), public :: YoungsModulus
type(MaterialProp_), public :: PoissonRatio
type(MaterialProp_), public :: density
type(MaterialProp_), public :: Cohesion
type(MaterialProp_), public :: phi
type(MaterialProp_), public :: psi
type(MaterialProp_), public :: a_Psi
type(MaterialProp_), public :: a_P
type(MaterialProp_), public :: theta_eq
type(MaterialProp_), public :: Psi_eq
type(MaterialProp_), public :: a_E
type(MaterialProp_), public :: a_v
type(MaterialProp_), public :: E_eq
type(MaterialProp_), public :: v_eq
type(Boundary_), public :: disp_x
type(Boundary_), public :: disp_y
type(Boundary_), public :: disp_z
type(Boundary_), public :: traction_x
type(Boundary_), public :: traction_y
type(Boundary_), public :: traction_z
type(Boundary_), public :: flux
type(Boundary_), public :: const
integer(kind=int32), public :: num_of_seed =1
real(kind=real64), public :: mass =0.0d0
real(kind=real64), public :: water_content =0.0d0
real(kind=real64), public :: radius =0.0d0
real(kind=real64), public :: width1 =0.00d0
real(kind=real64), public :: width2 =0.00d0
real(kind=real64), public :: width3 =0.0d0
real(kind=real64), public :: width1_origin =0.00d0
real(kind=real64), public :: width2_origin =0.00d0
real(kind=real64), public :: width3_origin =0.0d0
real(kind=real64), public :: location(3) =0.0d0
character(len=200), public :: path =" "
character(len=200), public :: name =" "
integer(kind=int32), public :: step =0

Type-Bound Procedures

procedure, public :: create => createSeed
procedure, public :: env => envSeed
procedure, public :: material => materialSeed
procedure, public :: grow => growSeed
procedure, public :: move => moveSeed
procedure, public :: rotate => rotateSeed
procedure, public :: gmsh => gmshSeed
procedure, public :: init => initSeed
procedure, public :: import => importSeed
procedure, public :: createMesh => createMeshSeed
procedure, public :: export => exportSeed
procedure, public :: save => saveSeed
procedure, public :: open => openSeed
procedure, public :: flush => flushSeed
procedure, public :: show => showSeed
procedure, public :: load => loadSeed
procedure, public :: remove => removeSeed
procedure, public :: length => lengthSeed
procedure, public :: convertMeshType => convertMeshTypeSeed
procedure, public :: result => resultSeed

Functions

public function lengthSeed(obj) result(length)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj

Return Value real(kind=real64) (3)


Subroutines

public subroutine resultSeed(obj, path, name, step)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj
character(len=*), intent(in) :: path
character(len=*), intent(in) :: name
integer(kind=int32), intent(in) :: step

public subroutine removeSeed(obj)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj

public subroutine loadSeed(obj, path, name)

Arguments

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

public subroutine openSeed(obj, path, name)

Arguments

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

public subroutine flushSeed(obj, path, name)

Arguments

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

public subroutine saveSeed(obj, path, name)

Arguments

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

public subroutine createSeed(obj, Name, MeshType, x_num, y_num, z_num, x_len, y_len, z_len, YoungsModulus, PoissonRatio, Permiability, a_Psi, a_P, theta_eq, Psi_eq, a_E, a_v, E_eq, v_eq)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj
character(len=*), intent(in), optional :: Name
character(len=*), intent(in), optional :: MeshType
integer(kind=int32), intent(in), optional :: x_num
integer(kind=int32), intent(in), optional :: y_num
integer(kind=int32), intent(in), optional :: z_num
real(kind=real64), intent(in), optional :: x_len
real(kind=real64), intent(in), optional :: y_len
real(kind=real64), intent(in), optional :: z_len
real(kind=real64), intent(in), optional :: YoungsModulus
real(kind=real64), intent(in), optional :: PoissonRatio
real(kind=real64), intent(in), optional :: Permiability
real(kind=real64), intent(in), optional :: a_Psi
real(kind=real64), intent(in), optional :: a_P
real(kind=real64), intent(in), optional :: theta_eq
real(kind=real64), intent(in), optional :: Psi_eq
real(kind=real64), intent(in), optional :: a_E
real(kind=real64), intent(in), optional :: a_v
real(kind=real64), intent(in), optional :: E_eq
real(kind=real64), intent(in), optional :: v_eq

public subroutine gmshSeed(obj, Name)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj
character(len=*), intent(in), optional :: Name

public subroutine moveSeed(obj, x, y, z)

Arguments

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

public subroutine rotateSeed(obj, x, y, z)

Arguments

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

public subroutine materialSeed(obj, YoungsModulus, PoissonRatio, Permiability, a_Psi, a_P, theta_eq, Psi_eq, a_E, a_v, E_eq, v_eq, x_max, x_min, y_max, y_min, z_max, z_min)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: YoungsModulus
real(kind=real64), intent(in), optional :: PoissonRatio
real(kind=real64), intent(in), optional :: Permiability
real(kind=real64), intent(in), optional :: a_Psi
real(kind=real64), intent(in), optional :: a_P
real(kind=real64), intent(in), optional :: theta_eq
real(kind=real64), intent(in), optional :: Psi_eq
real(kind=real64), intent(in), optional :: a_E
real(kind=real64), intent(in), optional :: a_v
real(kind=real64), intent(in), optional :: E_eq
real(kind=real64), intent(in), optional :: v_eq
real(kind=real64), intent(in), optional :: x_max
real(kind=real64), intent(in), optional :: x_min
real(kind=real64), intent(in), optional :: y_max
real(kind=real64), intent(in), optional :: y_min
real(kind=real64), intent(in), optional :: z_max
real(kind=real64), intent(in), optional :: z_min

public subroutine envSeed(obj, disp_x, disp_y, disp_z, WaterContent, x_max, x_min, y_max, y_min, z_max, z_min)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj
real(kind=real64), intent(in), optional :: disp_x
real(kind=real64), intent(in), optional :: disp_y
real(kind=real64), intent(in), optional :: disp_z
real(kind=real64), intent(in), optional :: WaterContent
real(kind=real64), intent(in), optional :: x_max
real(kind=real64), intent(in), optional :: x_min
real(kind=real64), intent(in), optional :: y_max
real(kind=real64), intent(in), optional :: y_min
real(kind=real64), intent(in), optional :: z_max
real(kind=real64), intent(in), optional :: z_min

public subroutine growSeed(obj, timestep, dt, Display, nr_tol, interval, Name, restart)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj
integer(kind=int32), intent(in), optional :: timestep
real(kind=real64), intent(in), optional :: dt
logical, intent(in), optional :: Display
real(kind=real64), intent(in), optional :: nr_tol
integer(kind=int32), intent(in), optional :: interval
character(len=*), intent(in), optional :: Name
logical, intent(in), optional :: restart

public subroutine initSeed(obj, mass, water_content, radius, location, x, y, z, width1, width2, width3)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj
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 :: width1
real(kind=real64), intent(in), optional :: width2
real(kind=real64), intent(in), optional :: width3

public subroutine importSeed(obj, FileName)

Arguments

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

public subroutine createMeshSeed(obj, FileName, withSTL, ObjType, ElemType)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj
character(len=*), intent(in) :: FileName
logical, intent(in), optional :: withSTL
character(len=*), intent(in), optional :: ObjType
character(len=*), intent(in) :: ElemType

public subroutine exportSeed(obj, FileName, SeedID, extention)

Arguments

Type IntentOptional AttributesName
class(Seed_), intent(inout) :: obj
character(len=*), intent(in) :: FileName
integer(kind=int32), intent(in), optional :: SeedID
character(len=*), intent(in), optional :: extention

public subroutine convertMeshTypeSeed(obj, Option)

Arguments

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

public subroutine showSeed(obj)

Arguments

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