FEDEM Solver  R8.0
Source code of the dynamics solver
Data Types | Modules | Functions/Subroutines | Variables
finiteElementModule.f90 File Reference

Finite element object data containers and subroutines. More...

Data Types

type  finiteelementmodule::beampropertytype
 Data type for beam cross section properties. More...
 
type  finiteelementmodule::beamtype
 Data type representing a node in a linked list of beam strings. More...
 
type  finiteelementmodule::beamjointtype
 Data type representing a beam joint. More...
 
interface  finiteelementmodule::getptrtoid
 Returns pointer to object with specified ID. More...
 

Modules

module  finiteelementmodule
 Module with data types representing finite element objects.
 

Functions/Subroutines

type(beampropertytype) function, pointer finiteelementmodule::getptrtoidbeamprop (array, id)
 Returns pointer to (first) beam property with specified ID. More...
 
subroutine, public finiteelementmodule::readelementprops (infp, bProp, ierr)
 Read finite element properties from the solver input file. More...
 
subroutine, public finiteelementmodule::calcelementmatrices (elem, bProp, env, ierr)
 Calculates the element matrices for a basic finite element. More...
 
subroutine finiteelementmodule::calcbeamelementmatrices (beam, bProp, env, lpu, ipsw, ierr)
 Calculates the element matrices for a beam finite element. More...
 
real(dp) function hasgrowth (z1, z2, zg1, zg2)
 
subroutine, public finiteelementmodule::findbeams (sups, ierr)
 Detects all beams in the model, that is, chains of beam elements. More...
 
subroutine newbeam
 Create a new node in the linked list of beams. More...
 
subroutine, public finiteelementmodule::findbeamjoints (triads, sups, ierr)
 Detects all beam joints in the model. More...
 
subroutine initjointleg (joint, beam)
 Adds a beam element to a beam joint,. More...
 
subroutine, public finiteelementmodule::deallocatebeams ()
 Deallocates the linked lists of beam elements. More...
 
real(dp) function, dimension(6), public finiteelementmodule::getsectionalforces (sup, iend)
 Returns the sectional forces at one end of a beam element. More...
 
subroutine, public finiteelementmodule::reportbeamendforces (t, sups, g, lpu)
 Reports all beam sectional forces at current configuration. More...
 
subroutine, public finiteelementmodule::envbeamendforces (sups, ierr)
 Calculates the max/min beam sectional forces and positions. More...
 
subroutine, public finiteelementmodule::updatebeamsectionforces (sups, ierr)
 Calculates the current beam sectional forces. More...
 
subroutine, public finiteelementmodule::writebeamjointforces (t, ierr)
 Writes beam joint forces at current configuration to ASCII files. More...
 
subroutine getlegforce (beam, triad, sf, ierr)
 Extracts the sectional force at a beam end. More...
 

Variables

integer, save, public finiteelementmodule::nbeamel
 Total number of beam elements in the model. More...
 
real(dp), save, public finiteelementmodule::massgrowth
 Mass density of the marine growth layer. More...
 
real(dp), save, public finiteelementmodule::massintfluid
 Mass density of the internal fluid. More...
 
real(dp), dimension(:,:,:), allocatable, save finiteelementmodule::beamenvelope
 Maximum and minimum beam sectional forces over the time history. More...
 
type(beamtype), pointer, save, public finiteelementmodule::beams
 Head of the linked list of beam strings. More...
 
type(beamjointtype), dimension(:), allocatable, save finiteelementmodule::joints
 All beam joints in the model. More...
 

Detailed Description

Finite element object data containers and subroutines.

Function/Subroutine Documentation

◆ getlegforce()

subroutine writebeamjointforces::getlegforce ( type(supeltype), intent(in)  beam,
type(triadtype), pointer  triad,
real(dp), dimension(6), intent(out)  sf,
integer, intent(out)  ierr 
)

Extracts the sectional force at a beam end.

◆ hasgrowth()

real(dp) function calcbeamelementmatrices::hasgrowth ( real(dp), intent(in)  z1,
real(dp), intent(in)  z2,
real(dp), intent(in)  zg1,
real(dp), intent(in)  zg2 
)

◆ initjointleg()

subroutine findbeamjoints::initjointleg ( type(beamjointtype), intent(inout)  joint,
type(supeltype), intent(in), target  beam 
)

Adds a beam element to a beam joint,.

◆ newbeam()

subroutine findbeams::newbeam

Create a new node in the linked list of beams.