CellML API /home/andrew/Documents/cellml-api-doxygen/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 #include "xpcom.idl" 2 #include "CCGS.idl" 3 9 module cellml_services 10 { 11 typedef sequence<double> DoubleSeq; 12 13 enum ODEIntegrationStepType 14 { 15 RUNGE_KUTTA_2_3, 16 RUNGE_KUTTA_4, 17 RUNGE_KUTTA_FEHLBERG_4_5, 18 RUNGE_KUTTA_CASH_KARP_4_5, 19 RUNGE_KUTTA_PRINCE_DORMAND_8_9, 20 RUNGE_KUTTA_IMPLICIT_2, 21 RUNGE_KUTTA_IMPLICIT_2_SOLVE, 22 RUNGE_KUTTA_IMPLICIT_4, 23 BULIRSCH_STOER_IMPLICIT_BD, 24 GEAR_1, 25 GEAR_2, 26 ADAMS_MOULTON_1_12, 27 BDF_IMPLICIT_1_5_SOLVE 28 }; 29 30 interface IntegrationProgressObserver 31 : XPCOM::IObject 32 { 38 void computedConstants(in DoubleSeq values); 39 67 void results(in DoubleSeq state); 68 72 void done(); 73 78 void failed(in string errorMessage); 79 }; 80 #pragma terminal-interface 81 82 interface CellMLIntegrationRun 83 : XPCOM::IObject 84 { 95 void setStepSizeControl(in double epsAbs, in double epsRel, 96 in double scalVar, in double scalRate, 97 in double maxStep); 98 108 void setTabulationStepControl(in double tabulationStepSize, in boolean strictTabulation); 109 122 void setResultRange(in double startBvar, in double stopBvar, 123 in double maxPointDensity); 124 131 void setProgressObserver(in IntegrationProgressObserver ipo); 132 146 void setOverride( 147 in cellml_services::VariableEvaluationType type, 148 in unsigned long variableIndex, 149 in double newValue 150 ) raises(cellml_api::CellMLException); 151 156 void start(); 157 161 void stop(); 162 }; 163 164 interface ODESolverRun 165 : CellMLIntegrationRun 166 { 170 attribute ODEIntegrationStepType stepType; 171 }; 172 #pragma terminal-interface 173 174 interface DAESolverRun 175 : CellMLIntegrationRun 176 { 177 }; 178 #pragma terminal-interface 179 180 interface CellMLCompiledModel 181 : XPCOM::IObject 182 { 186 readonly attribute cellml_api::Model model; 187 191 readonly attribute cellml_services::CodeInformation codeInformation; 192 }; 193 194 interface ODESolverCompiledModel 195 : CellMLCompiledModel 196 { 197 }; 198 #pragma terminal-interface 199 200 interface DAESolverCompiledModel 201 : CellMLCompiledModel 202 { 203 }; 204 #pragma terminal-interface 205 206 interface CellMLIntegrationService 207 : XPCOM::IObject 208 { 213 ODESolverCompiledModel compileModelODE(in cellml_api::Model aModel) 214 raises(cellml_api::CellMLException); 215 220 DAESolverCompiledModel compileModelDAE(in cellml_api::Model aModel) 221 raises(cellml_api::CellMLException); 222 228 ODESolverRun createODEIntegrationRun(in ODESolverCompiledModel aModel); 229 235 DAESolverRun createDAEIntegrationRun(in DAESolverCompiledModel aModel); 236 240 readonly attribute wstring lastError; 241 }; 242 #pragma terminal-interface 243 }; CellML API Documentation Downloads Applications Support