CivilItemClass Module



Derived Types

type, public ::  CivilItem_

Type-Bound Procedures

procedure, public, pass :: BridgePierCivilItem
procedure, public, pass :: BridgePierCivilItem_JSON
generic, public :: BridgePier => BridgePierCivilItem, BridgePierCivilItem_JSON
procedure, public :: BridgeGirder => BridgeGirderCivilItem
procedure, public :: BridgeShoe => BridgeShoeCivilItem
procedure, public :: BridgeShoes => BridgeShoesCivilItem
procedure, public, pass :: RigidFrameViaductCivilItem
procedure, public, pass :: RigidFrameViaductCivilItem_JSON
generic, public :: RigidFrameViaduct => RigidFrameViaductCivilItem, RigidFrameViaductCivilItem_JSON
procedure, public, pass :: EarthDam_with_ground_CivilItem
procedure, public, pass :: EarthDam_with_ground_CivilItem_JSON
procedure, public, pass :: EarthDam_without_ground_CivilItem
procedure, public, pass :: EarthDam_without_ground_with_channel_CivilItem
generic, public :: EarthDam => EarthDam_with_ground_CivilItem, EarthDam_with_ground_CivilItem_JSON, EarthDam_without_ground_CivilItem, EarthDam_without_ground_with_channel_CivilItem
procedure, public :: PaddyField => PaddyFieldCivilItem
procedure, public :: OpenChannel => OpenChannelCivilItem
procedure, public :: ground => groundCivilItem
procedure, public :: beam => beamCivilItem
procedure, public, pass :: BoxCulvertCivilItem
procedure, public, pass :: BoxCulvertCivilItem_JSON
generic, public :: BoxCulvert => BoxCulvertCivilItem, BoxCulvertCivilItem_JSON

Functions

public function BridgePierCivilItem_JSON(this, config, debug) result(femdomain)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
character(len=*), intent(in) :: config
logical, intent(in), optional :: debug

Return Value type(FEMDomain_)

public function BridgePierCivilItem(this, Bottom, Top, Transition, divisions, height) result(femdomain)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
real(kind=real64), intent(in) :: Bottom(1:2)
real(kind=real64), intent(in) :: Top(1:2)
real(kind=real64), intent(in), optional :: Transition(1:2)
integer(kind=int32), intent(in) :: divisions(1:3)
real(kind=real64), intent(in) :: height

Return Value type(FEMDomain_)

public function BridgeGirderCivilItem(this, From, To, Thickness, Width, divisions, fitPiers) result(femdomain)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
type(FEMDomain_), intent(inout) :: From
type(FEMDomain_), intent(inout) :: To
real(kind=real64), intent(in) :: Thickness
real(kind=real64), intent(in) :: Width
integer(kind=int32), intent(in) :: divisions(1:3)
logical, intent(in), optional :: fitPiers(2)

Return Value type(FEMDomain_)

public function BridgeShoeCivilItem(this, pier, Thickness, Width, divisions) result(femdomain)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
type(FEMDomain_), intent(in) :: pier
real(kind=real64), intent(in) :: Thickness
real(kind=real64), intent(in) :: Width
integer(kind=int32), intent(in) :: divisions(1:3)

Return Value type(FEMDomain_)

public function BridgeShoesCivilItem(this, pier, num_shoes, Thickness, Width, divisions) result(femdomains)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
type(FEMDomain_), intent(in) :: pier
integer(kind=int32), intent(in) :: num_shoes(1:2)
real(kind=real64), intent(in) :: Thickness
real(kind=real64), intent(in) :: Width
integer(kind=int32), intent(in) :: divisions(1:3)

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

public function RigidFrameViaductCivilItem_JSON(this, config, debug) result(RFV)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(inout) :: this
character(len=*), intent(in) :: config
logical, intent(in), optional :: debug

Return Value type(FEMDomain_)

public function RigidFrameViaductCivilItem(this, NumPiers, length, width, PierThickness, divisions, height, MiddlePierHeights, GirderThickness, GirderWidth, GirderEdgeHeight, GirderEdgeThickness, JointHeight, JointThickness, JointLength, debug) result(RFV)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(inout) :: this
integer(kind=int32), intent(in) :: NumPiers(1:2)
real(kind=real64), intent(in) :: length
real(kind=real64), intent(in) :: width
real(kind=real64), intent(in) :: PierThickness
integer(kind=int32), intent(in), optional :: divisions(1:3)
real(kind=real64), intent(in) :: height
real(kind=real64), intent(in), optional :: MiddlePierHeights(:)
real(kind=real64), intent(in), optional :: GirderThickness
real(kind=real64), intent(in), optional :: GirderWidth
real(kind=real64), intent(in), optional :: GirderEdgeHeight
real(kind=real64), intent(in), optional :: GirderEdgeThickness
real(kind=real64), intent(in), optional :: JointHeight
real(kind=real64), intent(in), optional :: JointThickness
real(kind=real64), intent(in), optional :: JointLength
logical, intent(in), optional :: debug

Return Value type(FEMDomain_)

