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 }; 162 163 interface ODESolverRun 164 : CellMLIntegrationRun 165 { 169 attribute ODEIntegrationStepType stepType; 170 }; 171 #pragma terminal-interface 172 173 interface DAESolverRun 174 : CellMLIntegrationRun 175 { 176 }; 177 #pragma terminal-interface 178 179 interface CellMLCompiledModel 180 : XPCOM::IObject 181 { 185 readonly attribute cellml_api::Model model; 186 190 readonly attribute cellml_services::CodeInformation codeInformation; 191 }; 192 193 interface ODESolverCompiledModel 194 : CellMLCompiledModel 195 { 196 }; 197 #pragma terminal-interface 198 199 interface DAESolverCompiledModel 200 : CellMLCompiledModel 201 { 202 }; 203 #pragma terminal-interface 204 205 interface CellMLIntegrationService 206 : XPCOM::IObject 207 { 215 ODESolverCompiledModel compileModelODE(in cellml_api::Model aModel) 216 raises(cellml_api::CellMLException); 217 225 DAESolverCompiledModel compileModelDAE(in cellml_api::Model aModel) 226 raises(cellml_api::CellMLException); 227 233 ODESolverRun createODEIntegrationRun(in ODESolverCompiledModel aModel); 234 240 DAESolverRun createDAEIntegrationRun(in DAESolverCompiledModel aModel); 241 245 readonly attribute wstring lastError; 246 }; 247 #pragma terminal-interface 248 }; CellML API Documentation Downloads Applications Support