OpenFAST
Wind turbine multiphysics simulator
|
The SuperController module implements a super controller for the FAST.Farm code. More...
Data Types | |
interface | SC_DLL_CalcOutput |
interface | SC_DLL_CalcOutput_PROC |
interface | SC_DLL_End |
interface | SC_DLL_End_PROC |
interface | SC_DLL_GetInitData |
interface | SC_DLL_GetInitData_PROC |
interface | SC_DLL_Init |
interface | SC_DLL_Init_PROC |
Definition of the DLL Interface for the SuperController. More... | |
interface | SC_DLL_UpdateStates |
interface | SC_DLL_UpdateStates_PROC |
Functions/Subroutines | |
subroutine, public | sc_end (u, p, x, xd, z, OtherState, y, m, ErrStat, ErrMsg) |
subroutine, public | sc_init (InitInp, u, p, x, xd, z, OtherState, y, m, interval, InitOut, errStat, errMsg) |
subroutine, public | sc_calcoutput (t, u, p, x, xd, z, OtherState, y, m, errStat, errMsg) |
subroutine, public | sc_updatestates (t, n, u, utimes, p, x, xd, z, OtherState, m, ErrStat, ErrMsg) |
This is a loose coupling routine for solving constraint states, integrating continuous states, and updating discrete and other states. More... | |
Variables | |
type(progdesc), parameter | sc_ver = ProgDesc( 'Super Controller', '', '' ) |
The SuperController module implements a super controller for the FAST.Farm code.
SuperController_Types will be auto-generated by the FAST registry program, based on the variables specified in the SuperController_Registry.txt file.
subroutine, public supercontroller::sc_calcoutput | ( | real(dbki), intent(in) | t, |
type(sc_inputtype), intent(in) | u, | ||
type(sc_parametertype), intent(in) | p, | ||
type(sc_continuousstatetype), intent(in) | x, | ||
type(sc_discretestatetype), intent(in) | xd, | ||
type(sc_constraintstatetype), intent(in) | z, | ||
type(sc_otherstatetype), intent(in) | OtherState, | ||
type(sc_outputtype), intent(inout) | y, | ||
type(sc_miscvartype), intent(inout) | m, | ||
integer(intki), intent(out) | errStat, | ||
character(*), intent(out) | errMsg | ||
) |
[in] | t | Current simulation time in seconds |
[in] | u | Inputs at Time t |
[in] | p | Parameters |
[in] | x | Continuous states at t |
[in] | xd | Discrete states at t |
[in] | z | Constraint states at t |
[in] | otherstate | Other states |
[in,out] | y | Outputs computed at t (Input only so that mesh con- nectivity information does not have to be recalculated) |
[in,out] | m | Misc variables for optimization (not copied in glue code) |
[out] | errstat | Error status of the operation |
[out] | errmsg | Error message if ErrStat /= ErrID_None |
subroutine, public supercontroller::sc_end | ( | type(sc_inputtype), intent(inout) | u, |
type(sc_parametertype), intent(inout) | p, | ||
type(sc_continuousstatetype), intent(inout) | x, | ||
type(sc_discretestatetype), intent(inout) | xd, | ||
type(sc_constraintstatetype), intent(inout) | z, | ||
type(sc_otherstatetype), intent(inout) | OtherState, | ||
type(sc_outputtype), intent(inout) | y, | ||
type(sc_miscvartype), intent(inout) | m, | ||
integer(intki), intent(out) | ErrStat, | ||
character(*), intent(out) | ErrMsg | ||
) |
[in,out] | u | System inputs |
[in,out] | p | Parameters |
[in,out] | x | Continuous states |
[in,out] | xd | Discrete states |
[in,out] | z | Constraint states |
[in,out] | otherstate | Other states |
[in,out] | y | System outputs |
[in,out] | m | Initial misc (optimization) variables |
[out] | errstat | Error status of the operation |
[out] | errmsg | Error message if ErrStat /= ErrID_None |
subroutine, public supercontroller::sc_init | ( | type(sc_initinputtype), intent(in) | InitInp, |
type(sc_inputtype), intent(out) | u, | ||
type(sc_parametertype), intent(out) | p, | ||
type(sc_continuousstatetype), intent(out) | x, | ||
type(sc_discretestatetype), intent(out) | xd, | ||
type(sc_constraintstatetype), intent(out) | z, | ||
type(sc_otherstatetype), intent(out) | OtherState, | ||
type(sc_outputtype), intent(out) | y, | ||
type(sc_miscvartype), intent(out) | m, | ||
real(dbki), intent(in) | interval, | ||
type(sc_initoutputtype), intent(out) | InitOut, | ||
integer(intki), intent(out) | errStat, | ||
character(1024), intent(out) | errMsg | ||
) |
[in] | initinp | Input data for initialization routine |
[out] | u | An initial guess for the input; input mesh must be defined |
[out] | p | Parameters |
[out] | x | Initial continuous states |
[out] | xd | Initial discrete states |
[out] | z | Initial guess of the constraint states |
[out] | otherstate | Initial other states |
[out] | y | Initial system outputs (outputs are not calculated; only the output mesh is initialized) |
[out] | m | Misc variables for optimization (not copied in glue code) |
[in] | interval | Coupling interval in seconds |
[out] | initout | Output for initialization routine |
[out] | errstat | Error status of the operation |
[out] | errmsg | Error message if ErrStat /= ErrID_None |
subroutine, public supercontroller::sc_updatestates | ( | real(dbki), intent(in) | t, |
integer(intki), intent(in) | n, | ||
type(sc_inputtype), intent(inout) | u, | ||
real(dbki), dimension(:), intent(in) | utimes, | ||
type(sc_parametertype), intent(in) | p, | ||
type(sc_continuousstatetype), intent(inout) | x, | ||
type(sc_discretestatetype), intent(inout) | xd, | ||
type(sc_constraintstatetype), intent(inout) | z, | ||
type(sc_otherstatetype), intent(inout) | OtherState, | ||
type(sc_miscvartype), intent(inout) | m, | ||
integer(intki), intent(out) | ErrStat, | ||
character(*), intent(out) | ErrMsg | ||
) |
This is a loose coupling routine for solving constraint states, integrating continuous states, and updating discrete and other states.
Continuous, constraint, discrete, and other states are updated to values at t + Interval.
[in] | t | Current simulation time in seconds |
[in] | n | Current simulation time step n = 0,1,... |
[in,out] | u | Inputs at utimes (out only for mesh record-keeping in ExtrapInterp routine) |
[in] | utimes | Times associated with u(:), in seconds |
[in] | p | Parameters |
[in,out] | x | Input: Continuous states at t; Output: Continuous states at t + Interval |
[in,out] | xd | Input: Discrete states at t; Output: Discrete states at t + Interval |
[in,out] | z | Input: Constraint states at t; Output: Constraint states at t + Interval |
[in,out] | otherstate | Other states: Other states at t; Output: Other states at t + Interval |
[in,out] | m | Misc variables for optimization (not copied in glue code) |
[out] | errstat | Error status of the operation |
[out] | errmsg | Error message if ErrStat /= ErrID_None |