public function EarthDam_with_ground_CivilItem_JSON(this, config) result(femdomain)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
character(len=*), intent(in) :: config

Return Value type(FEMDomain_)

public function EarthDam_without_ground_with_channel_CivilItem(this, height, length, angles, top_width, refine_level, channel_dist_from_center, channel_innter_width, channel_innter_depth, channel_thickness) result(dam)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
real(kind=real64), intent(in) :: height
real(kind=real64), intent(in) :: length
real(kind=real64), intent(in) :: angles(1:2)
real(kind=real64), intent(in) :: top_width
integer(kind=int32), intent(in) :: refine_level(1:3)
real(kind=real64), intent(in) :: channel_dist_from_center
real(kind=real64), intent(in) :: channel_innter_width
real(kind=real64), intent(in) :: channel_innter_depth
real(kind=real64), intent(in) :: channel_thickness

Return Value type(FEMDomain_)

public function EarthDam_without_ground_CivilItem(this, height, length, angles, top_width, refine_level) result(dam)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
real(kind=real64), intent(in) :: height
real(kind=real64), intent(in) :: length
real(kind=real64), intent(in) :: angles(1:2)
real(kind=real64), intent(in) :: top_width
integer(kind=int32), intent(in) :: refine_level(1:3)

Return Value type(FEMDomain_)

public function EarthDam_with_ground_CivilItem(this, height, length, width, depth, margin, angles, top_width, refine_level, depth_cut, margin_cut, R) result(dam)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
real(kind=real64), intent(in) :: height
real(kind=real64), intent(in) :: length
real(kind=real64), intent(in) :: width
real(kind=real64), intent(in) :: depth
real(kind=real64), intent(in) :: margin
real(kind=real64), intent(in) :: angles(1:2)
real(kind=real64), intent(in) :: top_width
integer(kind=int32), intent(in) :: refine_level(1:3)
integer(kind=int32), intent(in) :: depth_cut
integer(kind=int32), intent(in) :: margin_cut
real(kind=real64), intent(in), optional :: R

Return Value type(FEMDomain_)

public function PaddyFieldCivilItem(this, Length, Width, Depth, RidgeWidth, RidgeHeight, refine_level) result(paddyfield)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(inout) :: this
real(kind=real64), intent(in) :: Length
real(kind=real64), intent(in) :: Width
real(kind=real64), intent(in) :: Depth
real(kind=real64), intent(in) :: RidgeWidth
real(kind=real64), intent(in) :: RidgeHeight
integer(kind=int32), intent(in) :: refine_level(1:3)

Return Value type(FEMDomain_)

public function OpenChannelCivilItem(this, Length, Width, Depth, ChannelWidth, ChannelDepth, SlopeAngle, SlopeDepth, refine_level) result(channel)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(inout) :: this
real(kind=real64), intent(in) :: Length
real(kind=real64), intent(in) :: Width
real(kind=real64), intent(in) :: Depth
real(kind=real64), intent(in) :: ChannelWidth
real(kind=real64), intent(in) :: ChannelDepth
real(kind=real64), intent(in), optional :: SlopeAngle
real(kind=real64), intent(in), optional :: SlopeDepth
integer(kind=int32), intent(in) :: refine_level(1:3)

Return Value type(FEMDomain_)

public function beamCivilItem(this, from, to, width, height, division) result(beam)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
real(kind=real64), intent(in) :: from(1:3)
real(kind=real64), intent(in) :: to(1:3)
real(kind=real64), intent(in) :: width
real(kind=real64), intent(in) :: height
integer(kind=int32), intent(in) :: division(1:3)

Return Value type(FEMDomain_)

public function groundCivilItem(this, femdomain, surface_point, radius, debug, er) result(ret)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
type(FEMDomain_), intent(in) :: femdomain
real(kind=real64), intent(in) :: surface_point(:,:)
real(kind=real64), intent(in), optional :: radius
logical, intent(in), optional :: debug
real(kind=real64), intent(in), optional :: er

Return Value type(FEMDomain_)

public function BoxCulvertCivilItem(this, width, height, length, top_thickness, side_thickness, bottom_thickness, edge_thickness, divisions, Spigot_length, Socket_length, cut_angles) result(culvert)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
real(kind=real64), intent(in) :: width
real(kind=real64), intent(in) :: height
real(kind=real64), intent(in) :: length
real(kind=real64), intent(in) :: top_thickness
real(kind=real64), intent(in) :: side_thickness
real(kind=real64), intent(in) :: bottom_thickness
real(kind=real64), intent(in) :: edge_thickness
integer(kind=int32), intent(in) :: divisions(1:3)
real(kind=real64), intent(in), optional :: Spigot_length
real(kind=real64), intent(in), optional :: Socket_length
real(kind=real64), intent(in), optional :: cut_angles(1:2)

Return Value type(FEMDomain_)

public function BoxCulvertCivilItem_JSON(this, config) result(culvert)

Arguments

Type IntentOptional Attributes Name
class(CivilItem_), intent(in) :: this
character(len=*), intent(in) :: config

Return Value type(FEMDomain_)