|
FEDEM Solver
R8.0
Source code of the dynamics solver
|
Module with subroutines for structural energy integration. More...
Functions/Subroutines | |
| subroutine | checkloss (objType, objId, time, Eloss, F, du) |
| Prints out a warning if negative energy loss is detected. More... | |
| subroutine, public | energyintegration (mech, time, dTime, linearStatic, doStiffDampE, ierr) |
| Integrates the system energies for current time step. More... | |
| subroutine, public | energyinitialization (mech, time, ierr) |
| Initializes the energy integration variables. More... | |
| subroutine | supelenergies (supel, gravVec, seaLevel, dTime, doStiffDampE, Epot, Ekin, Estr, Edmp, ierr) |
| Calculates the system energy contributions from a superelement. More... | |
| subroutine | supelloadenergies (supLoad, linearStatic, dTime, Einp) |
| Calculates the incremental work done by a superelement load. More... | |
| subroutine | forceenergies (force, linearStatic, dTime, Einp) |
| Calculates the incremental work done by an external force. More... | |
| subroutine | motionenergies (motion, linearStatic, dTime, Einp) |
| Calculates the incremental work done by a prescribed motion. More... | |
| subroutine | tireenergies (tire, gravVec, dTime, Epot, Ekin, Einp) |
| Calculates energy contributions from a tire. More... | |
| subroutine | springenergies (spr, linearStatic, time, dTime, Estr, Einp, Edmp, ierr) |
| Computes strain energy, input energy and energy loss for a spring. More... | |
| subroutine | damperenergies (dmp, time, dTime, Edmp) |
| Calculates the incremental work done by a discrete damper. More... | |
| subroutine | massenergies (mass, gravVec, dTime, Epot, Ekin) |
| Calculates the kinetic and potential energy from a lumped mass. More... | |
| subroutine | frictionenergies (friction, time, dTime, Edmp) |
| Calculate the incremental work done by a joint friction. More... | |
| subroutine | aeroenergy (aNode, Einp) |
| Calculates the incremental work done by the aerodynamic force on a wind turbine blade node. More... | |
Module with subroutines for structural energy integration.
This module contains a set of subroutines for calculating the structural energy contribution for each object of the meachanism.
| subroutine energyintegrationmodule::aeroenergy | ( | type(bladenode), intent(inout) | aNode, |
| real(dp), intent(inout) | Einp | ||
| ) |
Calculates the incremental work done by the aerodynamic force on a wind turbine blade node.
| aNode | Blade node to calculate energies for |
| Einp | Accumulated input energy from external forces and motions |


|
private |
Prints out a warning if negative energy loss is detected.
| [in] | objType | Type name of the object to print message for |
| [in] | objId | Id of the object to print message for |
| [in] | time | Current simulation time |
| [in] | Eloss | Energy loss value |
| [in] | F | Force value causing the energy loss |
| [in] | du | Displacement increment causing the energy loss |

| subroutine energyintegrationmodule::damperenergies | ( | type(damperbasetype), intent(inout) | dmp, |
| real(dp), intent(in) | time, | ||
| real(dp), intent(in) | dTime, | ||
| real(dp), intent(inout) | Edmp | ||
| ) |
Calculates the incremental work done by a discrete damper.
| dmp | Damper to calculate energies for | |
| [in] | time | Current simulation time |
| [in] | dTime | Time increment size |
| Edmp | Energy loss due to damping for the mechanism |

| subroutine, public energyintegrationmodule::energyinitialization | ( | type(mechanismtype), intent(inout) | mech, |
| real(dp), intent(in) | time, | ||
| integer, intent(out) | ierr | ||
| ) |
Initializes the energy integration variables.
| mech | Mechanism components of the model | |
| [in] | time | Current simulation time |
| [out] | ierr | Error flag |


| subroutine, public energyintegrationmodule::energyintegration | ( | type(mechanismtype), intent(inout) | mech, |
| real(dp), intent(in) | time, | ||
| real(dp), intent(in) | dTime, | ||
| logical, intent(in) | linearStatic, | ||
| logical, intent(in) | doStiffDampE, | ||
| integer, intent(out) | ierr | ||
| ) |
Integrates the system energies for current time step.
| mech | Mechanism components of the model | |
| [in] | time | Current simulation time |
| [in] | dTime | Time increment size |
| [in] | linearStatic | If .true., we are doing a linear static analysis |
| [in] | doStiffDampE | If .true., use mean deformational displacement velocity when calculating energy loss due to stiffness proportional damping |
| [out] | ierr | Error flag |
If dTime is zero, only the potential, kinetical and strain energies are computed. The remaining quantities are then identically zero.


| subroutine energyintegrationmodule::forceenergies | ( | type(forcetype), intent(inout) | force, |
| logical, intent(in) | linearStatic, | ||
| real(dp), intent(in) | dTime, | ||
| real(dp), intent(inout) | Einp | ||
| ) |
Calculates the incremental work done by an external force.
| force | External force to calculate energy for | |
| [in] | linearStatic | If .true., we are doing a linear static analysis |
| [in] | dTime | Time increment size |
| Einp | Accumulated energy done by external forces |

