|
FEDEM Solver
R8.0
Source code of the dynamics solver
|
Coupled control system and structure modal analysis. More...
Data Types | |
| type | controlstructmodule::structsensorgradtype |
| Data type representing a control input gradient. More... | |
| type | controlstructmodule::forcecontrolgradtype |
| Data type representing a control output gradient. More... | |
| type | controlstructmodule::controlstructtype |
| Data type representing the control-system/structure coupling. More... | |
| interface | controlstructmodule::writeobject |
| Standard routine for writing an object to file. More... | |
Modules | |
| module | controlstructmodule |
| Module with data types and subroutines for coupled modal analysis. | |
Functions/Subroutines | |
| subroutine | controlstructmodule::writecontrolstructtype (pCS, io, complexity) |
| Standard routine for writing an object to io. More... | |
| subroutine | writestructsensor (idx, ssg) |
| Writes out a controlstructmodule::structsensorgradtype object. More... | |
| subroutine | writeforcecontrol (idx, fcg) |
| Writes out a controlstructmodule::forcecontrolgradtype object. More... | |
| subroutine | controlstructmodule::initiatecontrolstruct (pCS, inputs, triads, joints, forces, numVreg, numNod, ierr) |
| Initializes the control struct data type. More... | |
| subroutine | controlstructmodule::getctrlparamswithstructsensors (ctrlParams, numStructCtrlParams, ctrlParamsWithStructSensors) |
| Finds all control input parameters coupled to structural DOFs. More... | |
| logical function | hasstructsensor (prm, notify) |
| Checks if a control parameter is coupled to a structural DOF. More... | |
| subroutine | controlstructmodule::getctrloutforces (forces, numCtrlOutForces, ctrlOutForces) |
| Finds all control out forces. More... | |
| logical function | isctrloutforce (force) |
| Checks if the source of a force is a control system variable. More... | |
| subroutine | controlstructmodule::buildstructcontroljacobi (pCS, ctrl, sys, msim, ierr) |
| Computes the gradient matrices of forces w.r.t. controller inputs. More... | |
| subroutine | dmmm (Cmat, ctrlProp, ierr) |
| Performs the matrix-matrix multiplication Cmat = A*ctrlProp*B. More... | |
| integer function | isnonsymmetric (A) |
| Checks if the matrix A has non-symmetric terms. More... | |
| subroutine | controlstructmodule::estimatecontrollerproperties01 (sys, ctrl, msim, whichVregIn, whichVregOut, ctrlProps, ierr) |
| Estimates the controller gradient properties by perturbation. More... | |
| subroutine | controlstructmodule::estimatecontrollerproperties02 (sys, ctrl, msim, whichVregIn, whichVregOut, ctrlProps, ierr) |
| subroutine | controlstructmodule::estimatecontrollerproperties03 (sys, ctrl, msim, whichVregIn, whichVregOut, ctrlProps, ierr) |
| subroutine | controlstructmodule::estimatecontrollerproperties04 (sys, ctrl, msim, whichVregIn, whichVregOut, nStep, ctrlProps, ierr) |
| subroutine | controlstructmodule::estimatecontrollerproperties500 (sys, ctrl, msim, whichVregIn, whichVregOut, ctrlProps, ierr) |
| Perturbation method without initial perturbation. More... | |
| subroutine | controlstructmodule::perturbcontroller (sys, ctrl, msim, iPert, dt, dy, numVregOut, whichVregOut, uy, ierr) |
| Perturbs one of the inputs of the control system. More... | |
| subroutine | controlstructmodule::deallocatectrlcopy (ctrl) |
| Deallocates a control system copy. More... | |
Coupled control system and structure modal analysis.
| subroutine buildstructcontroljacobi::dmmm | ( | real(dp), dimension(:,:), intent(out) | Cmat, |
| real(dp), dimension(:,:), intent(in) | ctrlProp, | ||
| integer, intent(out) | ierr | ||
| ) |
Performs the matrix-matrix multiplication Cmat = A*ctrlProp*B.
A = pCSGrad_ForceWrtCout and B = pCSGrad_CinWrtSensor. Using LAPACK::DGEMM('N','N',m,n,k,alpha,A,ldA,B,ldB,beta,C,ldC)
| logical function getctrlparamswithstructsensors::hasstructsensor | ( | type(ctrlprm), intent(in) | prm, |
| logical, intent(in) | notify | ||
| ) |
Checks if a control parameter is coupled to a structural DOF.
| logical function getctrloutforces::isctrloutforce | ( | type(forcetype), intent(in) | force | ) |
Checks if the source of a force is a control system variable.
| integer function buildstructcontroljacobi::isnonsymmetric | ( | real(dp), dimension(:,:), intent(in) | A | ) |
Checks if the matrix A has non-symmetric terms.
| subroutine writecontrolstructtype::writeforcecontrol | ( | integer, intent(in) | idx, |
| type(forcecontrolgradtype), intent(in) | fcg | ||
| ) |
Writes out a controlstructmodule::forcecontrolgradtype object.
| subroutine writecontrolstructtype::writestructsensor | ( | integer, intent(in) | idx, |
| type(structsensorgradtype), intent(in) | ssg | ||
| ) |
Writes out a controlstructmodule::structsensorgradtype object.