CellML API interfaces/CIS.idl Source File Main Page Related Pages Namespaces Classes Files File List File Members All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages CIS.idl Go to the documentation of this file. 1 7 #include "xpcom.idl" 8 #include "CCGS.idl" 9 13 module cellml_services 14 { 15 typedef sequence<double> DoubleSeq; 16 17 enum ODEIntegrationStepType 18 { 19 RUNGE_KUTTA_2_3, 20 RUNGE_KUTTA_4, 21 RUNGE_KUTTA_FEHLBERG_4_5, 22 RUNGE_KUTTA_CASH_KARP_4_5, 23 RUNGE_KUTTA_PRINCE_DORMAND_8_9, 24 RUNGE_KUTTA_IMPLICIT_2, 25 RUNGE_KUTTA_IMPLICIT_2_SOLVE, 26 RUNGE_KUTTA_IMPLICIT_4, 27 BULIRSCH_STOER_IMPLICIT_BD, 28 GEAR_1, 29 GEAR_2, 30 ADAMS_MOULTON_1_12, 31 BDF_IMPLICIT_1_5_SOLVE 32 }; 33 34 interface IntegrationProgressObserver 35 : XPCOM::IObject 36 { 42 void computedConstants(in DoubleSeq values); 43 65 void results(in DoubleSeq state); 66 70 void done(); 71 76 void failed(in string errorMessage); 77 }; 78 #pragma terminal-interface 79 #pragma user-callback 80 81 interface CellMLIntegrationRun 82 : XPCOM::IObject 83 { 94 void setStepSizeControl(in double epsAbs, in double epsRel, 95 in double scalVar, in double scalRate, 96 in double maxStep); 97 107 void setTabulationStepControl(in double tabulationStepSize, in boolean strictTabulation); 108 121 void setResultRange(in double startBvar, in double stopBvar, 122 in double maxPointDensity); 123 130 void setProgressObserver(in IntegrationProgressObserver ipo); 131 145 void setOverride( 146 in cellml_services::VariableEvaluationType type, 147 in unsigned long variableIndex, 148 in double newValue 149 ) raises(cellml_api::CellMLException); 150 155 void start(); 156 160 void stop(); 161 170 void pause(); 171 176 void resume(); 177 }; 178 179 interface ODESolverRun 180 : CellMLIntegrationRun 181 { 185 attribute ODEIntegrationStepType stepType; 186 }; 187 #pragma terminal-interface 188 189 interface DAESolverRun 190 : CellMLIntegrationRun 191 { 192 }; 193 #pragma terminal-interface 194 195 interface CellMLCompiledModel 196 : XPCOM::IObject 197 { 201 readonly attribute cellml_api::Model model; 202 206 readonly attribute cellml_services::CodeInformation codeInformation; 207 }; 208 209 interface ODESolverCompiledModel 210 : CellMLCompiledModel 211 { 212 }; 213 #pragma terminal-interface 214 215 interface DAESolverCompiledModel 216 : CellMLCompiledModel 217 { 218 }; 219 #pragma terminal-interface 220 221 interface CellMLIntegrationService 222 : XPCOM::IObject 223 { 231 ODESolverCompiledModel compileModelODE(in cellml_api::Model aModel) 232 raises(cellml_api::CellMLException); 233 246 ODESolverCompiledModel compileDebugModelODE(in cellml_api::Model aModel) 247 raises(cellml_api::CellMLException); 248 256 DAESolverCompiledModel compileModelDAE(in cellml_api::Model aModel) 257 raises(cellml_api::CellMLException); 258 271 DAESolverCompiledModel compileDebugModelDAE(in cellml_api::Model aModel) 272 raises(cellml_api::CellMLException); 273 279 ODESolverRun createODEIntegrationRun(in ODESolverCompiledModel aModel); 280 286 DAESolverRun createDAEIntegrationRun(in DAESolverCompiledModel aModel); 287 291 readonly attribute wstring lastError; 292 }; 293 #pragma terminal-interface 294 }; CellML API Documentation Downloads Applications Support