| subroutine energyintegrationmodule::frictionenergies | ( | type(frictiontype), intent(inout) | friction, |
| real(dp), intent(in) | time, | ||
| real(dp), intent(in) | dTime, | ||
| real(dp), intent(inout) | Edmp | ||
| ) |
Calculate the incremental work done by a joint friction.
| friction | Friction to calculate energies for | |
| [in] | time | Current simulation time |
| [in] | dTime | Time increment size |
| Edmp | Energy loss due to damping for the mechanism |


| subroutine energyintegrationmodule::massenergies | ( | type(masstype), intent(inout) | mass, |
| real(dp), dimension(3), intent(in) | gravVec, | ||
| real(dp), intent(in) | dTime, | ||
| real(dp), intent(inout) | Epot, | ||
| real(dp), intent(inout) | Ekin | ||
| ) |
Calculates the kinetic and potential energy from a lumped mass.
| mass | Point mass to calculate energies for | |
| [in] | gravVec | Gravitation vector |
| [in] | dTime | Time increment size |
| Epot | Accumulated potential energy for the mechanism | |
| Ekin | Accumulated kinetic energy for the mechanism |

| subroutine energyintegrationmodule::motionenergies | ( | type(motiontype), intent(inout) | motion, |
| logical, intent(in) | linearStatic, | ||
| real(dp), intent(in) | dTime, | ||
| real(dp), intent(inout) | Einp | ||
| ) |
Calculates the incremental work done by a prescribed motion.
| motion | Prescribed motion to calculate energy for | |
| [in] | linearStatic | If .true., we are doing a linear static analysis |
| [in] | dTime | Time increment size |
| Einp | Accumulated energy done by external forces and motions |

| subroutine energyintegrationmodule::springenergies | ( | type(springbasetype), intent(inout) | spr, |
| logical, intent(in) | linearStatic, | ||
| real(dp), intent(in) | time, | ||
| real(dp), intent(in) | dTime, | ||
| real(dp), intent(inout) | Estr, | ||
| real(dp), intent(inout) | Einp, | ||
| real(dp), intent(inout) | Edmp, | ||
| integer, intent(inout) | ierr | ||
| ) |
Computes strain energy, input energy and energy loss for a spring.
| spr | Spring to calculate energies for | |
| [in] | linearStatic | If .true., we are doing a linear static analysis |
| [in] | time | Current simulation time |
| [in] | dTime | Time increment size |
| Estr | Accumulated elastic strain energy for the mechanism | |
| Einp | Accumulated input energy from external forces and motions | |
| Edmp | Energy loss due to damping for the mechanism | |
| ierr | Error flag |


| subroutine energyintegrationmodule::supelenergies | ( | type(supeltype), intent(inout) | supel, |
| real(dp), dimension(3), intent(in) | gravVec, | ||
| real(dp), intent(in) | seaLevel, | ||
| real(dp), intent(in) | dTime, | ||
| logical, intent(in) | doStiffDampE, | ||
| real(dp), intent(inout) | Epot, | ||
| real(dp), intent(inout) | Ekin, | ||
| real(dp), intent(inout) | Estr, | ||
| real(dp), intent(inout) | Edmp, | ||
| integer, intent(inout) | ierr | ||
| ) |
Calculates the system energy contributions from a superelement.
| supel | Superelement to calculate energies for | |
| [in] | gravVec | Gravitation vector |
| [in] | seaLevel | Current sea level |
| [in] | dTime | Time increment size |
| [in] | doStiffDampE | If .true., use mean deformational displacement velocity when calculating energy loss due to stiffness proportional damping |
| Epot | Accumulated potential energy for the mechanism | |
| Ekin | Accumulated kinetic energy for the mechanism | |
| Estr | Accumulated elastic strain energy for the mechanism | |
| Edmp | Energy loss due to damping for the mechanism | |
| ierr | Error flag |
The following contributions are included:


| subroutine energyintegrationmodule::supelloadenergies | ( | type(supelloadtype), intent(inout) | supLoad, |
| logical, intent(in) | linearStatic, | ||
| real(dp), intent(in) | dTime, | ||
| real(dp), intent(inout) | Einp | ||
| ) |
Calculates the incremental work done by a superelement load.
| supLoad | Superelement load to calculate energy for | |
| [in] | linearStatic | If .true., we are doing a linear static analysis |
| [in] | dTime | Time increment size |
| Einp | Accumulated energy done by external forces |

| subroutine energyintegrationmodule::tireenergies | ( | type(tiretype), intent(inout) | tire, |
| real(dp), dimension(3), intent(in) | gravVec, | ||
| real(dp), intent(in) | dTime, | ||
| real(dp), intent(inout) | Epot, | ||
| real(dp), intent(inout) | Ekin, | ||
| real(dp), intent(inout) | Einp | ||
| ) |
Calculates energy contributions from a tire.
| tire | Tire to calculate energies for | |
| [in] | gravVec | Gravitation vector |
| [in] | dTime | Time increment size |
| Epot | Accumulated potential energy for the mechanism | |
| Ekin | Accumulated kinetic energy for the mechanism | |
| Einp | Accumulated input energy from external forces and motions |
The kinetic and potential energy from the tire mass is calculated, as well as the incremental work done by the tire force from previous to current time step.

