CivilItem_ Derived Type

type, public :: CivilItem_


Type-Bound Procedures

procedure, public, pass :: BridgePierCivilItem

  • 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_)

procedure, public, pass :: BridgePierCivilItem_JSON

  • 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_)

generic, public :: BridgePier => BridgePierCivilItem, BridgePierCivilItem_JSON

  • 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 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_)

procedure, public :: BridgeGirder => BridgeGirderCivilItem

  • 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_)

procedure, public :: BridgeShoe => BridgeShoeCivilItem

  • 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_)

procedure, public :: BridgeShoes => BridgeShoesCivilItem

  • 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, (:)

procedure, public, pass :: RigidFrameViaductCivilItem

  • 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_)

procedure, public, pass :: RigidFrameViaductCivilItem_JSON

  • 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_)

generic, public :: RigidFrameViaduct => RigidFrameViaductCivilItem, RigidFrameViaductCivilItem_JSON

  • 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 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_)

procedure, public, pass :: EarthDam_with_ground_CivilItem

  • 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_)

procedure, public, pass :: EarthDam_with_ground_CivilItem_JSON

procedure, public, pass :: EarthDam_without_ground_CivilItem

  • 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_)

procedure, public, pass :: EarthDam_without_ground_with_channel_CivilItem

  • 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_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 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_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_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_)

procedure, public :: PaddyField => PaddyFieldCivilItem

  • 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_)

procedure, public :: OpenChannel => OpenChannelCivilItem

  • 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_)

procedure, public :: ground => groundCivilItem

  • 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_)

procedure, public :: beam => beamCivilItem

  • 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_)

procedure, public, pass :: BoxCulvertCivilItem

  • 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_)

procedure, public, pass :: BoxCulvertCivilItem_JSON

  • 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_)

generic, public :: BoxCulvert => BoxCulvertCivilItem, BoxCulvertCivilItem_JSON

  • 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_)