fmiFunctions_1.0_fwd.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #ifndef fmiFunctions_1_0_fwd_h
  2. #define fmiFunctions_1_0_fwd_h
  3. /* Header file for declarations of generic FMI implementation. */
  4. #include "fmiFunctions_.h"
  5. /***************************************************
  6. Common Functions
  7. ****************************************************/
  8. DYMOLA_STATIC const char* fmiGetVersion_();
  9. DYMOLA_STATIC fmiStatus fmiSetDebugLogging_(fmiComponent c, fmiBoolean loggingOn);
  10. DYMOLA_STATIC fmiStatus fmiGetReal_(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]);
  11. DYMOLA_STATIC fmiStatus fmiGetInteger_(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]);
  12. DYMOLA_STATIC fmiStatus fmiGetBoolean_(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]);
  13. DYMOLA_STATIC fmiStatus fmiGetString_(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]);
  14. DYMOLA_STATIC fmiStatus fmiSetReal_(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]);
  15. DYMOLA_STATIC fmiStatus fmiSetInteger_(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]);
  16. DYMOLA_STATIC fmiStatus fmiSetBoolean_(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]);
  17. DYMOLA_STATIC fmiStatus fmiSetString_(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]);
  18. /***************************************************
  19. Functions for FMI for Model Exchange
  20. ****************************************************/
  21. DYMOLA_STATIC fmiComponent fmiInstantiateModel_(fmiString instanceName,
  22. fmiString GUID,
  23. fmiMECallbackFunctions functions,
  24. fmiBoolean loggingOn);
  25. DYMOLA_STATIC fmiStatus fmiInitialize_(fmiComponent c, fmiBoolean toleranceControlled,
  26. fmiReal relativeTolerance, fmiEventInfo* eventInfo);
  27. DYMOLA_STATIC void fmiFreeModelInstance_(fmiComponent c);
  28. DYMOLA_STATIC fmiStatus fmiSetTime_(fmiComponent c, fmiReal time);
  29. DYMOLA_STATIC fmiStatus fmiTerminate_(fmiComponent c);
  30. DYMOLA_STATIC fmiStatus fmiGetEventIndicators_(fmiComponent c, fmiReal eventIndicators[], size_t ni);
  31. DYMOLA_STATIC fmiStatus fmiGetDerivatives_(fmiComponent c, fmiReal derivatives[] , size_t nx);
  32. /* for source export, these require model exchange header files */
  33. #ifndef FMU_SKIP_MODEL_EXCHANGE
  34. DYMOLA_STATIC const char* fmiGetModelTypesPlatform_();
  35. DYMOLA_STATIC fmiStatus fmiSetContinuousStates_(fmiComponent c, const fmiReal x[], size_t nx);
  36. DYMOLA_STATIC fmiStatus fmiEventUpdate_(fmiComponent c, fmiBoolean intermediateResults, fmiEventInfo* eventInfo);
  37. DYMOLA_STATIC fmiStatus fmiCompletedIntegratorStep_(fmiComponent c, fmiBoolean* callEventUpdate);
  38. DYMOLA_STATIC fmiStatus fmiGetContinuousStates_(fmiComponent c, fmiReal states[], size_t nx);
  39. DYMOLA_STATIC fmiStatus fmiGetNominalContinuousStates_(fmiComponent c, fmiReal x_nominal[], size_t nx);
  40. DYMOLA_STATIC fmiStatus fmiGetStateValueReferences_(fmiComponent c, fmiValueReference vrx[], size_t nx);
  41. #endif /* FMU_SKIP_MODEL_EXCHANGE */
  42. /***************************************************
  43. Functions for FMI for Co-Simulation
  44. ****************************************************/
  45. /* for source export, these require co-simulation header files */
  46. #ifndef FMU_SKIP_CO_SIM
  47. DYMOLA_STATIC const char* fmiGetTypesPlatform_();
  48. DYMOLA_STATIC fmiComponent fmiInstantiateSlave_(fmiString instanceName,
  49. fmiString fmuGUID,
  50. fmiString fmuLocation,
  51. fmiString mimeType,
  52. fmiReal timeout,
  53. fmiBoolean visible,
  54. fmiBoolean interactive,
  55. fmiCoSimCallbackFunctions functions,
  56. fmiBoolean loggingOn);
  57. DYMOLA_STATIC void fmiFreeSlaveInstance_ (fmiComponent c);
  58. DYMOLA_STATIC fmiStatus fmiInitializeSlave_(fmiComponent c,
  59. fmiReal tStart,
  60. fmiBoolean StopTimeDefined,
  61. fmiReal tStop);
  62. DYMOLA_STATIC fmiStatus fmiTerminateSlave_(fmiComponent c);
  63. DYMOLA_STATIC fmiStatus fmiResetSlave_(fmiComponent c);
  64. DYMOLA_STATIC fmiStatus fmiSetRealInputDerivatives_(fmiComponent c,
  65. const fmiValueReference vr[],
  66. size_t nvr,
  67. const fmiInteger order[],
  68. const fmiReal value[]);
  69. DYMOLA_STATIC fmiStatus fmiGetRealOutputDerivatives_(fmiComponent c,
  70. const fmiValueReference vr[],
  71. size_t nvr,
  72. const fmiInteger order[],
  73. fmiReal value[]);
  74. DYMOLA_STATIC fmiStatus fmiDoStep_(fmiComponent c,
  75. fmiReal currentCommunicationPoint,
  76. fmiReal communicationStepSize,
  77. fmiBoolean newStep);
  78. DYMOLA_STATIC fmiStatus fmiCancelStep_(fmiComponent c);
  79. DYMOLA_STATIC fmiStatus fmiGetStatus_(fmiComponent c, const fmiStatusKind s, fmiStatus* value);
  80. DYMOLA_STATIC fmiStatus fmiGetRealStatus_(fmiComponent c, const fmiStatusKind s, fmiReal* value);
  81. DYMOLA_STATIC fmiStatus fmiGetIntegerStatus_(fmiComponent c, const fmiStatusKind s, fmiInteger* value);
  82. DYMOLA_STATIC fmiStatus fmiGetBooleanStatus_(fmiComponent c, const fmiStatusKind s, fmiBoolean* value);
  83. DYMOLA_STATIC fmiStatus fmiGetStringStatus_ (fmiComponent c, const fmiStatusKind s, fmiString* value);
  84. #endif /* FMU_SKIP_CO_SIM */
  85. #endif /* fmiFunctions_1_0_fwd_h */