OpenCMISS-Iron C Bindings API Documentation
opencmiss_iron.h
Go to the documentation of this file.
1 /*
2  * iron.h. This file is automatically generated from opencmiss.f90 and opencmiss_iron.f90.
3  * Do not edit this file directly, instead edit opencmiss.f90, opencmiss_iron.f90 or the generate_bindings script
4  */
5 
6 #ifndef OPENCMISS_H
7 #define OPENCMISS_H
8 
9 #include "iron_c_export.h"
10 /*
11  * Defines
12  */
13 
14 const int CMFE_NO_ERROR = 0;
15 const int CMFE_POINTER_IS_NULL = -1;
16 const int CMFE_POINTER_NOT_NULL = -2;
19 
20 typedef unsigned int cmfe_Bool;
21 const cmfe_Bool cmfe_True = 1;
23 
24 typedef int cmfe_Error;
25 
26 struct cmfe_BasisType_;
27 /*>Contains information about a basis function. */
28 typedef struct cmfe_BasisType_ *cmfe_BasisType;
29 
30 struct cmfe_BoundaryConditionsType_;
31 /*>Contains information on the boundary conditions for the equations set. */
32 typedef struct cmfe_BoundaryConditionsType_ *cmfe_BoundaryConditionsType;
33 
34 struct cmfe_CellMLType_;
35 /*>Contains information on a CellML environment. */
36 typedef struct cmfe_CellMLType_ *cmfe_CellMLType;
37 
38 struct cmfe_CellMLEquationsType_;
39 /*>Contains information about the CellML equations for a solver. */
40 typedef struct cmfe_CellMLEquationsType_ *cmfe_CellMLEquationsType;
41 
42 struct cmfe_ControlLoopType_;
43 /*>Contains information on a control loop. */
44 typedef struct cmfe_ControlLoopType_ *cmfe_ControlLoopType;
45 
46 struct cmfe_CoordinateSystemType_;
47 /*>Contains information on a coordinate system. */
48 typedef struct cmfe_CoordinateSystemType_ *cmfe_CoordinateSystemType;
49 
50 struct cmfe_DataPointsType_;
51 /*>Contains information on the data points defined on a region. */
52 typedef struct cmfe_DataPointsType_ *cmfe_DataPointsType;
53 
54 struct cmfe_DataProjectionType_;
55 /*>Contains information about a data projection. */
56 typedef struct cmfe_DataProjectionType_ *cmfe_DataProjectionType;
57 
58 struct cmfe_DecompositionType_;
59 /*>Contains information on the mesh decomposition. */
60 typedef struct cmfe_DecompositionType_ *cmfe_DecompositionType;
61 
62 struct cmfe_EquationsType_;
63 /*>Contains information about the equations in an equations set. */
64 typedef struct cmfe_EquationsType_ *cmfe_EquationsType;
65 
66 struct cmfe_EquationsSetType_;
67 /*>Contains information on an equations set defined on a region. */
68 typedef struct cmfe_EquationsSetType_ *cmfe_EquationsSetType;
69 
70 struct cmfe_FieldType_;
71 /*>Contains information for a field defined on a region. */
72 typedef struct cmfe_FieldType_ *cmfe_FieldType;
73 
74 struct cmfe_FieldsType_;
75 /*>Contains information for a fields defined on a region. */
76 typedef struct cmfe_FieldsType_ *cmfe_FieldsType;
77 
78 struct cmfe_GeneratedMeshType_;
79 /*>Contains information on a generated mesh. */
80 typedef struct cmfe_GeneratedMeshType_ *cmfe_GeneratedMeshType;
81 
82 struct cmfe_HistoryType_;
83 /*>Contains information about a history file for a control loop. */
84 typedef struct cmfe_HistoryType_ *cmfe_HistoryType;
85 
86 struct cmfe_InterfaceType_;
87 /*>Contains information about an interface. */
88 typedef struct cmfe_InterfaceType_ *cmfe_InterfaceType;
89 
90 struct cmfe_InterfaceConditionType_;
91 /*>Contains information about an interface condition. */
92 typedef struct cmfe_InterfaceConditionType_ *cmfe_InterfaceConditionType;
93 
94 struct cmfe_InterfaceEquationsType_;
95 /*>Contains information about an interface condition. */
96 typedef struct cmfe_InterfaceEquationsType_ *cmfe_InterfaceEquationsType;
97 
98 struct cmfe_InterfaceMeshConnectivityType_;
99 /*>Contains information on an interfaces meshes connectivity. */
100 typedef struct cmfe_InterfaceMeshConnectivityType_ *cmfe_InterfaceMeshConnectivityType;
101 
102 struct cmfe_InterfacePointsConnectivityType_;
103 /*>Contains information on an interfaces points connectivity. */
104 typedef struct cmfe_InterfacePointsConnectivityType_ *cmfe_InterfacePointsConnectivityType;
105 
106 struct cmfe_DistributedMatrixType_;
107 /*>A matrix that may be distributed across multiple computational nodes
108  *>and may use sparse or full storage. */
109 typedef struct cmfe_DistributedMatrixType_ *cmfe_DistributedMatrixType;
110 
111 struct cmfe_DistributedVectorType_;
112 /*>A vector that may be distributed across multiple computational nodes */
113 typedef struct cmfe_DistributedVectorType_ *cmfe_DistributedVectorType;
114 
115 struct cmfe_MeshType_;
116 /*>Contains information on a mesh defined on a region. */
117 typedef struct cmfe_MeshType_ *cmfe_MeshType;
118 
119 struct cmfe_MeshElementsType_;
120 /*>Contains information on a mesh elements defined in a mesh */
121 typedef struct cmfe_MeshElementsType_ *cmfe_MeshElementsType;
122 
123 struct cmfe_MeshEmbeddingType_;
124 /*>Contains information on an embedded mesh */
125 typedef struct cmfe_MeshEmbeddingType_ *cmfe_MeshEmbeddingType;
126 
127 struct cmfe_MeshNodesType_;
128 /*>Contains information on a mesh nodes defined in a mesh */
129 typedef struct cmfe_MeshNodesType_ *cmfe_MeshNodesType;
130 
131 struct cmfe_NodesType_;
132 /*>Contains information on the nodes defined on a region. */
133 typedef struct cmfe_NodesType_ *cmfe_NodesType;
134 
135 struct cmfe_ProblemType_;
136 /*>Contains information for a problem. */
137 typedef struct cmfe_ProblemType_ *cmfe_ProblemType;
138 
139 struct cmfe_QuadratureType_;
140 /*>Contains information for a particular quadrature scheme for a basis. */
141 typedef struct cmfe_QuadratureType_ *cmfe_QuadratureType;
142 
143 struct cmfe_RegionType_;
144 /*>Contains information for a region. */
145 typedef struct cmfe_RegionType_ *cmfe_RegionType;
146 
147 struct cmfe_SolverType_;
148 /*>Contains information about a solver. */
149 typedef struct cmfe_SolverType_ *cmfe_SolverType;
150 
151 struct cmfe_SolverEquationsType_;
152 /*>Contains information about the solver equations for a solver. */
153 typedef struct cmfe_SolverEquationsType_ *cmfe_SolverEquationsType;
154 
155 struct cmfe_ComputationalWorkGroupType_;
156 /*>Contains information on a computational work group */
157 typedef struct cmfe_ComputationalWorkGroupType_ *cmfe_ComputationalWorkGroupType;
158 
159 /*>\addtogroup OPENCMISS_DiagnosticAndTimingConstants OPENCMISS::DiagnosticAndTiming::Constants */
160 /*>\brief Diagnostic and Timing constants. */
161 /*>@{ */
162 /*>\addtogroup OPENCMISS_DiagnosticTypes OPENCMISS::DiagnosticAndTiming::DiagnosticTypes */
163 /*>\brief Diganostic constants. */
164 /*>\see OPENCMISS::DiagnosticTypes,OPENCMISS */
165 /*>@{ */
166 const int CMFE_ALL_DIAG_TYPE = 1; /*<Type for setting diagnostic output in all routines \see OPENCMISS_DiagnosticTypes,OPENCMISS */
167 const int CMFE_IN_DIAG_TYPE = 2; /*<Type for setting diagnostic output in one routine \see OPENCMISS_DiagnosticTypes,OPENCMISS */
168 const int CMFE_FROM_DIAG_TYPE = 3; /*<Type for setting diagnostic output in one routine downwards \see OPENCMISS_DiagnosticTypes,OPENCMISS */
169 /*>@} */
170 /*>\addtogroup OPENCMISS_TimingTypes OPENCMISS::DiagnosticAndTiming::TimingTypes */
171 /*>\brief Timing constants. */
172 /*>\see OPENCMISS::TimingTypes,OPENCMISS */
173 /*>@{ */
174 const int CMFE_ALL_TIMING_TYPE = 1; /*<Type for setting timing output in all routines \see OPENCMISS_TimingTypes,OPENCMISS */
175 const int CMFE_IN_TIMING_TYPE = 2; /*<Type for setting timing output in one routine \see OPENCMISS_TimingTypes,OPENCMISS */
176 const int CMFE_FROM_TIMING_TYPE = 3; /*<Type for setting timing output from one routine downwards \see OPENCMISS_TimingTypes,OPENCMISS */
177 /*>@} */
178 /*>@} */
179 /*>\addtogroup OPENCMISS_BasisConstants OPENCMISS::Basis::Constants */
180 /*>\brief Basis function constants. */
181 /*>@{ */
182 /*>\addtogroup OPENCMISS_BasisTypes OPENCMISS::Basis::BasisTypes */
183 /*>\brief Basis definition type parameters. */
184 /*>\see OPENCMISS::BasisConstants,OPENCMISS */
185 /*>@{ symbol 'nodenumber' at (1) has no IMPLICIT type. */
186 const int CMFE_BASIS_LAGRANGE_HERMITE_TP_TYPE = 1; /*<Lagrange-Hermite tensor product basis type \see OPENCMISS_BasisTypes,OPENCMISS */
187 const int CMFE_BASIS_SIMPLEX_TYPE = 2; /*<Simplex basis type \see OPENCMISS_BasisTypes,OPENCMISS */
188 const int CMFE_BASIS_SERENDIPITY_TYPE = 3; /*<Serendipity basis type \see OPENCMISS_BasisTypes,OPENCMISS */
189 const int CMFE_BASIS_AUXILLIARY_TYPE = 4; /*<Auxillary basis type \see OPENCMISS_BasisTypes,OPENCMISS */
190 const int CMFE_BASIS_B_SPLINE_TP_TYPE = 5; /*<B-spline basis type \see OPENCMISS_BasisTypes,OPENCMISS */
191 const int CMFE_BASIS_FOURIER_LAGRANGE_HERMITE_TP_TYPE = 6; /*<Fourier-Lagrange tensor product basis type \see OPENCMISS_BasisTypes,OPENCMISS */
192 const int CMFE_BASIS_EXTENDED_LAGRANGE_TP_TYPE = 7; /*<Extendend Lagrange tensor product basis type \see OPENCMISS_BasisTypes,OPENCMISS */
193 /*>@} */
194 /*>\addtogroup OPENCMISS_BasisInterpolationSpecifications OPENCMISS::Basis::InterpolationSpecifications */
195 /*>\brief Interpolation specification parameters */
196 /*>\see OPENCMISS::BasisConstants,OPENCMISS */
197 /*>@{ */
198 const int CMFE_BASIS_LINEAR_LAGRANGE_INTERPOLATION = 1; /*<Linear Lagrange interpolation specification \see OPENCMISS_BasisInterpolationSpecifications,OPENCMISS */
199 const int CMFE_BASIS_QUADRATIC_LAGRANGE_INTERPOLATION = 2; /*<Quadratic Lagrange interpolation specification \see OPENCMISS_BasisInterpolationSpecifications,OPENCMISS */
200 const int CMFE_BASIS_CUBIC_LAGRANGE_INTERPOLATION = 3; /*<Cubic Lagrange interpolation specification \see OPENCMISS_BasisInterpolationSpecifications,OPENCMISS */
201 const int CMFE_BASIS_CUBIC_HERMITE_INTERPOLATION = 4; /*<Cubic Hermite interpolation specification \see OPENCMISS_BasisInterpolationSpecifications,OPENCMISS */
202 const int CMFE_BASIS_QUADRATIC1_HERMITE_INTERPOLATION = 5; /*<Quadratic Hermite (no derivative at xi=0) interpolation specification \see OPENCMISS_BasisInterpolationSpecifications,OPENCMISS */
203 const int CMFE_BASIS_QUADRATIC2_HERMITE_INTERPOLATION = 6; /*<Quadratic Hermite (no derivative at xi=1) interpolation specification \see OPENCMISS_BasisInterpolationSpecifications,OPENCMISS */
204 const int CMFE_BASIS_LINEAR_SIMPLEX_INTERPOLATION = 7; /*<Linear Simplex interpolation specification \see OPENCMISS_BasisInterpolationSpecifications,OPENCMISS */
205 const int CMFE_BASIS_QUADRATIC_SIMPLEX_INTERPOLATION = 8; /*<Quadratic Simplex interpolation specification \see OPENCMISS_BasisInterpolationSpecifications,OPENCMISS */
206 const int CMFE_BASIS_CUBIC_SIMPLEX_INTERPOLATION = 9; /*<Cubic Simplex interpolation specification \see OPENCMISS_BasisInterpolationSpecifications,OPENCMISS */
207 /*>@} */
208 /*>\addtogroup OPENCMISS_BasisQuadratureSchemes OPENCMISS::Basis::QuadratureSchemes */
209 /*>\brief Quadrature scheme parameters */
210 /*>\see OPENCMISS::BasisConstants,OPENCMISS */
211 /*>@{ */
212 const int CMFE_BASIS_DEFAULT_QUADRATURE_SCHEME = 1; /*<Identifier for the default quadrature scheme \see OPENCMISS_BasisQuadratureSchemes,OPENCMISS */
213 const int CMFE_BASIS_LOW_QUADRATURE_SCHEME = 2; /*<Identifier for a low order quadrature scheme \see OPENCMISS_BasisQuadratureSchemes,OPENCMISS */
214 const int CMFE_BASIS_MID_QUADRATURE_SCHEME = 3; /*<Identifier for a mid order quadrature scheme \see OPENCMISS_BasisQuadratureSchemes,OPENCMISS */
215 const int CMFE_BASIS_HIGH_QUADRATURE_SCHEME = 4; /*<Identifier for a high order quadrature scheme \see OPENCMISS_BasisQuadratureSchemes,OPENCMISS */
216 /*>@} */
217 /*>\addtogroup OPENCMISS_BasisQuadratureTypes OPENCMISS::Basis::QuadratureTypes */
218 /*>\brief Basis quadrature type parameters. */
219 /*>\see OPENCMISS::BasisConstants,OPENCMISS */
220 /*>@{ */
221 const int CMFE_BASIS_GAUSS_LEGENDRE_QUADRATURE = 1; /*<Gauss-Legendre quadrature \see OPENCMISS_BasisQuadratureTypes,OPENCMISS */
222 const int CMFE_BASIS_GAUSS_LAGUERRE_QUADRATURE = 2; /*<Gauss-Laguerre quadrature \see OPENCMISS_BasisQuadratureTypes,OPENCMISS */
223 const int CMFE_BASIS_GUASS_HERMITE_QUADRATURE = 3; /*<Gauss-Hermite quadrature \see OPENCMISS_BasisQuadratureTypes,OPENCMISS */
224 const int CMFE_BASIS_ADAPTIVE_GAUSS_LEGENDRE_QUADRATURE = 4; /*<Adaptive Gauss-Legendre quadrature \see OPENCMISS_BasisQuadratureTypes,OPENCMISS */
225 const int CMFE_BASIS_GAUSS_SIMPLEX_QUADRATURE = 5; /*<Gauss-Legendre for Simplex elements quadrature \see OPENCMISS_BasisQuadratureTypes,OPENCMISS */
226 /*>@} */
227 /*>\addtogroup OPENCMISS_BasisXiCollapse OPENCMISS::Basis::XiCollapse */
228 /*>\brief Basis Xi collapse parameters. */
229 /*>\see OPENCMISS::Basis,OPENCMISS */
230 /*>@{ */
231 const int CMFE_BASIS_XI_COLLAPSED = 1; /*<The Xi direction is collapsed \see OPENCMISS_BasisXiCollapse,OPENCMISS */
232 const int CMFE_BASIS_COLLAPSED_AT_XI0 = 2; /*<The Xi direction at the xi=0 end of this Xi direction is collapsed \see OPENCMISS_BasisXiCollapse,OPENCMISS */
233 const int CMFE_BASIS_COLLAPSED_AT_XI1 = 3; /*<The Xi direction at the xi=1 end of this Xi direction is collapsed \see OPENCMISS_BasisXiCollapse,OPENCMISS */
234 const int CMFE_BASIS_NOT_COLLAPSED = 4; /*<The Xi direction is not collapsed \see OPENCMISS_BasisXiCollapse,OPENCMISS */
235 /*>@} */
236 /*>@} */
237 /*>\addtogroup OPENCMISS_BoundaryConditionsConstants OPENCMISS::BoundaryConditions::Constants */
238 /*>\brief Boundary conditions constants. */
239 /*>@{ */
240 /*>\addtogroup OPENCMISS_BoundaryConditionsTypes OPENCMISS::BoundaryConditions::Types */
241 /*>\brief Specific boundary condition types, which might only be applicable to certain equation sets. */
242 /*>\see OPENCMISS::BoundaryConditions,OPENCMISS */
243 /*>@{ */
244 const int CMFE_BOUNDARY_CONDITION_FREE = 0; /*<The dof is free. */
245 const int CMFE_BOUNDARY_CONDITION_FIXED = 1; /*<The dof is fixed as a boundary condition. */
252 const int CMFE_BOUNDARY_CONDITION_NEUMANN_POINT = 8; /*<Specify the normal derivative at a node, which is then integrated to find the nodal load term */
253 const int CMFE_BOUNDARY_CONDITION_NEUMANN_POINT_INCREMENTED = 22; /*<Specify the normal derivative at a node, which is then integrated to find the nodal load term. The value is incremented inside a load incremented control loop. */
254 const int CMFE_BOUNDARY_CONDITION_NEUMANN_INTEGRATED = 9; /*<Set the integrated right hand side load value directly */
263 const int CMFE_BOUNDARY_CONDITION_NEUMANN_INTEGRATED_ONLY = 20; /*<A Neumann integrated boundary condition, and no point values will be integrated over a face or line that includes this dof */
267 /*>@} */
268 /*>\addtogroup OPENCMISS_BoundaryConditionSparsityTypes OPENCMISS::BoundaryConditions::SparsityTypes */
269 /*>\brief Storage type for matrices used by boundary conditions. */
270 /*>\see OPENCMISS::BoundaryConditions,OPENCMISS */
271 /*>@{ */
274 /*>@} */
275 /*>@} */
276 /*>\addtogroup OPENCMISS_CMISSConstants OpenCMISS::Iron::cmfe_::Constants */
277 /*>\brief CMISS constants. */
278 /*>@{ */
279 /*>\addtogroup OPENCMISS_CMISSErrorHandlingModes OpenCMISS::Iron::cmfe_::ErrorHandlingModes */
280 /*>\brief CMISS error handling mode parameters */
281 /*>\see OpenCMISS::Iron::cmfe_,OPENCMISS */
282 /*>@{ */
283 const int CMFE_ERRORS_RETURN_ERROR_CODE = 0; /*<Just return the error code \see OPENCMISS_CMISSErrorHandlingModes,OPENCMISS */
284 const int CMFE_ERRORS_OUTPUT_ERROR = 1; /*<Output the error traceback and return the error code \see OPENCMISS_CMISSErrorHandlingModes,OPENCMISS */
285 const int CMFE_ERRORS_TRAP_ERROR = 2; /*<Trap the error by outputing the error traceback and stopping the program \see OPENCMISS_CMISSErrorHandlingModes,OPENCMISS */
286 /*>@} */
287 /*>@} */
288 /*>\addtogroup OPENCMISS_CellMLConstants OPENCMISS::CellML::Constants */
289 /*>\brief CellML constants. */
290 /*>@{ */
291 /*>\addtogroup OPENCMISS_CellMLFieldTypes OPENCMISS::CellML::FieldTypes */
292 /*>\brief CellML field type parameters. */
293 /*>\see OPENCMISS::CellML,OPENCMISS */
294 /*>@{ */
295 const int CMFE_CELLML_MODELS_FIELD = 1; /*<CellML models field type \see OPENCMISS_CellMLFieldTypes,OPENCMISS */
296 const int CMFE_CELLML_STATE_FIELD = 2; /*<CellML state field type \see OPENCMISS_CellMLFieldTypes,OPENCMISS */
297 const int CMFE_CELLML_INTERMEDIATE_FIELD = 3; /*<CellML intermediate field type \see OPENCMISS_CellMLFieldTypes,OPENCMISS */
298 const int CMFE_CELLML_PARAMETERS_FIELD = 4; /*<CellML parameters field type \see OPENCMISS_CellMLFieldTypes,OPENCMISS */
299 /*>@} */
300 /*>@} */
301 /*>\addtogroup OPENCMISS_Constants OPENCMISS::Constants */
302 /*>\brief OpeCMISS constants. */
303 /*>@{ */
304 /*>\addtogroup OPENCMISS_DataTypeConstants OPENCMISS::Constants::DataTypeConstants */
305 /*>\brief Data type constants for base data types */
306 /*>\see OPENCMISS_Constants,OPENCMISS */
307 /*>@{ */
308 const int CMFE_INTEGER_TYPE = 1; /*<Integer data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
309 const int CMFE_SHORT_INTEGER_TYPE = 2; /*<Short integer data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
310 const int CMFE_LONG_INTEGER_TYPE = 3; /*<Long integer data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
311 const int CMFE_SINGLE_REAL_TYPE = 4; /*<Single precision real data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
312 const int CMFE_DOUBLE_REAL_TYPE = 5; /*<Double precision real data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
313 const int CMFE_QUADRAUPLE_REAL_TYPE = 6; /*<Quadruple precision real data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
314 const int CMFE_CHARACTER_TYPE = 7; /*<Character data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
315 const int CMFE_LOGICAL_TYPE = 8; /*<Logical data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
316 const int CMFE_SINGLE_COMPLEX_TYPE = 9; /*<Single precision complex data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
317 const int CMFE_DOUBLE_COMPLEX_TYPE = 10; /*<Double precision complex data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
318 const int CMFE_QUADRUPLE_COMPLEX_TYPE = 11; /*<Quadruple precision complex data type \see OPENCMISS_DataTypeConstants,OPENCMISS */
319 /*>@} */
320 /*>\addtogroup OPENCMISS_GlobalDerivativeConstants OPENCMISS::Constants::GlobalDerivativeConstants */
321 /*>\brief Global derivative constant identifiers */
322 /*>\see OPENCMISS_CONSTANTS,OPENCMISS */
323 /*>@{ */
324 const int CMFE_NO_GLOBAL_DERIV = 1; /*<No global derivative i.e., u \see OPENCMISS_GlobalDerivativeConstants,OPENCMISS */
325 const int CMFE_GLOBAL_DERIV_S1 = 2; /*<First global derivative in the s1 direction i.e., du/ds1 \see OPENCMISS_GlobalDerivativeConstants,OPENCMISS */
326 const int CMFE_GLOBAL_DERIV_S2 = 3; /*<First global derivative in the s2 direction i.e., du/ds2 \see OPENCMISS_GlobalDerivativeConstants,OPENCMISS */
327 const int CMFE_GLOBAL_DERIV_S1_S2 = 4; /*<Global Cross derivative in the s1 and s2 direction i.e., d^2u/ds1ds2 \see OPENCMISS_GlobalDerivativeConstants,OPENCMISS */
328 const int CMFE_GLOBAL_DERIV_S3 = 5; /*<First global derivative in the s3 direction i.e., du/ds3 \see OPENCMISS_GlobalDerivativeConstants,OPENCMISS */
329 const int CMFE_GLOBAL_DERIV_S1_S3 = 6; /*<Global Cross derivative in the s1 and s3 direction i.e., d^2u/ds1ds3 \see OPENCMISS_GlobalDerivativeConstants,OPENCMISS */
330 const int CMFE_GLOBAL_DERIV_S2_S3 = 7; /*<Global Cross derivative in the s2 and s3 direction i.e., d^2u/ds2ds3 \see OPENCMISS_GlobalDerivativeConstants,OPENCMISS */
331 const int CMFE_GLOBAL_DERIV_S1_S2_S3 = 8; /*<Cross derivative in the s1, s2 and s3 direction i.e., d^3u/ds1ds2ds3 \see OPENCMISS_GlobalDerivativeConstants,OPENCMISS */
332 /*>@} */
333 /*>@} */
334 /*>\addtogroup OPENCMISS_ControlLoopConstants OPENCMISS::ControlLoop::Constants */
335 /*>\brief Control loops constants. */
336 /*>@{ */
337 /*>\addtogroup OPENCMISS_ControlLoopIdentifiers OPENCMISS::ControlLoop::Identifiers */
338 /*>\brief The control loop identification parameters. */
339 /*>\see OPENCMISS::ControlLoop,OPENCMISS */
340 /*>@{ */
341 const int CMFE_CONTROL_LOOP_NODE = 0; /*<The identifier for a each "leaf" node in a control loop. \see OPENCMISS_ControlLoopIdentifiers,OPENCMISS */
342 /*>@} */
343 /*>\addtogroup OPENCMISS_ControlLoopOutputTypes OPENCMISS::ControlLoop::OutputTypes */
344 /*>\brief The control loop output types. */
345 /*>\see OPENCMISS::ControlLoop,OPENCMISS */
346 /*>@{ */
347 const int CMFE_CONTROL_LOOP_NO_OUTPUT = 0; /*<No output from the control loop. \see OPENCMISS_ControlLoopOutputTypes,OPENCMISS */
348 const int CMFE_CONTROL_LOOP_PROGRESS_OUTPUT = 1; /*<Progress output from the control loop. \see OPENCMISS_ControlLoopOutputTypes,OPENCMISS */
349 const int CMFE_CONTROL_LOOP_TIMING_OUTPUT = 2; /*<Timing output from the control loop. \see OPENCMISS_ControlLoopOutputTypes,OPENCMISS */
350 /*>@} */
351 /*>@} */
352 /*>\addtogroup OPENCMISS_CoordinateConstants OPENCMISS::Coordinate::Constants */
353 /*>\brief Coordinate constants. */
354 /*>@{ */
355 /*>\addtogroup OPENCMISS_CoordinateSystemTypes OPENCMISS::Coordinate::SystemTypes */
356 /*>\brief Coordinate system type parameters. */
357 /*>\see OPENCMISS::Coordinate,OPENCMISS */
358 /*>@{ */
359 const int CMFE_COORDINATE_RECTANGULAR_CARTESIAN_TYPE = 1; /*<Rectangular Cartesian coordinate system type \see OPENCMISS_CoordinateSystemTypes,OPENCMISS */
360 const int CMFE_COORDINATE_CYLINDRICAL_POLAR_TYPE = 2; /*<Cylindrical polar coordinate system type \see OPENCMISS_CoordinateSystemTypes,OPENCMISS */
361 const int CMFE_COORDINATE_SPHERICAL_POLAR_TYPE = 3; /*<Spherical polar coordinate system type \see OPENCMISS_CoordinateSystemTypes,OPENCMISS */
362 const int CMFE_COORDINATE_PROLATE_SPHEROIDAL_TYPE = 4; /*<Prolate spheroidal coordinate system type \see OPENCMISS_CoordinateSystemTypes,OPENCMISS */
363 const int CMFE_COORDINATE_OBLATE_SPHEROIDAL_TYPE = 5; /*<Oblate spheroidal coordinate system type \see OPENCMISS_CoordinateSystemTypes,OPENCMISS */
364 /*>@} */
365 /*>\addtogroup OPENCMISS_CoordinateRadialInterpolations OPENCMISS::Coordinate::RadialInterpolations */
366 /*>\brief The type of radial interpolation for polar coordinate systems */
367 /*>\see OPENCMISS::Coordinate,OPENCMISS */
368 /*>@{ */
369 const int CMFE_COORDINATE_NO_RADIAL_INTERPOLATION_TYPE = 0; /*<No radial interpolation \see OPENCMISS_CoordinateRadialInterpolations,OPENCMISS */
370 const int CMFE_COORDINATE_RADIAL_INTERPOLATION_TYPE = 1; /*<r radial interpolation \see OPENCMISS_CoordinateRadialInterpolations,OPENCMISS */
371 const int CMFE_COORDINATE_RADIAL_SQUARED_INTERPOLATION_TYPE = 2; /*<r^2 radial interpolation \see OPENCMISS_CoordinateRadialInterpolations,OPENCMISS */
372 const int CMFE_COORDINATE_RADIAL_CUBED_INTERPOLATION_TYPE = 3; /*<r^3 radial interpolation \see OPENCMISS_CoordinateRadialInterpolations,OPENCMISS */
373 /*>@} */
374 /*>@} */
375 /*>\addtogroup OPENCMISS_DataProjectionConstants OPENCMISS::DataProjection::Constants */
376 /*>\brief DataProjection constants. */
377 /*>@{ */
378 /*>\addtogroup OPENCMISS_DataProjectionProjectionTypes OPENCMISS::DataProjection::ProjectionTypes */
379 /*>\brief Data Projection types */
380 /*>\see OPENCMISS::DataProjection,OPENCMISS */
381 /*>@{ */
382 const int CMFE_DATA_PROJECTION_BOUNDARY_LINES_PROJECTION_TYPE = 1; /*<The boundary line projection type for data projection, only projects to boundary lines of the mesh. \see OPENCMISS_DataProjectionProjectionTypes,OPENCMISS */
383 const int CMFE_DATA_PROJECTION_BOUNDARY_FACES_PROJECTION_TYPE = 2; /*<The boundary face projection type for data projection, only projects to boundary faces of the mesh. \see OPENCMISS_DataProjectionProjectionTypes,OPENCMISS */
384 const int CMFE_DATA_PROJECTION_ALL_ELEMENTS_PROJECTION_TYPE = 3; /*<The element projection type for data projection, projects to all elements in mesh. \see OPENCMISS_DataProjectionProjectionTypes,OPENCMISS */
385 /*>@} */
386 /*>@} */
387 /*>\addtogroup OPENCMISS_EquationsConstants OPENCMISS::Equations::Constants */
388 /*>\brief Equations constants. */
389 /*>@{ */
390 /*>\addtogroup OPENCMISS_EquationsOutputTypes OPENCMISS::Equations::OutputTypes */
391 /*>\brief Equations output types */
392 /*>\see OPENCMISS::Equations,OPENCMISS */
393 /*>@{ */
394 const int CMFE_EQUATIONS_NO_OUTPUT = 0; /*<No output from the equations \see OPENCMISS_EquationsOutputTypes,OPENCMISS */
395 const int CMFE_EQUATIONS_TIMING_OUTPUT = 1; /*<Timing information output. \see OPENCMISS_EquationsOutputTypes,OPENCMISS */
396 const int CMFE_EQUATIONS_MATRIX_OUTPUT = 2; /*<All below and equation matrices output. \see OPENCMISS_EquationsOutputTypes,OPENCMISS */
397 const int CMFE_EQUATIONS_ELEMENT_MATRIX_OUTPUT = 3; /*<All below and element matrices output. \see OPENCMISS_EquationsOutputTypes,OPENCMISS */
398 const int CMFE_EQUATIONS_NODAL_MATRIX_OUTPUT = 4; /*<All below and nodal matrices output. \see OPENCMISS_EquationsOutputTypes,OPENCMISS */
399 /*>@} */
400 /*>\addtogroup OPENCMISS_EquationsSparsityTypes OPENCMISS::Equations::SparsityTypes */
401 /*>\brief Equations sparsity types */
402 /*>\see OPENCMISS::Equations,OPENCMISS */
403 /*>@{ */
404 const int CMFE_EQUATIONS_SPARSE_MATRICES = 1; /*<Use sparse matrices for the equations. \see OPENCMISS_EquationsSparsityTypes,OPENCMISS */
405 const int CMFE_EQUATIONS_FULL_MATRICES = 2; /*<Use fully populated matrices for the equations. \see OPENCMISS_EquationsSparsityTypes,OPENCMISS */
406 /*>@} */
407 /*>\addtogroup OPENCMISS_EquationsLumpingTypes OPENCMISS::Equations::LumpingTypes */
408 /*>\brief Equations lumping types */
409 /*>\see OPENCMISS::Equations,OPENCMISS */
410 /*>@{ */
411 const int CMFE_EQUATIONS_UNLUMPED_MATRICES = 1; /*<The equations matrices are not lumped. \see OPENCMISS_EquationsLumpingTypes,OPENCMISS */
412 const int CMFE_EQUATIONS_LUMPED_MATRICES = 2; /*<The equations matrices are "mass" lumped. \see OPENCMISS_EquationsLumpingTypes,OPENCMISS */
413 /*>@} */
414 /*>\addtogroup OPENCMISS_EquationsLinearityTypes OPENCMISS::Equations::LinearityTypes */
415 /*>\brief The equations linearity types */
416 /*>\see OPENCMISS::Equations,OPENCMISS */
417 /*>@{ */
418 const int CMFE_EQUATIONS_LINEAR = 1; /*<The equations are linear. \see OPENCMISS_EquationsLinearityTypes,OPENCMISS */
419 const int CMFE_EQUATIONS_NONLINEAR = 2; /*<The equations are non-linear. \see \see OPENCMISS_EquationsLinearityTypes,OPENCMISS */
420 const int CMFE_EQUATIONS_NONLINEAR_BCS = 3; /*<The equations have non-linear boundary conditions. \see \see OPENCMISS_EquationsLinearityTypes,OPENCMISS */
421 /*>@} */
422 /*>\addtogroup OPENCMISS_EquationsTimeDependenceTypes OPENCMISS::Equations::TimeDependenceTypes */
423 /*>\brief The equations time dependence types */
424 /*>\see OPENCMISS::Equations,OPENCMISS */
425 /*>@{ */
426 const int CMFE_EQUATIONS_STATIC = 1; /*<The equations are static and have no time dependence. \see OPENCMISS_EquationsTimeDependenceTypes,OPENCMISS */
427 const int CMFE_EQUATIONS_QUASISTATIC = 2; /*<The equations are quasi-static. \see OPENCMISS_EquationsTimeDependenceTypes,OPENCMISS */
428 const int CMFE_EQUATIONS_FIRST_ORDER_DYNAMIC = 3; /*<The equations are first order dynamic. \see OPENCMISS_EquationsTimeDependenceTypes,OPENCMISS */
429 const int CMFE_EQUATIONS_SECOND_ORDER_DYNAMIC = 4; /*<The equations are a second order dynamic. \see OPENCMISS_EquationsTimeDependenceTypes,OPENCMISS */
430 const int CMFE_EQUATIONS_TIME_STEPPING = 5; /*<The equations are for time stepping. \see OPENCMISS_EquationsTimeDependenceTypes,OPENCMISS */
431 /*>@{ */
432 /*>\addtogroup OPENCMISS_EquationsJacobianCalculated OPENCMISS::Equations::JacobianCalculated */
433 /*>\brief Equations Jacobian matrices calculation types */
434 /*>\see OPENCMISS::Equations,OPENCMISS */
435 /*>@{ */
436 const int CMFE_EQUATIONS_JACOBIAN_FINITE_DIFFERENCE_CALCULATED = 1; /*<Evaluate Jacobian matrix using finite differences. \see OPENCMISS_EquationsJacobianCalculated,OPENCMISS */
437 const int CMFE_EQUATIONS_JACOBIAN_ANALYTIC_CALCULATED = 2; /*<Evaluate Jacobian matrix using analytic expressions. \see OPENCMISS_EquationsJacobianCalculated,OPENCMISS */
438 /*>@} */
439 /*>@} */
440 /*>\addtogroup OPENCMISS_EquationsSetConstants OPENCMISS::EquationsSet::Constants */
441 /*>\brief Equations set constants. */
442 /*>@{ */
443 /*>\addtogroup OPENCMISS_EquationsSetClasses OPENCMISS::EquationsSet::Classes */
444 /*>\brief Equations set classes. */
445 /*>\see OPENCMISS::EquationsSet,OPENCMISS */
446 /*>@{ */
447 const int CMFE_EQUATIONS_SET_NO_CLASS = 0; /*<No equations set class \see OPENCMISS_EquationsSetClasses,OPENCMISS */
448 const int CMFE_EQUATIONS_SET_ELASTICITY_CLASS = 1; /*<Elasticity equations set class \see OPENCMISS_EquationsSetClasses,OPENCMISS */
449 const int CMFE_EQUATIONS_SET_FLUID_MECHANICS_CLASS = 2; /*<Fluid Mechanics equations set class \see OPENCMISS_EquationsSetClasses,OPENCMISS */
450 const int CMFE_EQUATIONS_SET_ELECTROMAGNETICS_CLASS = 3; /*<Electromagnetics equations set class \see OPENCMISS_EquationsSetClasses,OPENCMISS */
451 const int CMFE_EQUATIONS_SET_CLASSICAL_FIELD_CLASS = 4; /*<Classical Field equations set class \see OPENCMISS_EquationsSetClasses,OPENCMISS */
452 const int CMFE_EQUATIONS_SET_BIOELECTRICS_CLASS = 5; /*<Bioelectrics equations set class \see OPENCMISS_EquationsSetClasses,OPENCMISS */
453 const int CMFE_EQUATIONS_SET_MODAL_CLASS = 6; /*<Modal equations set class \see OPENCMISS_EquationsSetClasses,OPENCMISS */
454 const int CMFE_EQUATIONS_SET_FITTING_CLASS = 7; /*<Fitting equations set class \see OPENCMISS_EquationsSetClasses,OPENCMISS */
455 const int CMFE_EQUATIONS_SET_OPTIMISATION_CLASS = 8; /*<Optimisation equations set class \see OPENCMISS_EquationsSetClasses,OPENCMISS */
456 const int CMFE_EQUATIONS_SET_MULTI_PHYSICS_CLASS = 9; /*<Multi Physics equations set class \see OPENCMISS_EquationsSetClasses,OPENCMISS */
457 /*>@} */
458 /*>\addtogroup OPENCMISS_EquationsSetTypes OPENCMISS::EquationsSet::Types */
459 /*>\brief Equations set Types. */
460 /*>\see OPENCMISS::EquationsSet,OPENCMISS */
461 /*>@{ */
462 const int CMFE_EQUATIONS_SET_NO_TYPE = 0; /*<No equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
463 const int CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_TYPE = 1; /*<Linear elasticity equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
464 const int CMFE_EQUATIONS_SET_FINITE_ELASTICITY_TYPE = 2; /*<Finite elasticity equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
465 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_TYPE = 1; /*<Stokes equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
466 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TYPE = 2; /*<Navier-Stokes equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
467 const int CMFE_EQUATIONS_SET_DARCY_EQUATION_TYPE = 3; /*<Darcy equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
468 const int CMFE_EQUATIONS_SET_DARCY_PRESSURE_EQUATION_TYPE = 4; /*<Darcy pressure equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
469 const int CMFE_EQUATIONS_SET_POISEUILLE_EQUATION_TYPE = 5; /*<Poiseuille equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
470 const int CMFE_EQUATIONS_SET_BURGERS_EQUATION_TYPE = 6; /*<Burgers equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
471 const int CMFE_EQUATIONS_SET_CHARACTERISTIC_EQUATION_TYPE = 7; /*<Characteristic equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
472 const int CMFE_EQUATIONS_SET_ELECTROSTATIC_TYPE = 1; /*<Electrostatic equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
473 const int CMFE_EQUATIONS_SET_MAGNETOSTATIC_TYPE = 2; /*<Magnetostatic equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
474 const int CMFE_EQUATIONS_SET_MAXWELLS_EQUATIONS_TYPE = 3; /*<Maxwells equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
475 const int CMFE_EQUATIONS_SET_LAPLACE_EQUATION_TYPE = 1; /*<Laplace equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
476 const int CMFE_EQUATIONS_SET_POISSON_EQUATION_TYPE = 2; /*<Poisson equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
477 const int CMFE_EQUATIONS_SET_HELMHOLTZ_EQUATION_TYPE = 3; /*<Helmholtz equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
478 const int CMFE_EQUATIONS_SET_WAVE_EQUATION_TYPE = 4; /*<Wave equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
479 const int CMFE_EQUATIONS_SET_DIFFUSION_EQUATION_TYPE = 6; /*<Diffusion equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
480 const int CMFE_EQUATIONS_SET_ADVECTION_EQUATION_TYPE = 11; /*<Advection-Diffusion equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
481 const int CMFE_EQUATIONS_SET_ADVECTION_DIFFUSION_EQUATION_TYPE = 7; /*<Advection-Diffusion equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
482 const int CMFE_EQUATIONS_SET_REACTION_DIFFUSION_EQUATION_TYPE = 8; /*<Reaction-Diffusion equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
483 const int CMFE_EQUATIONS_SET_BIHARMONIC_EQUATION_TYPE = 9; /*<Biharmonic equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
484 const int CMFE_EQUATIONS_SET_MONODOMAIN_EQUATION_TYPE = 1; /*<Monodomain equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
485 const int CMFE_EQUATIONS_SET_BIDOMAIN_EQUATION_TYPE = 2; /*<Bidomain equation equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
486 const int CMFE_EQUATIONS_SET_LINEAR_ELASTIC_MODAL_TYPE = 1; /*<Linear elasticity modal equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
487 const int CMFE_EQUATIONS_SET_DATA_FITTING_EQUATION_TYPE = 10; /*<Galerkin projection equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
488 const int CMFE_EQUATIONS_SET_FINITE_ELASTICITY_DARCY_TYPE = 1; /*<Finite Elasticity Darcy equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
489 const int CMFE_EQUATIONS_SET_FINITE_ELASTICITY_STOKES_TYPE = 2; /*<Finite Elasticity Stokes equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
490 const int CMFE_EQUATIONS_SET_FINITE_ELASTICITY_NAVIER_STOKES_TYPE = 3; /*<Finite Elasticity Navier Stokes equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
491 const int CMFE_EQUATIONS_SET_DIFFUSION_DIFFUSION_TYPE = 4; /*<Diffusion Diffusion equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
492 const int CMFE_EQUATIONS_SET_DIFFUSION_ADVECTION_DIFFUSION_TYPE = 5; /*<Diffusion Advection Diffusion equations set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
493 const int CMFE_EQUATIONS_SET_MONODOMAIN_STRANG_SPLITTING_EQUATION_TYPE = 3; /*<Monodomain equation equations Strang Splitting set type \see OPENCMISS_EquationsSetTypes,OPENCMISS */
494 /*>@} */
495 /*>\addtogroup OPENCMISS_EquationsSetSubtypes OPENCMISS::EquationsSet::Subtypes */
496 /*>\brief Equations set subtypes. */
497 /*>\see OPENCMISS::EquationsSet,OPENCMISS */
498 /*>@{ */
499 const int CMFE_EQUATIONS_SET_NO_SUBTYPE = 0; /*<No equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
500 const int CMFE_EQUATIONS_SET_THREE_DIMENSIONAL_SUBTYPE = 4; /*<Three dimensional linear elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
501 const int CMFE_EQUATIONS_SET_TWO_DIMENSIONAL_PLANE_STRESS_SUBTYPE = 2; /*<Plane stress linear elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
502 const int CMFE_EQUATIONS_SET_TWO_DIMENSIONAL_PLANE_STRAIN_SUBTYPE = 3; /*<Plane strain linear elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
503 const int CMFE_EQUATIONS_SET_ONE_DIMENSIONAL_SUBTYPE = 1; /*<One dimensional linear elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
504 const int CMFE_EQUATIONS_SET_PLATE_SUBTYPE = 5; /*<Plate linear elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
505 const int CMFE_EQUATIONS_SET_SHELL_SUBTYPE = 6; /*<Shell linear elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
506 const int CMFE_EQUATIONS_SET_MOONEY_RIVLIN_SUBTYPE = 1; /*<Mooney-Rivlin constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
507 const int CMFE_EQUATIONS_SET_INCOMPRESSIBLE_MOONEY_RIVLIN_SUBTYPE = 21; /*<Incompressible Mooney-Rivlin constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
508 const int CMFE_EQUATIONS_SET_NEARLY_INCOMPRESSIBLE_MOONEY_RIVLIN_SUBTYPE = 22; /*<Nearly Incompressible Mooney-Rivlin constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
509 const int CMFE_EQUATIONS_SET_MOONEY_RIVLIN_ACTIVECONTRACTION_SUBTYPE = 24; /*<Mooney-Rivlin constitutive law with steady-state active contraction for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
510 const int CMFE_EQUATIONS_SET_STVENANT_KIRCHOFF_ACTIVECONTRACTION_SUBTYPE = 25; /*<St Venant Kirchoff constitutive law with steady-state active contraction for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
511 const int CMFE_EQUATIONS_SET_ACTIVECONTRACTION_SUBTYPE = 6; /*<Active contraction/costa-based law with quasistatic time loop for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
512 const int CMFE_EQUATIONS_SET_ISOTROPIC_EXPONENTIAL_SUBTYPE = 2; /*<Isotropic exponential constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
513 const int CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_EXPONENTIAL_SUBTYPE = 3; /*<Transverse isotropic exponential constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
514 const int CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_ACTIVE_SUBTYPE = 27; /*<Transverse isotropic, active-contraction constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
515 const int CMFE_EQUATIONS_SET_TRANS_ISOTROPIC_ACTIVE_TRANSITION_SUBTYPE = 28; /*<Transverse isotropic, active-contraction material-transition constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
516 const int CMFE_EQUATIONS_SET_ORTHOTROPIC_MATERIAL_COSTA_SUBTYPE = 4; /*<Orthotropic Costa constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
517 const int CMFE_EQUATIONS_SET_COMPRESSIBLE_FINITE_ELASTICITY_SUBTYPE = 5; /*<Compressible version for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
518 const int CMFE_EQUATIONS_SET_COMPRESSIBLE_ACTIVECONTRACTION_SUBTYPE = 26; /*<Compressible version for finite elasticity equations set with active contraction subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
519 const int CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_GUCCIONE_SUBTYPE = 15; /*<Transverse isotropic Guccione constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
520 const int CMFE_EQUATIONS_SET_ACTIVE_STRAIN_SUBTYPE = 34; /*<Isotropic active strain constitutive law based on multiplicative decomposition of the deformation gradient subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
521 const int CMFE_EQUATIONS_SET_MULTISCALE_ACTIVE_STRAIN_SUBTYPE = 35; /*<Isotropic active strain constitutive law based on multiplicative decomposition of the deformation gradient and the cellular model of Razumova et al. (2000) subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
522 const int CMFE_EQUATIONS_SET_REFERENCE_STATE_MOONEY_RIVLIN_SUBTYPE = 36; /*<Determine the reference configuration using Mooney-Rivlin constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
523 const int CMFE_EQUATIONS_SET_GUCCIONE_ACTIVECONTRACTION_SUBTYPE = 32; /*<Transverse isotropic Guccione constitutive law with active contraction subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
524 const int CMFE_EQUATIONS_SET_INCOMPRESS_FINITE_ELASTICITY_DARCY_SUBTYPE = 8; /*<Incompressible version for finite elasticity coupled with Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
525 const int CMFE_EQUATIONS_SET_ELASTICITY_DARCY_INRIA_MODEL_SUBTYPE = 10; /*<INRIA Model for finite elasticity coupled with Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
526 const int CMFE_EQUATIONS_SET_ELASTICITY_MULTI_COMP_DARCY_INRIA_SUBTYPE = 12; /*<Multi Compartment Darcy INRIA Model coupled with finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
527 const int CMFE_EQUATIONS_SET_INCOMPRESS_ELASTICITY_DRIVEN_DARCY_SUBTYPE = 11; /*<Incompressible finite elasticity with Darcy flow driven by solid hydrostatic pressure \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
528 const int CMFE_EQUATIONS_SET_INCOMPRESSIBLE_ELASTICITY_DRIVEN_MR_SUBTYPE = 13; /*<Incompressible finite elasticity with Darcy flow driven by solid hydrostatic pressure, formulated in terms of modified invariants. \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
530 const int CMFE_EQUATIONS_SET_MEMBRANE_SUBTYPE = 7; /*<Compressible version for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
531 const int CMFE_EQUATIONS_SET_ORTHOTROPIC_HOLZAPFEL_OGDEN_SUBTYPE = 9; /*<Orthotropic Holzapfel-Ogden constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
532 const int CMFE_EQUATIONS_SET_HOLZAPFEL_OGDEN_ACTIVECONTRACTION_SUBTYPE = 31; /*<Orthotropic Holzapfel-Ogden constitutive law with active contraction for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
533 const int CMFE_EQUATIONS_SET_ELASTICITY_FLUID_PRES_STATIC_INRIA_SUBTYPE = 16; /*<Static finite elasticity coupled with fluid pressure set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
534 const int CMFE_EQUATIONS_SET_ELASTICITY_FLUID_PRES_HOLMES_MOW_SUBTYPE = 18; /*<Holmes and Mow's poroelastic constitutive relation subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
535 const int CMFE_EQUATIONS_SET_ELASTI_FLUID_PRES_HOLMES_MOW_ACTIVE_SUBTYPE = 19; /*<Holmes and Mow's poroelastic constitutive relation subtype with active contraction \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
536 const int CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_POLYNOMIAL_SUBTYPE = 20; /*<Transverse isotropic constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
537 const int CMFE_EQUATIONS_SET_ANISOTROPIC_POLYNOMIAL_SUBTYPE = 29; /*<Anisotropic polynomial constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
538 const int CMFE_EQUATIONS_SET_ANISOTROPIC_POLYNOMIAL_ACTIVE_SUBTYPE = 30; /*<Anisotropic polynomial active constitutive law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
539 const int CMFE_EQUATIONS_SET_TRANSVERSE_ISOTROPIC_HUMPHREY_YIN_SUBTYPE = 23; /*<Humphrey and Yin transversely isotropic constitutive relation subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
540 const int CMFE_EQUATIONS_SET_STATIC_STOKES_SUBTYPE = 1; /*<Static Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
541 const int CMFE_EQUATIONS_SET_LAPLACE_STOKES_SUBTYPE = 2; /*<Laplace type Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
542 const int CMFE_EQUATIONS_SET_TRANSIENT_STOKES_SUBTYPE = 3; /*<Transient Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
543 const int CMFE_EQUATIONS_SET_ALE_STOKES_SUBTYPE = 5; /*<ALE Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
544 const int CMFE_EQUATIONS_SET_PGM_STOKES_SUBTYPE = 6; /*<PGM Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
545 const int CMFE_EQUATIONS_SET_OPTIMISED_STOKES_SUBTYPE = 4; /*<Optimised Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
546 const int CMFE_EQUATIONS_SET_STATIC_NAVIER_STOKES_SUBTYPE = 1; /*<Static Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
547 const int CMFE_EQUATIONS_SET_LAPLACE_NAVIER_STOKES_SUBTYPE = 2; /*<Laplace type Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
548 const int CMFE_EQUATIONS_SET_TRANSIENT_NAVIER_STOKES_SUBTYPE = 3; /*<Transient Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
549 const int CMFE_EQUATIONS_SET_TRANSIENT_RBS_NAVIER_STOKES_SUBTYPE = 9; /*<Transient residual-based stabilisation Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
550 const int CMFE_EQUATIONS_SET_STATIC_RBS_NAVIER_STOKES_SUBTYPE = 13; /*<Transient residual-based stabilisation Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
551 const int CMFE_EQUATIONS_SET_MULTISCALE3D_NAVIER_STOKES_SUBTYPE = 11; /*<Transient stabilised 3D Navier-Stokes equations set with coupled multiscale boundaries subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
552 const int CMFE_EQUATIONS_SET_CONSTITUTIVE_MU_NAVIER_STOKES_SUBTYPE = 18; /*<Transient stabilised 3D Navier-Stokes equations set with coupled constitutive model for non-Newtonian viscosity \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
553 const int CMFE_EQUATIONS_SET_TRANSIENT1D_NAVIER_STOKES_SUBTYPE = 8; /*<TRANSIENT1D Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
554 const int CMFE_EQUATIONS_SET_TRANSIENT1D_ADV_NAVIER_STOKES_SUBTYPE = 14; /*<TRANSIENT1D Navier-Stokes equations set subtype with coupled Advection \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
555 const int CMFE_EQUATIONS_SET_CHARACTERISTIC_SUBTYPE = 1; /*<Static Characteristics equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
556 const int CMFE_EQUATIONS_SET_COUPLED1D0D_NAVIER_STOKES_SUBTYPE = 12; /*<Coupled 1D-0D Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
557 const int CMFE_EQUATIONS_SET_COUPLED1D0D_ADV_NAVIER_STOKES_SUBTYPE = 15; /*<Coupled 1D-0D Navier-Stokes equations set subtype with coupled Advection \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
558 const int CMFE_EQUATIONS_SET_STREE1D0D_SUBTYPE = 16; /*<Coupled 1D-0D Navier-Stokes equations set subtype with coupled Advection \see */
559 const int CMFE_EQUATIONS_SET_STREE1D0D_ADV_SUBTYPE = 17; /*<Coupled 1D-0D Navier-Stokes equations set subtype with coupled Advection \see */
560 const int CMFE_EQUATIONS_SET_ALE_NAVIER_STOKES_SUBTYPE = 5; /*<ALE Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
561 const int CMFE_EQUATIONS_SET_PGM_NAVIER_STOKES_SUBTYPE = 6; /*<PGM Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
562 const int CMFE_EQUATIONS_SET_OPTIMISED_NAVIER_STOKES_SUBTYPE = 4; /*<Optimised Navier-Stokes equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
563 const int CMFE_EQUATIONS_SET_STANDARD_DARCY_SUBTYPE = 1; /*<Standard Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
564 const int CMFE_EQUATIONS_SET_QUASISTATIC_DARCY_SUBTYPE = 2; /*<Quasistatic Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
565 const int CMFE_EQUATIONS_SET_ALE_DARCY_SUBTYPE = 3; /*<ALE Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
566 const int CMFE_EQUATIONS_SET_TRANSIENT_DARCY_SUBTYPE = 4; /*<Transient Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
567 const int CMFE_EQUATIONS_SET_TRANSIENT_ALE_DARCY_SUBTYPE = 5; /*<Transient ALE Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
568 const int CMFE_EQUATIONS_SET_MULTI_COMPARTMENT_DARCY_SUBTYPE = 6; /*<Multi Compartment Darcy equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
569 const int CMFE_EQUATIONS_SET_BURGERS_SUBTYPE = 1; /*<Burgers equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
570 const int CMFE_EQUATIONS_SET_GENERALISED_BURGERS_SUBTYPE = 2; /*<Generalised Burgers equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
571 const int CMFE_EQUATIONS_SET_STATIC_BURGERS_SUBTYPE = 3; /*<Static Burgers equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
572 const int CMFE_EQUATIONS_SET_INVISCID_BURGERS_SUBTYPE = 4; /*<Inviscid Burgers equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
573 const int CMFE_EQUATIONS_SET_STANDARD_LAPLACE_SUBTYPE = 1; /*<Standard Laplace equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
574 const int CMFE_EQUATIONS_SET_GENERALISED_LAPLACE_SUBTYPE = 2; /*<Generalised Laplace equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
575 const int CMFE_EQUATIONS_SET_MOVING_MESH_LAPLACE_SUBTYPE = 3; /*<Moving mesh Laplace equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
576 const int CMFE_EQUATIONS_SET_STATIC_POISEUILLE_SUBTYPE = 1; /*<Static Poiseuille equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
577 const int CMFE_EQUATIONS_SET_DYNAMIC_POISEUILLE_SUBTYPE = 2; /*<Dynamic Poiseuille equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
578 const int CMFE_EQUATIONS_SET_LINEAR_PRESSURE_POISSON_SUBTYPE = 5; /*<Vector source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
579 const int CMFE_EQUATIONS_SET_NONLINEAR_PRESSURE_POISSON_SUBTYPE = 6; /*<Vector source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
580 const int CMFE_EQUATIONS_SET_ALE_PRESSURE_POISSON_SUBTYPE = 7; /*<Vector source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
581 const int CMFE_EQUATIONS_SET_FITTED_PRESSURE_POISSON_SUBTYPE = 8; /*<Vector source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
582 const int CMFE_EQUATIONS_SET_CONSTANT_SOURCE_POISSON_SUBTYPE = 1; /*<Constant source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
583 const int CMFE_EQUATIONS_SET_EXTRACELLULAR_BIDOMAIN_POISSON_SUBTYPE = 9; /*<Poisson equations set subtype, that is the extracellular bidomain equation \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
584 const int CMFE_EQUATIONS_SET_LINEAR_SOURCE_POISSON_SUBTYPE = 2; /*<Linear source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
585 const int CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_POISSON_SUBTYPE = 3; /*<Quadratic source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
586 const int CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_POISSON_SUBTYPE = 4; /*<Exponential source Poisson equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
587 const int CMFE_EQUATIONS_SET_STANDARD_HELMHOLTZ_SUBTYPE = 2; /*<No source Helmholtz equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
588 const int CMFE_EQUATIONS_SET_GENERALISED_HELMHOLTZ_SUBTYPE = 3; /*<No source Helmholtz equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
589 const int CMFE_EQUATIONS_SET_NO_SOURCE_DIFFUSION_SUBTYPE = 1; /*<No source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
590 const int CMFE_EQUATIONS_SET_CONSTANT_SOURCE_DIFFUSION_SUBTYPE = 2; /*<Constant source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
591 const int CMFE_EQUATIONS_SET_LINEAR_SOURCE_DIFFUSION_SUBTYPE = 3; /*<Linear source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
592 const int CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_DIFFUSION_SUBTYPE = 4; /*<Quadratic source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
593 const int CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_DIFFUSION_SUBTYPE = 5; /*<Exponential source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
594 const int CMFE_EQUATIONS_SET_NO_SOURCE_ALE_DIFFUSION_SUBTYPE = 6; /*<No source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
595 const int CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ALE_DIFFUSION_SUBTYPE = 7; /*<Constant source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
596 const int CMFE_EQUATIONS_SET_LINEAR_SOURCE_ALE_DIFFUSION_SUBTYPE = 8; /*<Linear source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
597 const int CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_ALE_DIFFUSION_SUBTYPE = 9; /*<Quadratic source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
598 const int CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_ALE_DIFFUSION_SUBTYPE = 10; /*<Exponential source diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
599 const int CMFE_EQUATIONS_SET_MULTI_COMP_TRANSPORT_DIFFUSION_SUBTYPE = 11; /*<Multi-compartment transport diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
600 const int CMFE_EQUATIONS_SET_ADVECTION_SUBTYPE = 1; /*<advection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
601 const int CMFE_EQUATIONS_SET_NO_SOURCE_ADVECTION_DIFFUSION_SUBTYPE = 1; /*<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
602 const int CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ADVECTION_DIFFUSION_SUBTYPE = 2; /*<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
603 const int CMFE_EQUATIONS_SET_LINEAR_SOURCE_ADVECTION_DIFFUSION_SUBTYPE = 3; /*<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
604 const int CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_ADVEC_DIFF_SUBTYPE = 4; /*<Quadratic source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
605 const int CMFE_EQUATIONS_SET_EXPONENTIAL_SOURCE_ADVEC_DIFF_SUBTYPE = 5; /*<Exponential source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
606 const int CMFE_EQUATIONS_SET_CONSTITUTIVE_LAW_IN_CELLML_EVALUATE_SUBTYPE = 17; /*<In CellML evaluated incompressible material law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
607 const int CMFE_EQUATIONS_SET_CONSTIT_AND_GROWTH_LAW_IN_CELLML_SUBTYPE = 33; /*<CellML evaluated growth and constituative material law for finite elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
608 const int CMFE_EQUATIONS_SET_NO_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE = 21; /*<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
609 const int CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ALE_ADVEC_DIFF_SUBTYPE = 22; /*<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
610 const int CMFE_EQUATIONS_SET_LINEAR_SOURCE_ALE_ADVEC_DIFF_SUBTYPE = 23; /*<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
611 const int CMFE_EQUATIONS_SET_QUADRATIC_SOURCE_ALE_ADVEC_DIFF_SUBTYPE = 24; /*<Quadratic source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
612 const int CMFE_EQUATIONS_SET_EXP_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE = 25; /*<Exponential source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
613 const int CMFE_EQUATIONS_SET_NO_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE = 6; /*<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
614 const int CMFE_EQUATIONS_SET_CONSTANT_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE = 7; /*<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
615 const int CMFE_EQUATIONS_SET_LINEAR_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE = 8; /*<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
616 const int CMFE_EQUATIONS_SET_NO_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE = 9; /*<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
617 const int CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE = 10; /*<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
618 const int CMFE_EQUATIONS_SET_LINEAR_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE = 11; /*<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
619 const int CMFE_EQUATIONS_SET_QUAD_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE = 12; /*<Quadratic source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
620 const int CMFE_EQUATIONS_SET_EXP_SOURCE_ADVECTION_DIFF_SUPG_SUBTYPE = 13; /*<Exponential source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
621 const int CMFE_EQUATIONS_SET_NO_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE = 29; /*<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
622 const int CMFE_EQUATIONS_SET_CONSTANT_SOURCE_ALE_ADVEC_DIFF_SUPG_SUBTYPE = 30; /*<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
623 const int CMFE_EQUATIONS_SET_LINEAR_SOURCE_ALE_ADVEC_DIFF_SUPG_SUBTYPE = 31; /*<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
624 const int CMFE_EQUATIONS_SET_QUAD_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE = 32; /*<Quadratic source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
625 const int CMFE_EQUATIONS_SET_EXP_SOURCE_ALE_ADVECTION_DIFF_SUPG_SUBTYPE = 33; /*<Exponential source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
626 const int CMFE_EQUATIONS_SET_NO_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE = 14; /*<No source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
627 const int CMFE_EQUATIONS_SET_CONST_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE = 15; /*<Constant source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
628 const int CMFE_EQUATIONS_SET_LIN_SOURCE_STATIC_ADVEC_DIFF_SUPG_SUBTYPE = 16; /*<Linear source advection diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
629 const int CMFE_EQUATIONS_SET_COUPLED_SOURCE_DIFFUSION_ADVEC_DIFF_SUBTYPE = 17; /*<Coupled source diffusion & advection-diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
630 const int CMFE_EQUATIONS_SET_MULTI_COMP_TRANSPORT_ADVEC_DIFF_SUBTYPE = 18; /*<Multi-component transport advection-diffusion equations set \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
631 const int CMFE_EQUATIONS_SET_MULT_COMP_TRANSPORT_ADVEC_DIFF_SUPG_SUBTYPE = 19; /*<Multi-component transport advection-diffusion equations set using SUPG scheme \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
635 const int CMFE_EQUATIONS_SET_MONODOMAIN_BUENOOROVIO_SUBTYPE = 1; /*<First monodomain equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
636 const int CMFE_EQUATIONS_SET_MONODOMAIN_TENTUSSCHER06_SUBTYPE = 2; /*<First monodomain equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
637 const int CMFE_EQUATIONS_SET_FIRST_BIDOMAIN_SUBTYPE = 1; /*<First bidomain equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
638 const int CMFE_EQUATIONS_SET_SECOND_BIDOMAIN_SUBTYPE = 2; /*<Second bidomain equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
639 const int CMFE_EQUATIONS_SET_STANDARD_DATA_FITTING_SUBTYPE = 1; /*<Standard Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
640 const int CMFE_EQUATIONS_SET_GENERALISED_DATA_FITTING_SUBTYPE = 2; /*<Generalised Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
641 const int CMFE_EQUATIONS_SET_MAT_PROPERTIES_DATA_FITTING_SUBTYPE = 3; /*<Material Properties Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
642 const int CMFE_EQUATIONS_SET_MAT_PROP_INRIA_MODEL_DATA_FITTING_SUBTYPE = 4; /*<Material Properties INRIA Model Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
643 const int CMFE_EQUATIONS_SET_VECTOR_DATA_FITTING_SUBTYPE = 5; /*<Standard Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
644 const int CMFE_EQUATIONS_SET_DIVFREE_VECTOR_DATA_FITTING_SUBTYPE = 6; /*<Standard Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
645 const int CMFE_EQUATIONS_SET_DATA_POINT_VECTOR_STATIC_FITTING_SUBTYPE = 9; /*<Standard static Galerkin Projection using data points subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
646 const int CMFE_EQUATIONS_SET_DATA_PT_VECTOR_QUASISTATIC_FITTING_SUBTYPE = 10; /*<Standard quasistatic Galerkin Projection using data points subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
647 const int CMFE_EQUATIONS_SET_VECTOR_DATA_PRE_FITTING_SUBTYPE = 7; /*<Standard Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
648 const int CMFE_EQUATIONS_SET_DIVFREE_VECTOR_DATA_PRE_FITTING_SUBTYPE = 8; /*<Standard Galerkin Projection equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
649 const int CMFE_EQUATIONS_SET_COUPLED_SOURCE_DIFFUSION_DIFFUSION_SUBTYPE = 111; /*<Coupled source diffusion-diffusion equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
650 const int CMFE_EQUATIONS_SET_STANDARD_MONODOMAIN_ELASTICITY_SUBTYPE = 141; /*<Standard Monodomain Elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
651 const int CMFE_EQUATIONS_SET_1D3D_MONODOMAIN_ELASTICITY_SUBTYPE = 142; /*<Coupled 1D Monodomain 3D Elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
652 const int CMFE_EQUATIONS_SET_MONODOMAIN_ELASTICITY_W_TITIN_SUBTYPE = 143; /*<Coupled 1D Monodomain 3D Elasticity equations set subtype with titin \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
653 const int CMFE_EQUATIONS_SET_MONODOMAIN_ELASTICITY_VELOCITY_SUBTYPE = 144; /*<Coupled 1D Monodomain 3D Elasticity equations set subtype with force-velocity relation \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
654 const int CMFE_EQUATIONS_SET_1D3D_MONODOMAIN_ACTIVE_STRAIN_SUBTYPE = 145; /*<Coupled 1D Monodomain 3D Elasticity equations set subtype \see OPENCMISS_EquationsSetSubtypes,OPENCMISS */
655 const int CMFE_EQUATIONS_SET_FINITE_ELASTICITY_NAVIER_STOKES_ALE_SUBTYPE = 151; /*<Finite Elasticity Navier Stokes ALE equations set subtype \see OPENCMISS_EquationsSetSubtype,OPENCMISS */
656 /*>@} */
657 /*>\addtogroup OPENCMISS_EquationsSetSolutionMethods OPENCMISS::EquationsSet::SolutionMethods */
658 /*>\brief The solution method parameters */
659 /*>\see OPENCMISS::EquationsSet,OPENCMISS */
660 /*>@{ */
661 const int CMFE_EQUATIONS_SET_FEM_SOLUTION_METHOD = 1; /*<Finite Element Method solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS */
662 const int CMFE_EQUATIONS_SET_BEM_SOLUTION_METHOD = 2; /*<Boundary Element Method solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS */
663 const int CMFE_EQUATIONS_SET_FD_SOLUTION_METHOD = 3; /*<Finite Difference solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS */
664 const int CMFE_EQUATIONS_SET_FV_SOLUTION_METHOD = 4; /*<Finite Volume solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS */
665 const int CMFE_EQUATIONS_SET_GFEM_SOLUTION_METHOD = 5; /*<Grid-based Finite Element Method solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS */
666 const int CMFE_EQUATIONS_SET_GFD_SOLUTION_METHOD = 6; /*<Grid-based Finite Difference solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS */
667 const int CMFE_EQUATIONS_SET_GFV_SOLUTION_METHOD = 7; /*<Grid-based Finite Volume solution method. \see OPENCMISS_EquationsSetSolutionMethods,OPENCMISS */
668 /*>@} */
669 /*>\addtogroup OPENCMISS_EquationsSetDerivedTypes OPENCMISS::EquationsSet::DerivedTypes */
670 /*>\brief EquationsSet derived type parameters */
671 /*>\see OPENCMISS::EquationsSet,OPENCMISS */
672 /*>@{ */
673 const int CMFE_EQUATIONS_SET_DERIVED_STRAIN = 1; /*<Strain tensor field output. \see OPENCMISS_EquationsSetDerivedTypes,OPENCMISS */
674 const int CMFE_EQUATIONS_SET_DERIVED_STRESS = 2; /*<Stress tensor field output. \see OPENCMISS_EquationsSetDerivedTypes,OPENCMISS */
675 /*>@} */
676 /*>\addtogroup OPENCMISS_EquationsSetTensorEvaluateTypes OPENCMISS::EquationsSet::TensorEvaluateTypes */
677 /*>\brief Type of tensor to evaluate from an EquationsSet */
678 /*>\see OPENCMISS::EquationsSet,OPENCMISS */
679 /*>@{ */
680 const int CMFE_EQUATIONS_SET_EVALUATE_DEFORMATION_GRADIENT_TENSOR = 1; /*<Deformation gradient tensor \see OPENCMISS_EquationsSetTensorEvaluateTypes,OPENCMISS */
681 const int CMFE_EQUATIONS_SET_EVALUATE_R_CAUCHY_GREEN_DEFORMATION_TENSOR = 2; /*<Right Cauchy-Green deformation field \see OPENCMISS_EquationsSetTensorEvaluateTypes,OPENCMISS */
682 const int CMFE_EQUATIONS_SET_EVALUATE_GREEN_LAGRANGE_STRAIN_TENSOR = 3; /*<Green-Lagrange strain tensor \see OPENCMISS_EquationsSetTensorEvaluateTypes,OPENCMISS */
683 const int CMFE_EQUATIONS_SET_EVALUATE_CAUCHY_STRESS_TENSOR = 4; /*<Cauchy-stress tensor \see OPENCMISS_EquationsSetTensorEvaluateTypes,OPENCMISS */
684 const int CMFE_EQUATIONS_SET_EVALUATE_SECOND_PK_STRESS_TENSOR = 5; /*<Second Piola Kirchhoff-stress tensor \see OPENCMISS_EquationsSetTensorEvaluateTypes,OPENCMISS */
685 /*>@} */
686 /*>\addtogroup OPENCMISS_EquationsSetDynamicMatrixTypes OPENCMISS::EquationsSet::DynamicMatrixTypes */
687 /*>\brief Type of matrix in a dynamic equations set */
688 /*>@{ */
689 const int CMFE_EQUATIONS_MATRIX_STIFFNESS = 1; /*<A stiffness matrix (multiplies displacement values) */
690 const int CMFE_EQUATIONS_MATRIX_DAMPING = 2; /*<A damping matrix (multiplies velocity values) */
691 const int CMFE_EQUATIONS_MATRIX_MASS = 3; /*<A mass matrix (multiplies acceleration values) */
692 /*>@} */
693 /*>\addtogroup OPENCMISS_EquationsSetAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes */
694 /*>\brief The analytic function types. */
695 /*>\see OPENCMISS::EquationsSet,OPENCMISS */
696 /*>@{ */
697 /*>\addtogroup OPENCMISS_EquationsSetLaplaceAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Laplace */
698 /*>\brief The analytic function types for a Laplace equation */
699 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
700 /*>@{ */
701 const int CMFE_EQUATIONS_SET_LAPLACE_EQUATION_TWO_DIM_1 = 1; /*<u=x**2+2*x*y-y**2 \see OPENCMISS_EquationsSetLaplaceAnalyticFunctionTypes,OPENCMISS */
702 const int CMFE_EQUATIONS_SET_LAPLACE_EQUATION_TWO_DIM_2 = 2; /*<u=cos(x)cosh(y) \see OPENCMISS_EquationsSetLaplaceAnalyticFunctionTypes,OPENCMISS */
703 const int CMFE_EQUATIONS_SET_LAPLACE_EQUATION_THREE_DIM_1 = 3; /*<u=x**2-2*y**2+z**2 \see OPENCMISS_EquationsSetLaplaceAnalyticFunctionTypes,OPENCMISS */
704 const int CMFE_EQUATIONS_SET_LAPLACE_EQUATION_THREE_DIM_2 = 4; /*<u=cos(x)*cosh(y)*z \see OPENCMISS_EquationsSetLaplaceAnalyticFunctionTypes,OPENCMISS */
705 /*>@} */
706 /*>\addtogroup OPENCMISS_EquationsSetHelmholtzAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Helmholtz */
707 /*>\brief The analytic function types for a Helmholtz equation */
708 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
709 /*>@{ */
710 const int CMFE_EQUATIONS_SET_HELMHOLTZ_EQUATION_TWO_DIM_1 = 1; /*<u=cos(sqrt(2)*k*x)*sin(sqrt(2)*k*y) \see OPENCMISS_EquationsSetHelmholtzAnalyticFunctionTypes,OPENCMISS */
711 /*>@} */
712 /*>\addtogroup OPENCMISS_PoiseuilleAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Poiseuille */
713 /*>\brief The analytic function types for a Poiseuille equation. */
714 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
715 /*>@{ */
716 const int CMFE_EQUATIONS_SET_POISEUILLE_EQUATION_TWO_DIM_1 = 1; /*<u=ln(4/(x+y+1^2)) \see OPENCMISS_EquationsSetPoiseuilleAnalyticFunctionTypes,OPENCMISS */
717 /*>@} */
718 /*>\addtogroup OPENCMISS_PoissonAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Poisson */
719 /*>\brief The analytic function types for a Poisson equation. */
720 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
721 /*>@{ */
722 const int CMFE_EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_1 = 1; /*<u=ln(4/(x+y+1^2)) \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS */
723 const int CMFE_EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_2 = 2; /*<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS */
724 const int CMFE_EQUATIONS_SET_POISSON_EQUATION_TWO_DIM_3 = 3; /*<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS */
725 const int CMFE_EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_1 = 4; /*<u=ln(6/(x+y+z+1^2)) \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS */
726 const int CMFE_EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_2 = 5; /*<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS */
727 const int CMFE_EQUATIONS_SET_POISSON_EQUATION_THREE_DIM_3 = 6; /*<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS */
728 const int CMFE_EQUATIONS_SET_PRESSURE_POISSON_THREE_DIM_1 = 18; /*<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS */
729 const int CMFE_EQUATIONS_SET_PRESSURE_POISSON_THREE_DIM_2 = 19; /*<u=tbd \see OPENCMISS_EquationsSetPoissonAnalyticFunctionTypes,OPENCMISS */
730 /*>@} */
731 /*>\addtogroup OPENCMISS_DiffusionAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Diffusion */
732 /*>\brief The analytic function types for a diffusion equation. */
733 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
734 /*>@{ */
736 const int CMFE_EQUATIONS_SET_DIFFUSION_EQUATION_TWO_DIM_1 = 2; /*<u=exp(-kt)*sin(sqrt(k)*(x*cos(phi)+y*sin(phi))) \see OPENCMISS_EquationsSetDiffusionAnalyticFunctionTypes,OPENCMISS */
741 const int CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_TWO_COMP_TWO_DIM = 4; /*<Prescribed solution, using a source term to correct for error - 2D with 2 compartments */
742 const int CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_TWO_COMP_THREE_DIM = 5; /*<Prescribed solution, using a source term to correct for error - 3D with 2 compartments */
743 const int CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_THREE_COMP_THREE_DIM = 6; /*<Prescribed solution, using a source term to correct for error - 3D with 3 compartments */
744 const int CMFE_EQUATIONS_SET_MULTI_COMP_DIFFUSION_FOUR_COMP_THREE_DIM = 7; /*<Prescribed solution, using a source term to correct for error - 3D with 3 compartments */
745 /*>@} */
746 /*>\addtogroup OPENCMISS_AdvectionDiffusionAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::AdvectionDiffusion */
747 /*>\brief The analytic function types for an advection-diffusion equation. */
748 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
749 /*>@{ */
750 const int CMFE_EQUATIONS_SET_ADVECTION_DIFFUSION_EQUATION_TWO_DIM_1 = 1; /*<u=exp(-kt)*sin(sqrt(k)*(x*cos(phi)+y*sin(phi))) \see OPENCMISS_EquationsSetDiffusionAnalyticFunctionTypes,OPENCMISS */
751 /*>\addtogroup OPENCMISS_StokesAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Stokes */
752 /*>\brief The analytic function types for a Stokes equation. */
753 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
754 /*>@{ */
755 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_1 = 1; /*<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS */
756 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_2 = 2; /*<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS */
757 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_3 = 3; /*<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS */
758 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_4 = 4; /*<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS */
759 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_TWO_DIM_5 = 5; /*<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS */
760 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_1 = 6; /*<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS */
761 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_2 = 7; /*<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS */
762 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_3 = 8; /*<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS */
763 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_4 = 9; /*<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS */
764 const int CMFE_EQUATIONS_SET_STOKES_EQUATION_THREE_DIM_5 = 10; /*<u=tbd \see OPENCMISS_EquationsSetStokesAnalyticFunctionTypes,OPENCMISS */
765 /*>@} */
766 /*>\addtogroup OPENCMISS_NavierStokesAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::NavierStokes */
767 /*>\brief The analytic function types for a Navier-Stokes equation. */
768 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
769 /*>@{ */
770 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_POISEUILLE = 12; /*<fully developed 2D channel flow (parabolic) \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
771 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_TAYLOR_GREEN = 13; /*<2D dynamic nonlinear Taylor-Green vortex decay \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
772 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_FLOWRATE_AORTA = 14; /*<A fourier decomposed flow waveform for boundary conditions */
773 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_SINUSOID = 15; /*<A sinusoidal flow waveform */
774 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_SPLINT_FROM_FILE = 17; /*<Spline integration of dependent values specified in a file */
775 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_1 = 1; /*<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
776 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_2 = 2; /*<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
777 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_3 = 3; /*<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
778 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_4 = 4; /*<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
779 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_TWO_DIM_5 = 5; /*<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
780 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_1 = 6; /*<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
781 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_2 = 7; /*<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
782 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_3 = 8; /*<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
783 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_4 = 9; /*<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
784 const int CMFE_EQUATIONS_SET_NAVIER_STOKES_EQUATION_THREE_DIM_5 = 10; /*<u=tbd \see OPENCMISS_EquationsSetNavierStokesAnalyticFunctionTypes,OPENCMISS */
785 /*>@} */
786 /*>\addtogroup OPENCMISS_DarcyAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Darcy */
787 /*>\brief The analytic function types for a Darcy equation. */
788 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
789 /*>@{ */
790 const int CMFE_EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_1 = 1; /*<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS */
791 const int CMFE_EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_2 = 2; /*<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS */
792 const int CMFE_EQUATIONS_SET_DARCY_EQUATION_TWO_DIM_3 = 3; /*<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS */
793 const int CMFE_EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_1 = 4; /*<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS */
794 const int CMFE_EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_2 = 5; /*<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS */
795 const int CMFE_EQUATIONS_SET_DARCY_EQUATION_THREE_DIM_3 = 6; /*<u=tbd \see OPENCMISS_EquationsSetDarcyAnalyticFunctionTypes,OPENCMISS */
796 const int CMFE_EQUATIONS_SET_INCOMP_ELAST_DARCY_ANALYTIC_DARCY = 7; /*<this is a solution where the finite elasticity solve is skipped to allow easy analytic testing of the mass increase & velocity solve step of incompressible poromechanical model */
797 /*>@} */
798 /*>\addtogroup OPENCMISS_BurgersAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::Burgers */
799 /*>\brief The analytic function types for a Burgers equation. */
800 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
801 /*>@{ */
806 /*>@} */
807 /*>\addtogroup OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::LinearElasticity */
808 /*>\brief The analytic function types for a LinearElasticity equation */
809 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
810 /*>@{ */
811 const int CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_ONE_DIM_1 = 1; /*<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS */
812 const int CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_TWO_DIM_1 = 2; /*<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS */
813 const int CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_TWO_DIM_2 = 3; /*<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS */
814 const int CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_THREE_DIM_1 = 4; /*<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS */
815 const int CMFE_EQUATIONS_SET_LINEAR_ELASTICITY_THREE_DIM_2 = 5; /*<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS */
816 /*>@} */
817 /*>\addtogroup OPENCMISS_EquationsSetFiniteElasticityAnalyticFunctionTypes OPENCMISS::EquationsSet::AnalyticFunctionTypes::FiniteElasticity */
818 /*>\brief The analytic function types for a FiniteElasticity equation */
819 /*>\see OPENCMISS::EquationsSet::AnalyticFunctionTypes,OPENCMISS */
820 /*>@{ */
821 const int CMFE_EQUATIONS_SET_FINITE_ELASTICITY_CYLINDER = 1; /*<u=tbd \see OPENCMISS_EquationsSetLinearElasticityAnalyticFunctionTypes,OPENCMISS */
822 /*>@} */
823 /*>@} */
824 /*>@} */
825 /*>\addtogroup OPENCMISS_AnalyticParamIndices OPENCMISS::FiniteElasticity::AnalyticParamIndices */
826 /*>\brief Indices for EQUATIONS_SET_ANALYTIC_TYPE%ANALYTIC_USER_PARAMS */
827 /*>\see OPENCMISS::FiniteElasticity::AnalyticParamIndices,OPENCMISS */
828 /*>@{ */
829 const int CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_PIN_IDX = 1; /*<Inner pressure parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS */
830 const int CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_POUT_IDX = 2; /*<Outer pressure parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS */
831 const int CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_LAMBDA_IDX = 3; /*<Lambda parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS */
832 const int CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_TSI_IDX = 4; /*<Tsi parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS */
833 const int CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_RIN_IDX = 5; /*<Inner radius parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS */
834 const int CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_ROUT_IDX = 6; /*<Outer radius parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS */
835 const int CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_C1_IDX = 7; /*<c1 parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS */
836 const int CMFE_FINITE_ELASTICITY_ANALYTIC_CYLINDER_PARAM_C2_IDX = 8; /*<c2 parameter index \see OPENCMISS_AnalyticParamIndices,OPENCMISS */
837 /*>@} */
838 /*>\addtogroup OPENCMISS_FieldConstants OPENCMISS::Field::Constants */
839 /*>\brief Field constants. */
840 /*>@{ */
841 /*>\addtogroup OPENCMISS_FieldDependentTypes OPENCMISS::Field::DependentTypes */
842 /*>\brief Depedent field parameter types. */
843 /*>\see OPENCMISS::Field,OPENCMISS */
844 /*>@{ */
845 const int CMFE_FIELD_INDEPENDENT_TYPE = 1; /*<Independent field type \see OPENCMISS_FieldDependentTypes,OPENCMISS */
846 const int CMFE_FIELD_DEPENDENT_TYPE = 2; /*<Dependent field type \see OPENCMISS_FieldDependentTypes,OPENCMISS */
847 /*>@} */
848 /*>\addtogroup OPENCMISS_FieldDimensionTypes OPENCMISS::Field::DimensionTypes */
849 /*>\brief Field dimension parameter types. */
850 /*>\see OPENCMISS::Field,OPENCMISS */
851 /*>@{ */
852 const int CMFE_FIELD_SCALAR_DIMENSION_TYPE = 1; /*<Scalar field \see OPENCMISS_FieldDimensionTypes,OPENCMISS */
853 const int CMFE_FIELD_VECTOR_DIMENSION_TYPE = 2; /*<Vector field \see OPENCMISS_FieldDimensionTypes,OPENCMISS */
854 const int CMFE_FIELD_TENSOR_DIMENSION_TYPE = 3; /*<Tensor field \see OPENCMISS_FieldDimensionTypes,OPENCMISS */
855 /*>@} */
856 /*>\addtogroup OPENCMISS_FieldTypes OPENCMISS::Field::Types */
857 /*>\brief Field type parameters. */
858 /*>\see OPENCMISS::Field,OPENCMISS */
859 /*>@{ */
860 const int CMFE_FIELD_GEOMETRIC_TYPE = 1; /*<Geometric field \see OPENCMISS_FieldTypes,OPENCMISS */
861 const int CMFE_FIELD_FIBRE_TYPE = 2; /*<Fibre field \see OPENCMISS_FieldTypes,OPENCMISS */
862 const int CMFE_FIELD_GENERAL_TYPE = 3; /*<General field \see OPENCMISS_FieldTypes,OPENCMISS */
863 const int CMFE_FIELD_MATERIAL_TYPE = 4; /*<Material field \see OPENCMISS_FieldTypes,OPENCMISS */
864 const int CMFE_FIELD_GEOMETRIC_GENERAL_TYPE = 5; /*<Geometric general field \see OPENCMISS_FieldTypes,OPENCMISS */
865 /*>@} */
866 /*>\addtogroup OPENCMISS_FieldInterpolationTypes OPENCMISS::Field::InterpolationTypes */
867 /*>\brief Field interpolation parameters. */
868 /*>\see OPENCMISS::Field,OPENCMISS */
869 /*>@{ */
870 const int CMFE_FIELD_CONSTANT_INTERPOLATION = 1; /*<Constant interpolation. One parameter for the field \see OPENCMISS_FieldInterpolationTypes,OPENCMISS */
871 const int CMFE_FIELD_ELEMENT_BASED_INTERPOLATION = 2; /*<Element based interpolation. Parameters are different in each element \see OPENCMISS_FieldInterpolationTypes,OPENCMISS */
872 const int CMFE_FIELD_NODE_BASED_INTERPOLATION = 3; /*<Node based interpolation. Parameters are nodal based and a basis function is used \see OPENCMISS_FieldInterpolationTypes,OPENCMISS */
873 const int CMFE_FIELD_GRID_POINT_BASED_INTERPOLATION = 4; /*<Grid point based interpolation. Parameters are different at each grid point \see OPENCMISS_FieldInterpolationTypes,OPENCMISS */
874 const int CMFE_FIELD_GAUSS_POINT_BASED_INTERPOLATION = 5; /*<Gauss point based interpolation. Parameters are different at each Gauss point \see OPENCMISS_FieldInterpolationTypes,OPENCMISS */
875 const int CMFE_FIELD_DATA_POINT_BASED_INTERPOLATION = 6; /*<Data point based interpolation. Parameters are different at each data point \see OPENCMISS_FieldInterpolationTypes,OPENCMISS */
876 /*>@} */
877 /*>\addtogroup OPENCMISS_FieldVariableTypes OPENCMISS::Field::VariableTypes */
878 /*>\brief Field variable type parameters. */
879 /*>\see OPENCMISS::Field,OPENCMISS */
880 /*>@{ */
881 const int CMFE_FIELD_NUMBER_OF_VARIABLE_SUBTYPES = 4; /*<The number of subtypes of a variable - i.e., u, du/dn, du/dt, d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
882 const int CMFE_FIELD_U_VARIABLE_TYPE = 1; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
883 const int CMFE_FIELD_DELUDELN_VARIABLE_TYPE = 2; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
884 const int CMFE_FIELD_DELUDELT_VARIABLE_TYPE = 3; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
885 const int CMFE_FIELD_DEL2UDELT2_VARIABLE_TYPE = 4; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
886 const int CMFE_FIELD_V_VARIABLE_TYPE = 5; /*<Second standard variable type i.e., v \see OPENCMISS_FieldVariableTypes,OPENCMISS */
887 const int CMFE_FIELD_DELVDELN_VARIABLE_TYPE = 6; /*<Second normal derivative variable type i.e., dv/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
888 const int CMFE_FIELD_DELVDELT_VARIABLE_TYPE = 7; /*<Second first time derivative variable type i.e., dv/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
889 const int CMFE_FIELD_DEL2VDELT2_VARIABLE_TYPE = 8; /*<Second second time derivative variable type i.e., d^2v/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
890 const int CMFE_FIELD_U1_VARIABLE_TYPE = 9; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
891 const int CMFE_FIELD_DELU1DELN_VARIABLE_TYPE = 10; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
892 const int CMFE_FIELD_DELU1DELT_VARIABLE_TYPE = 11; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
893 const int CMFE_FIELD_DEL2U1DELT2_VARIABLE_TYPE = 12; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
894 const int CMFE_FIELD_U2_VARIABLE_TYPE = 13; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
895 const int CMFE_FIELD_DELU2DELN_VARIABLE_TYPE = 14; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
896 const int CMFE_FIELD_DELU2DELT_VARIABLE_TYPE = 15; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
897 const int CMFE_FIELD_DEL2U2DELT2_VARIABLE_TYPE = 16; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
898 const int CMFE_FIELD_U3_VARIABLE_TYPE = 17; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
899 const int CMFE_FIELD_DELU3DELN_VARIABLE_TYPE = 18; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
900 const int CMFE_FIELD_DELU3DELT_VARIABLE_TYPE = 19; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
901 const int CMFE_FIELD_DEL2U3DELT2_VARIABLE_TYPE = 20; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
902 const int CMFE_FIELD_U4_VARIABLE_TYPE = 21; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
903 const int CMFE_FIELD_DELU4DELN_VARIABLE_TYPE = 22; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
904 const int CMFE_FIELD_DELU4DELT_VARIABLE_TYPE = 23; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
905 const int CMFE_FIELD_DEL2U4DELT2_VARIABLE_TYPE = 24; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
906 const int CMFE_FIELD_U5_VARIABLE_TYPE = 25; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
907 const int CMFE_FIELD_DELU5DELN_VARIABLE_TYPE = 26; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
908 const int CMFE_FIELD_DELU5DELT_VARIABLE_TYPE = 27; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
909 const int CMFE_FIELD_DEL2U5DELT2_VARIABLE_TYPE = 28; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
910 const int CMFE_FIELD_U6_VARIABLE_TYPE = 29; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
911 const int CMFE_FIELD_DELU6DELN_VARIABLE_TYPE = 30; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
912 const int CMFE_FIELD_DELU6DELT_VARIABLE_TYPE = 31; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
913 const int CMFE_FIELD_DEL2U6DELT2_VARIABLE_TYPE = 32; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
914 const int CMFE_FIELD_U7_VARIABLE_TYPE = 33; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
915 const int CMFE_FIELD_DELU7DELN_VARIABLE_TYPE = 34; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
916 const int CMFE_FIELD_DELU7DELT_VARIABLE_TYPE = 35; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
917 const int CMFE_FIELD_DEL2U7DELT2_VARIABLE_TYPE = 36; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
918 const int CMFE_FIELD_U8_VARIABLE_TYPE = 37; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
919 const int CMFE_FIELD_DELU8DELN_VARIABLE_TYPE = 38; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
920 const int CMFE_FIELD_DELU8DELT_VARIABLE_TYPE = 39; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
921 const int CMFE_FIELD_DEL2U8DELT2_VARIABLE_TYPE = 40; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
922 const int CMFE_FIELD_U9_VARIABLE_TYPE = 41; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
923 const int CMFE_FIELD_DELU9DELN_VARIABLE_TYPE = 42; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
924 const int CMFE_FIELD_DELU9DELT_VARIABLE_TYPE = 43; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
925 const int CMFE_FIELD_DEL2U9DELT2_VARIABLE_TYPE = 44; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
926 const int CMFE_FIELD_U10_VARIABLE_TYPE = 45; /*<Standard variable type i.e., u \see OPENCMISS_FieldVariableTypes,OPENCMISS */
927 const int CMFE_FIELD_DELU10DELN_VARIABLE_TYPE = 46; /*<Normal derivative variable type i.e., du/dn \see OPENCMISS_FieldVariableTypes,OPENCMISS */
928 const int CMFE_FIELD_DELU10DELT_VARIABLE_TYPE = 47; /*<First time derivative variable type i.e., du/dt \see OPENCMISS_FieldVariableTypes,OPENCMISS */
929 const int CMFE_FIELD_DEL2U10DELT2_VARIABLE_TYPE = 48; /*<Second time derivative variable type i.e., d^2u/dt^2 \see OPENCMISS_FieldVariableTypes,OPENCMISS */
930 /*>@} */
931 /*>\addtogroup OPENCMISS_FieldDataTypes OPENCMISS::Field::DataTypes */
932 /*>\brief Field data types */
933 /*>\see OPENCMISS::Field,OPENCMISS */
934 /*>@{ */
935 const int CMFE_FIELD_INTG_TYPE = 1; /*<Integer field data type \see OPENCMISS_FieldDataTypes,OPENCMISS */
936 const int CMFE_FIELD_SP_TYPE = 2; /*<Single precision real field data type \see OPENCMISS_FieldDataTypes,OPENCMISS */
937 const int CMFE_FIELD_DP_TYPE = 3; /*<Double precision real field data type \see OPENCMISS_FieldDataTypes,OPENCMISS */
938 const int CMFE_FIELD_L_TYPE = 4; /*<Logical field data type \see OPENCMISS_FieldDataTypes,OPENCMISS */
939 /*>@} */
940 /*>\addtogroup OPENCMISS_FieldDOFOrderTypes OPENCMISS::Field::DOFOrderTypes */
941 /*>\brief Field DOF order types */
942 /*>\see OPENCMISS::Field,OPENCMISS */
943 /*>@{ */
944 const int CMFE_FIELD_SEPARATED_COMPONENT_DOF_ORDER = 1; /*<Field variable component dofs are not contiguous \see OPENCMISS_FieldDOFOrderTypes,OPENCMISS */
945 const int CMFE_FIELD_CONTIGUOUS_COMPONENT_DOF_ORDER = 2; /*<Field variable component dofs are contiguous \see OPENCMISS_FieldDOFOrderTypes,OPENCMISS */
946 /*>@} */
947 /*>\addtogroup OPENCMISS_FieldParameterSetTypes OPENCMISS::Field::ParameterSetTypes */
948 /*>\brief Field parameter set type parameters */
949 /*>\see OPENCMISS::Field,OPENCMISS */
950 /*>@{ */
951 const int CMFE_FIELD_VALUES_SET_TYPE = 1; /*<The parameter set corresponding to the field values (at time T+DT for dynamic problems) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
952 const int CMFE_FIELD_BOUNDARY_CONDITIONS_SET_TYPE = 2; /*<The parameter set corresponding to the field boundary condition values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
953 const int CMFE_FIELD_INITIAL_VALUES_SET_TYPE = 3; /*<The parameter set corresponding to the field initial values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
954 const int CMFE_FIELD_INCREMENTAL_VALUES_SET_TYPE = 4; /*<The parameter set corresponding to the field incremental values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
955 const int CMFE_FIELD_ANALYTIC_VALUES_SET_TYPE = 5; /*<The parameter set corresponding to the analytic field values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
956 const int CMFE_FIELD_PREVIOUS_VALUES_SET_TYPE = 6; /*<The parameter set corresponding to the previous field values (at time T) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
957 const int CMFE_FIELD_MEAN_PREDICTED_DISPLACEMENT_SET_TYPE = 7; /*<The parameter set corresponding to the mean predicited avalues (at time T+DT) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
958 const int CMFE_FIELD_VELOCITY_VALUES_SET_TYPE = 8; /*<The parameter set corresponding to the velocity values (at time T+DT) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
959 const int CMFE_FIELD_INITIAL_VELOCITY_SET_TYPE = 9; /*<The parameter set corresponding to the initial velocity values for dynamic problems. This is also the previous velocity values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
960 const int CMFE_FIELD_PREVIOUS_VELOCITY_SET_TYPE = 9; /*<The parameter set corresponding to the previous velocity values (at time T). This is also the initial velocity values for dynamic problems. \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
961 const int CMFE_FIELD_MEAN_PREDICTED_VELOCITY_SET_TYPE = 10; /*<The parameter set corresponding to the mean predicited velocity values (at time T+DT) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
962 const int CMFE_FIELD_ACCELERATION_VALUES_SET_TYPE = 11; /*<The parameter set corresponding to the acceleration values (at time T+DT) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
963 const int CMFE_FIELD_INITIAL_ACCELERATION_SET_TYPE = 12; /*<The parameter set corresponding to the initial acceleration values for dynamic problems. This is also the previous accelearation values \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
964 const int CMFE_FIELD_PREVIOUS_ACCELERATION_SET_TYPE = 12; /*<The parameter set corresponding to the previous acceleration values (at time T).This is also the initial acceleration values for dynamic problems. \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
965 const int CMFE_FIELD_MEAN_PREDICTED_ACCELERATION_SET_TYPE = 13; /*<The parameter set corresponding to the mean predicited acceleration values (at time T+DT) \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
966 const int CMFE_FIELD_PRESSURE_VALUES_SET_TYPE = 29; /*<The parameter set corresponding to the surface pressure values. \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
967 const int CMFE_FIELD_PREVIOUS_PRESSURE_SET_TYPE = 30; /*<The parameter set corresponding to the previous surface pressure values (at time T). \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
968 const int CMFE_FIELD_IMPERMEABLE_FLAG_VALUES_SET_TYPE = 34; /*<The parameter set corresponding to the impermeable flag values. \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
969 const int CMFE_FIELD_INTEGRATED_NEUMANN_SET_TYPE = 35; /*<Stores integrated Neumann values calculated from Neumann point values. \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
970 const int CMFE_FIELD_MESH_DISPLACEMENT_SET_TYPE = 19; /*<The parameter set corresponding to the mesh displacement values for ALE \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
971 const int CMFE_FIELD_MESH_VELOCITY_SET_TYPE = 20; /*<The parameter set corresponding to the mesh velocity values for ALE \see OPENCMISS_FieldParameterSetTypes,OPENCMISS */
972 /*>@} */
973 /*>\addtogroup OPENCMISS_FieldScalingTypes OPENCMISS::Field::ScalingTypes */
974 /*>\brief Field scaling type parameters */
975 /*>\see OPENCMISS::Field,OPENCMISS */
976 /*>@{ */
977 const int CMFE_FIELD_NO_SCALING = 0; /*<The field is not scaled \see OPENCMISS_FieldScalingTypes,OPENCMISS */
978 const int CMFE_FIELD_UNIT_SCALING = 1; /*<The field has unit scaling \see OPENCMISS_FieldScalingTypes,OPENCMISS */
979 const int CMFE_FIELD_ARC_LENGTH_SCALING = 2; /*<The field has arc length scaling \see OPENCMISS_FieldScalingTypes,OPENCMISS */
980 const int CMFE_FIELD_ARITHMETIC_MEAN_SCALING = 3; /*<The field has arithmetic mean of the arc length scaling \see OPENCMISS_FieldScalingTypes,OPENCMISS */
981 const int CMFE_FIELD_GEOMETRIC_MEAN_SCALING = 4; /*<The field has geometric mean of the arc length scaling \see OPENCMISS_FieldScalingTypes,OPENCMISS */
982 const int CMFE_FIELD_HARMONIC_MEAN_SCALING = 5; /*<The field has geometric mean of the arc length scaling \see OPENCMISS_FieldScalingTypes,OPENCMISS */
983 /*>@} */
984 /*>@} */
985 /*>\addtogroup OPENCMISS_GeneratedMeshConstants OPENCMISS::GeneratedMesh::Constants */
986 /*>\brief Generated mesh constants. */
987 /*>@{ */
988 /*>\addtogroup OPENCMISS_GeneratedMeshTypes OPENCMISS::GeneratedMesh::Types */
989 /*>\brief Generated mesh types. */
990 /*>\see OPENCMISS::GeneratedMesh,OPENCMISS */
991 /*>@{ */
992 const int CMFE_GENERATED_MESH_REGULAR_MESH_TYPE = 1; /*<A regular generated mesh. \see OPENCMISS_GeneratedMeshTypes,OPENCMISS */
993 const int CMFE_GENERATED_MESH_POLAR_MESH_TYPE = 2; /*<A polar generated mesh. \see OPENCMISS_GeneratedMeshTypes,OPENCMISS */
994 const int CMFE_GENERATED_MESH_FRACTAL_TREE_MESH_TYPE = 3; /*<A fractal tree generated mesh. \see OPENCMISS_GeneratedMeshTypes,OPENCMISS */
995 const int CMFE_GENERATED_MESH_CYLINDER_MESH_TYPE = 4; /*<A cylinder generated mesh. \see OPENCMISS_GeneratedMeshTypes,OPENCMISS */
996 const int CMFE_GENERATED_MESH_ELLIPSOID_MESH_TYPE = 5; /*<An ellipsoid generated mesh. \see OPENCMISS_GeneratedMeshTypes,OPENCMISS */
997 /*>@} */
998 /*>@} */
999 /*>\addtogroup OPENCMISS_GeneratedMeshConstants OPENCMISS::GeneratedMesh::Constants */
1000 /*>\brief Generated mesh constants. */
1001 /*>@{ */
1002 /*>\addtogroup OPENCMISS_GeneratedMeshSurfaceTypes OPENCMISS::GeneratedMesh::SurfaceTypes */
1003 /*>\brief Generated mesh surface types. */
1004 /*>\see OPENCMISS::GeneratedMesh,OPENCMISS */
1005 /*>@{ */
1006 const int CMFE_GENERATED_MESH_CYLINDER_INNER_SURFACE = 1; /*<Cylinder inner surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1007 const int CMFE_GENERATED_MESH_CYLINDER_OUTER_SURFACE = 2; /*<Cylinder outer surface. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1008 const int CMFE_GENERATED_MESH_CYLINDER_TOP_SURFACE = 3; /*<Cylinder top surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1009 const int CMFE_GENERATED_MESH_CYLINDER_BOTTOM_SURFACE = 4; /*<Cylinder bottom surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1010 const int CMFE_GENERATED_MESH_ELLIPSOID_INNER_SURFACE = 5; /*<Ellipsoid inner surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1011 const int CMFE_GENERATED_MESH_ELLIPSOID_OUTER_SURFACE = 6; /*<Ellipsoid outer surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1012 const int CMFE_GENERATED_MESH_ELLIPSOID_TOP_SURFACE = 7; /*<Ellipsoid top surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1013 const int CMFE_GENERATED_MESH_REGULAR_LEFT_SURFACE = 8; /*<Regular left surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1014 const int CMFE_GENERATED_MESH_REGULAR_RIGHT_SURFACE = 9; /*<Regular right surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1015 const int CMFE_GENERATED_MESH_REGULAR_TOP_SURFACE = 10; /*<Regular top surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1016 const int CMFE_GENERATED_MESH_REGULAR_BOTTOM_SURFACE = 11; /*<Regular bottom surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1017 const int CMFE_GENERATED_MESH_REGULAR_FRONT_SURFACE = 12; /*<Regular front surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1018 const int CMFE_GENERATED_MESH_REGULAR_BACK_SURFACE = 13; /*<Regular back surface constant. \see OPENCMISS_GeneratedMeshSurfaceTypes,OPENCMISS */
1019 /*>@} */
1020 /*>@} */
1021 /*>\addtogroup OPENCMISS_InterfaceConditionConstants OPENCMISS::InterfaceConditions::Constants */
1022 /*>\brief Interface conditions constants. */
1023 /*>@{ */
1024 /*>\addtogroup OPENCMISS_InterfaceConditionMethods OPENCMISS::InterfaceConditions::Methods */
1025 /*>\brief Interface condition methods. */
1026 /*>\see OPENCMISS::InterfaceConditions,OPENCMISS */
1027 /*>@{ */
1028 const int CMFE_INTERFACE_CONDITION_LAGRANGE_MULTIPLIERS_METHOD = 1; /*<Lagrange multipliers interface condition method. \see OPENCMISS_InterfaceConditionMethods,OPENCMISS */
1029 const int CMFE_INTERFACE_CONDITION_AUGMENTED_LAGRANGE_METHOD = 2; /*<Augmented Lagrange multiplers interface condition method. \see OPENCMISS_InterfaceConditionMethods,OPENCMISS */
1030 const int CMFE_INTERFACE_CONDITION_PENALTY_METHOD = 3; /*<Penalty interface condition method. \see OPENCMISS_InterfaceConditionMethods,OPENCMISS */
1031 const int CMFE_INTERFACE_CONDITION_POINT_TO_POINT_METHOD = 4; /*<Point to point interface condition method. \see OPENCMISS_InterfaceConditionMethods,OPENCMISS */
1032 /*>@} */
1033 /*>\addtogroup OPENCMISS_InterfaceConditionOperators OPENCMISS::InterfaceConditions::Operators */
1034 /*>\brief Interface condition operator types. */
1035 /*>\see OPENCMISS::InterfaceConditions,OPENCMISS */
1036 /*>@{ */
1037 const int CMFE_INTERFACE_CONDITION_FIELD_CONTINUITY_OPERATOR = 1; /*<Continuous field operator, i.e., lambda.(u1_gauss-u2_gauss). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS */
1038 const int CMFE_INTERFACE_CONDITION_FIELD_NORMAL_CONTINUITY_OPERATOR = 2; /*<Continuous field normal operator, i.e., lambda(u_1.n_1-u_2.n_2). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS */
1039 const int CMFE_INTERFACE_CONDITION_FLS_CONTACT_OPERATOR = 3; /*<Frictionless contact operator, i.e., lambda.(x_1.n-x_2.n). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS */
1040 const int CMFE_INTERFACE_CONDITION_FLS_CONTACT_REPROJECT_OPERATOR = 4; /*<Frictionless contact operator, reproject at each newton iteration and has geometric linearisation terms i.e., lambda.(x_1.n-x_2.n). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS */
1041 const int CMFE_INTERFACE_CONDITION_SOLID_FLUID_OPERATOR = 5; /*<Solid fluid operator, i.e., lambda.(v_f-du_s/dt). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS */
1042 const int CMFE_INTERFACE_CONDITION_SOLID_FLUID_NORMAL_OPERATOR = 6; /*<Solid fluid normal operator, i.e., lambda(v_f.n_f-du_s/dt.n_s). \see OPENCMISS_InterfaceConditionOperators,OPENCMISS */
1043 /*>@} */
1044 /*>\addtogroup OPENCMISS_InterfaceConditionIntegrationTypes OPENCMISS::InterfaceConditions::IntegrationTypes */
1045 /*>\brief Interface condition integration types. */
1046 /*>\see OPENCMISS::InterfaceConditions,OPENCMISS */
1047 /*>@{ */
1048 const int CMFE_INTERFACE_CONDITION_GAUSS_INTEGRATION = 1; /*<Gauss points integration type, i.e. Loop over element Gauss points and sum up their contribution. \see OPENCMISS_InterfaceConditionIntegrationTypes,OPENCMISS */
1049 const int CMFE_INTERFACE_CONDITION_DATA_POINTS_INTEGRATION = 2; /*<Data points integration type i.e. Loop over data points and sum up their contribution. \see OPENCMISS_InterfaceConditionIntegrationTypes,OPENCMISS */
1050 /*>@} */
1051 /*>@} */
1052 /*>\addtogroup OPENCMISS_InterfaceMatricesTimeDependenceTypes OPENCMISS::InterfaceMatrices::TimeDependenceTypes */
1053 /*>\brief Interface matrices time dependency types */
1054 /*>@{ */
1055 /*>@} */
1056 /*>\addtogroup OPENCMISS_MeshConstants OPENCMISS::Mesh::Constants */
1057 /*>\brief Mesh constants. */
1058 /*>@{ */
1059 /*>\addtogroup OPENCMISS_DecompositionTypes OPENCMISS::Mesh::DecompositionTypes */
1060 /*>\brief The Decomposition types parameters */
1061 /*>\see OPENCMISS::Mesh,OPENCMISS */
1062 /*>@{ */
1063 const int CMFE_DECOMPOSITION_ALL_TYPE = 1; /*<The decomposition contains all elements. \see OPENCMISS_DecompositionTypes,OPENCMISS */
1064 const int CMFE_DECOMPOSITION_CALCULATED_TYPE = 2; /*<The element decomposition is calculated by graph partitioning. \see OPENCMISS_DecompositionTypes,OPENCMISS */
1065 const int CMFE_DECOMPOSITION_USER_DEFINED_TYPE = 3; /*<The user will set the element decomposition. \see OPENCMISS_DecompositionTypes,OPENCMISS */
1066 /*>@} */
1067 /*>@} */
1068 /*>\addtogroup OPENCMISS_MatrixVectorConstants OPENCMISS::MatrixVector::Constants */
1069 /*>\brief Distributed matrix and vector function constants. */
1070 /*>@{ */
1071 /*>\addtogroup OPENCMISS_MatrixStorageTypes OPENCMISS::MatrixVector::MatrixStorageTypes */
1072 /*>\brief Type of matrix storage. */
1073 /*>\see OPENCMISS::MatrixVectorConstants,OPENCMISS */
1074 /*>@{ */
1075 const int CMFE_MATRIX_BLOCK_STORAGE_TYPE = 0; /*<Distributed matrix block storage type \see OPENCMISS_MatrixStorageTypes,OPENCMISS */
1076 const int CMFE_MATRIX_DIAGONAL_STORAGE_TYPE = 1; /*<Distributed matrix diagonal storage type \see OPENCMISS_MatrixStorageTypes,OPENCMISS */
1077 const int CMFE_MATRIX_COLUMN_MAJOR_STORAGE_TYPE = 2; /*<Distributed matrix column major storage type \see OPENCMISS_MatrixStorageTypes,OPENCMISS */
1078 const int CMFE_MATRIX_ROW_MAJOR_STORAGE_TYPE = 3; /*<Distributed matrix row major storage type \see OPENCMISS_MatrixStorageTypes,OPENCMISS */
1079 const int CMFE_MATRIX_COMPRESSED_ROW_STORAGE_TYPE = 4; /*<Distributed matrix compressed row storage type \see OPENCMISS_MatrixStorageTypes,OPENCMISS */
1080 const int CMFE_MATRIX_COMPRESSED_COLUMN_STORAGE_TYPE = 5; /*<Distributed matrix compressed column storage type \see OPENCMISS_MatrixStorageTypes,OPENCMISS */
1081 const int CMFE_MATRIX_ROW_COLUMN_STORAGE_TYPE = 6; /*<Distributed matrix row-column storage type \see OPENCMISS_MatrixStorageTypes,OPENCMISS */
1082 /*>@} */
1083 /*>\addtogroup OPENCMISS_MatrixVectorDataTypes OPENCMISS::MatrixVector::DataTypes */
1084 /*>\brief Type of data stored in matrices and vectors. */
1085 /*>\see OPENCMISS::MatrixVectorConstants,OPENCMISS */
1086 /*>@{ */
1088 const int CMFE_MATRIX_VECTOR_SP_TYPE = 4; /*<Single precision real distributed matrix-vector data type \see OPENCMISS_MatrixVectorDataTypes,OPENCMISS */
1089 const int CMFE_MATRIX_VECTOR_DP_TYPE = 5; /*<Double precision real distributed matrix-vector data type \see OPENCMISS_MatrixVectorDataTypes,OPENCMISS */
1090 const int CMFE_MATRIX_VECTOR_L_TYPE = 8; /*<Logical distributed matrix-vector data type \see OPENCMISS_MatrixVectorDataTypes,OPENCMISS */
1091 /*>@} */
1092 /*>@} */
1093 /*>\addtogroup OPENCMISS_ProblemConstants OPENCMISS::Problem::Constants */
1094 /*>\brief Problem constants. */
1095 /*>@{ */
1096 /*>\addtogroup OPENCMISS_ProblemClasses OPENCMISS::Problem::Classes */
1097 /*>\brief Problem classes. */
1098 /*>\see OPENCMISS::Problem,OPENCMISS */
1099 /*>@{ */
1100 const int CMFE_PROBLEM_NO_CLASS = 0; /*<No problem class \see OPENCMISS_ProblemClasses,OPENCMISS */
1101 const int CMFE_PROBLEM_ELASTICITY_CLASS = 1; /*<Elasticity problem class \see OPENCMISS_ProblemClasses,OPENCMISS */
1102 const int CMFE_PROBLEM_FLUID_MECHANICS_CLASS = 2; /*<Fluid mechanics problem class \see OPENCMISS_ProblemClasses,OPENCMISS */
1103 const int CMFE_PROBLEM_ELECTROMAGNETICS_CLASS = 3; /*<Electromagnetics problem class \see OPENCMISS_ProblemClasses,OPENCMISS */
1104 const int CMFE_PROBLEM_CLASSICAL_FIELD_CLASS = 4; /*<Classical field problem class \see OPENCMISS_ProblemClasses,OPENCMISS */
1105 const int CMFE_PROBLEM_BIOELECTRICS_CLASS = 5; /*<Bioelectrics problem class \see OPENCMISS_ProblemClasses,OPENCMISS */
1106 const int CMFE_PROBLEM_MODAL_CLASS = 6; /*<Modal problem class \see OPENCMISS_ProblemClasses,OPENCMISS */
1107 const int CMFE_PROBLEM_FITTING_CLASS = 7; /*<Fitting problem class \see OPENCMISS_ProblemClasses,OPENCMISS */
1108 const int CMFE_PROBLEM_OPTIMISATION_CLASS = 8; /*<Optimisation problem class \see OPENCMISS_ProblemClasses,OPENCMISS */
1109 const int CMFE_PROBLEM_MULTI_PHYSICS_CLASS = 9; /*<Multi physics problem class \see OPENCMISS_ProblemClasses,OPENCMISS */
1110 /*>@} */
1111 /*>\addtogroup OPENCMISS_ProblemTypes OPENCMISS::Problem::Types */
1112 /*>\brief Problem Types. */
1113 /*>\see OPENCMISS::Problem,OPENCMISS */
1114 /*>@{ */
1115 const int CMFE_PROBLEM_NO_TYPE = 0; /*<No problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1116 const int CMFE_PROBLEM_LINEAR_ELASTICITY_TYPE = 1; /*<Linear elasticity problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1117 const int CMFE_PROBLEM_FINITE_ELASTICITY_TYPE = 2; /*<Finite elasticity problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1118 const int CMFE_PROBLEM_LINEAR_ELASTICITY_CONTACT_TYPE = 3; /*<Linear elasticity problem subject to contact contstraint type \see OPENCMISS_ProblemTypes,OPENCMISS */
1119 const int CMFE_PROBLEM_FINITE_ELASTICITY_CONTACT_TYPE = 4; /*<Finite elasticity problem subject to contact constraint type \see OPENCMISS_ProblemTypes,OPENCMISS */
1120 const int CMFE_PROBLEM_STOKES_EQUATION_TYPE = 1; /*<Stokes equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1121 const int CMFE_PROBLEM_NAVIER_STOKES_EQUATION_TYPE = 2; /*<Navier-Stokes problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1122 const int CMFE_PROBLEM_DARCY_EQUATION_TYPE = 3; /*<Darcy equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1123 const int CMFE_PROBLEM_POISEUILLE_EQUATION_TYPE = 5; /*<Poiseuille equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1124 const int CMFE_PROBLEM_BURGERS_EQUATION_TYPE = 6; /*<Burgers equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1125 const int CMFE_PROBLEM_ELECTROSTATIC_TYPE = 1; /*<Electrostatic problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1126 const int CMFE_PROBLEM_MAGNETOSTATIC_TYPE = 2; /*<Magnetostatic problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1127 const int CMFE_PROBLEM_MAXWELLS_EQUATIONS_TYPE = 3; /*<Maxwell's equations problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1128 const int CMFE_PROBLEM_LAPLACE_EQUATION_TYPE = 1; /*<Laplace problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1129 const int CMFE_PROBLEM_POISSON_EQUATION_TYPE = 2; /*<Poisson problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1130 const int CMFE_PROBLEM_HELMHOLTZ_EQUATION_TYPE = 3; /*<Helmholtz problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1131 const int CMFE_PROBLEM_WAVE_EQUATION_TYPE = 4; /*<Wave equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1132 const int CMFE_PROBLEM_DIFFUSION_EQUATION_TYPE = 6; /*<Diffusion equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1133 const int CMFE_PROBLEM_ADVECTION_DIFFUSION_EQUATION_TYPE = 7; /*<Advection-Diffusion equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1134 const int CMFE_PROBLEM_REACTION_DIFFUSION_EQUATION_TYPE = 8; /*<Reaction-Diffusion equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1135 const int CMFE_PROBLEM_BIHARMONIC_EQUATION_TYPE = 9; /*<Bi-harmonic equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1136 const int CMFE_PROBLEM_MONODOMAIN_EQUATION_TYPE = 1; /*<Monodomain equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1137 const int CMFE_PROBLEM_BIDOMAIN_EQUATION_TYPE = 2; /*<Bidomain equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1138 const int CMFE_PROBLEM_LINEAR_ELASTIC_MODAL_TYPE = 1; /*<Linear elastic modal problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1139 const int CMFE_PROBLEM_DATA_FITTING_TYPE = 10; /*<Galerkin projection problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1140 const int CMFE_PROBLEM_FINITE_ELASTICITY_DARCY_TYPE = 1; /*<Finite Elasticity Darcy problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1141 const int CMFE_PROBLEM_FINITE_ELASTICITY_STOKES_TYPE = 2; /*<Finite Elasticity Stokes problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1142 const int CMFE_PROBLEM_FINITE_ELASTICITY_NAVIER_STOKES_TYPE = 3; /*<Finite Elasticity NavierStokes problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1143 const int CMFE_PROBLEM_DIFFUSION_DIFFUSION_TYPE = 4; /*<Diffusion Diffusion problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1144 const int CMFE_PROBLEM_DIFFUSION_ADVECTION_DIFFUSION_TYPE = 5; /*<Diffusion Advection Diffusion problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1145 const int CMFE_PROBLEM_MULTI_COMPARTMENT_TRANSPORT_TYPE = 6; /*<Multi-compartment transport problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1146 const int CMFE_PROBLEM_FINITE_ELASTICITY_FLUID_PRESSURE_TYPE = 7; /*<Finite elasticity fluid pressure problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1147 const int CMFE_PROBLEM_BIOELECTRIC_FINITE_ELASTICITY_TYPE = 8; /*<Monodomain finite elasticity problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1148 const int CMFE_PROBLEM_MONODOMAIN_STRANG_SPLITTING_EQUATION_TYPE = 3; /*<Monodomain equation problem type \see OPENCMISS_ProblemTypes,OPENCMISS */
1149 /*>@} */
1150 /*>\addtogroup OPENCMISS_ProblemSubtypes OPENCMISS::Problem::Subtypes */
1151 /*>\brief Problem Subtypes. */
1152 /*>\see OPENCMISS::Problem,OPENCMISS */
1153 /*>@{ */
1154 const int CMFE_PROBLEM_NO_SUBTYPE = 0; /*<No problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1155 const int CMFE_PROBLEM_STATIC_STOKES_SUBTYPE = 1; /*<Static Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1156 const int CMFE_PROBLEM_LAPLACE_STOKES_SUBTYPE = 2; /*<Laplace type Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1157 const int CMFE_PROBLEM_TRANSIENT_STOKES_SUBTYPE = 3; /*<Transient Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1158 const int CMFE_PROBLEM_ALE_STOKES_SUBTYPE = 5; /*<ALE Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1159 const int CMFE_PROBLEM_PGM_STOKES_SUBTYPE = 6; /*<PGM Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1160 const int CMFE_PROBLEM_OPTIMISED_STOKES_SUBTYPE = 4; /*<Optimised Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1161 const int CMFE_PROBLEM_STATIC_NAVIER_STOKES_SUBTYPE = 1; /*<Static Navier-Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1162 const int CMFE_PROBLEM_LAPLACE_NAVIER_STOKES_SUBTYPE = 2; /*<Laplace type Navier-Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1163 const int CMFE_PROBLEM_TRANSIENT_NAVIER_STOKES_SUBTYPE = 3; /*<Transient Navier-Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1164 const int CMFE_PROBLEM_TRANSIENT_RBS_NAVIER_STOKES_SUBTYPE = 9; /*<Transient stabilised Navier-Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1165 const int CMFE_PROBLEM_MULTISCALE_NAVIER_STOKES_SUBTYPE = 10; /*<Transient stabilised Navier-Stokes problem with multiscale boundary coupling subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1166 const int CMFE_PROBLEM_TRANSIENT1D_NAVIER_STOKES_SUBTYPE = 8; /*<TRANSIENT1D Navier-Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1167 const int CMFE_PROBLEM_COUPLED1D0D_NAVIER_STOKES_SUBTYPE = 11; /*<Coupled 1D-DAE Navier-Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1168 const int CMFE_PROBLEM_TRANSIENT1D_ADV_NAVIER_STOKES_SUBTYPE = 13; /*<TRANSIENT1D Navier-Stokes problem subtype with Advection \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1169 const int CMFE_PROBLEM_COUPLED1D0D_ADV_NAVIER_STOKES_SUBTYPE = 14; /*<Coupled 1D-DAE Navier-Stokes problem subtype with Advection \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1170 const int CMFE_PROBLEM_STREE1D0D_SUBTYPE = 14; /*<Coupled 1D-DAE Navier-Stokes problem subtype with Advection \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1171 const int CMFE_PROBLEM_STREE1D0D_ADV_SUBTYPE = 14; /*<Coupled 1D-DAE Navier-Stokes problem subtype with Advection \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1172 const int CMFE_PROBLEM_ALE_NAVIER_STOKES_SUBTYPE = 5; /*<ALE Navier-Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1173 const int CMFE_PROBLEM_PGM_NAVIER_STOKES_SUBTYPE = 6; /*<PGM Navier-Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1174 const int CMFE_PROBLEM_OPTIMISED_NAVIER_STOKES_SUBTYPE = 4; /*<Optimised Navier-Stokes problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1175 const int CMFE_PROBLEM_STANDARD_DARCY_SUBTYPE = 1; /*<Standard Darcy problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1176 const int CMFE_PROBLEM_QUASISTATIC_DARCY_SUBTYPE = 2; /*<Quasistatic Darcy problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1177 const int CMFE_PROBLEM_ALE_DARCY_SUBTYPE = 3; /*<ALE Darcy problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1178 const int CMFE_PROBLEM_TRANSIENT_DARCY_SUBTYPE = 4; /*<Transient Darcy problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1179 const int CMFE_PROBLEM_PGM_DARCY_SUBTYPE = 5; /*<PGM Darcy problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1180 const int CMFE_PROBLEM_PGM_TRANSIENT_DARCY_SUBTYPE = 6; /*<PGM Transient Darcy problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1181 const int CMFE_PROBLEM_STANDARD_LAPLACE_SUBTYPE = 1; /*<Standard Laplace problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1182 const int CMFE_PROBLEM_GENERALISED_LAPLACE_SUBTYPE = 2; /*<Generalised Laplace problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1183 const int CMFE_PROBLEM_STATIC_POISEUILLE_SUBTYPE = 1; /*<Static Poiseuille problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1184 const int CMFE_PROBLEM_DYNAMIC_POISEUILLE_SUBTYPE = 2; /*<Static Poiseuille problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1185 const int CMFE_PROBLEM_EXTRACELLULAR_BIDOMAIN_POISSON_SUBTYPE = 7; /*<Linear source Poisson problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1186 const int CMFE_PROBLEM_LINEAR_SOURCE_POISSON_SUBTYPE = 1; /*<Linear source Poisson problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1187 const int CMFE_PROBLEM_LINEAR_PRESSURE_POISSON_SUBTYPE = 3; /*<Vector source Poisson problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1188 const int CMFE_PROBLEM_NONLINEAR_PRESSURE_POISSON_SUBTYPE = 4; /*<Vector source Poisson problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1189 const int CMFE_PROBLEM_ALE_PRESSURE_POISSON_SUBTYPE = 5; /*<Vector source Poisson problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1190 const int CMFE_PROBLEM_FITTED_PRESSURE_POISSON_SUBTYPE = 6; /*<Vector source Poisson problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1191 const int CMFE_PROBLEM_NONLINEAR_SOURCE_POISSON_SUBTYPE = 2; /*<Nonlinear source Poisson problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1192 const int CMFE_PROBLEM_STANDARD_HELMHOLTZ_SUBTYPE = 2; /*<No source Helmholtz problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1193 const int CMFE_PROBLEM_GENERALISED_HELMHOLTZ_SUBTYPE = 3; /*<No source Helmholtz problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1194 const int CMFE_PROBLEM_NO_SOURCE_DIFFUSION_SUBTYPE = 1; /*<No source Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1195 const int CMFE_PROBLEM_LINEAR_SOURCE_DIFFUSION_SUBTYPE = 2; /*<Linear source Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1196 const int CMFE_PROBLEM_NONLINEAR_SOURCE_DIFFUSION_SUBTYPE = 3; /*<Nonlinear source Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1197 const int CMFE_PROBLEM_NO_SOURCE_ALE_DIFFUSION_SUBTYPE = 4; /*<No source Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1198 const int CMFE_PROBLEM_LINEAR_SOURCE_ALE_DIFFUSION_SUBTYPE = 5; /*<Linear source Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1199 const int CMFE_PROBLEM_NONLINEAR_SOURCE_ALE_DIFFUSION_SUBTYPE = 6; /*<Nonlinear source Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1200 const int CMFE_PROBLEM_NO_SOURCE_ADVECTION_DIFFUSION_SUBTYPE = 1; /*<No source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1201 const int CMFE_PROBLEM_LINEAR_SOURCE_ADVECTION_DIFFUSION_SUBTYPE = 2; /*<Linear source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1202 const int CMFE_PROBLEM_NONLINEAR_SOURCE_ADVECTION_DIFFUSION_SUBTYPE = 3; /*<Nonlinear source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1203 const int CMFE_PROBLEM_NO_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE = 4; /*<No source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1204 const int CMFE_PROBLEM_LINEAR_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE = 5; /*<Linear source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1205 const int CMFE_PROBLEM_NONLINEAR_SOURCE_ALE_ADVECTION_DIFFUSION_SUBTYPE = 6; /*<Nonlinear source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1206 const int CMFE_PROBLEM_NO_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE = 7; /*<No source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1207 const int CMFE_PROBLEM_LINEAR_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE = 8; /*<Linear source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1208 const int CMFE_PROBLEM_NONLINEAR_SOURCE_STATIC_ADVEC_DIFF_SUBTYPE = 9; /*<Nonlinear source advection-Diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1209 const int CMFE_PROBLEM_STATIC_BURGERS_SUBTYPE = 1; /*<static Burgers problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1210 const int CMFE_PROBLEM_DYNAMIC_BURGERS_SUBTYPE = 2; /*<dynamic Burgers problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1214 const int CMFE_PROBLEM_STANDARD_DATA_FITTING_SUBTYPE = 1; /*<Standard Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1215 const int CMFE_PROBLEM_VECTOR_DATA_FITTING_SUBTYPE = 4; /*<Standard Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1216 const int CMFE_PROBLEM_DIV_FREE_VECTOR_DATA_FITTING_SUBTYPE = 5; /*<Standard Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1217 const int CMFE_PROBLEM_DATA_POINT_VECTOR_STATIC_FITTING_SUBTYPE = 8; /*<Standard static Galerkin projection problem using data points subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1218 const int CMFE_PROBLEM_DATA_PT_VECTOR_QUASISTATIC_FITTING_SUBTYPE = 9; /*<Standard quasistatic Galerkin projection problem using data points subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1219 const int CMFE_PROBLEM_VECTOR_DATA_PRE_FITTING_SUBTYPE = 6; /*<Standard Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1220 const int CMFE_PROBLEM_DIV_FREE_VECTOR_DATA_PRE_FITTING_SUBTYPE = 7; /*<Standard Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1221 const int CMFE_PROBLEM_GENERALISED_DATA_FITTING_SUBTYPE = 2; /*<Generalised Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1222 const int CMFE_PROBLEM_MAT_PROPERTIES_DATA_FITTING_SUBTYPE = 3; /*<Material Properties Galerkin projection problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1223 const int CMFE_PROBLEM_STANDARD_ELASTICITY_DARCY_SUBTYPE = 101; /*<Standard Elasticity Darcy problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1224 const int CMFE_PROBLEM_PGM_ELASTICITY_DARCY_SUBTYPE = 102; /*<PGM Elasticity Darcy problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1225 const int CMFE_PROBLEM_QUASISTATIC_ELASTICITY_TRANSIENT_DARCY_SUBTYPE = 103; /*<Quasistatic Elasticity Transient Darcy problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1226 const int CMFE_PROBLEM_QUASISTATIC_ELAST_TRANS_DARCY_MAT_SOLVE_SUBTYPE = 104; /*<Quasistatic Elasticity Transient Darcy Material Solve problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1227 const int CMFE_PROBLEM_COUPLED_SOURCE_DIFFUSION_DIFFUSION_SUBTYPE = 111; /*<Coupled source diffusion-diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1228 const int CMFE_PROBLEM_COUPLED_SOURCE_DIFFUSION_ADVEC_DIFFUSION_SUBTYPE = 121; /*<Coupled source diffusion & advection-diffusion problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1229 const int CMFE_PROBLEM_STANDARD_MULTI_COMPARTMENT_TRANSPORT_SUBTYPE = 131; /*<Standard multi-compartment transport problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1230 const int CMFE_PROBLEM_STANDARD_ELASTICITY_FLUID_PRESSURE_SUBTYPE = 133; /*<Standard elasticity fluid pressure problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1231 const int CMFE_PROBLEM_GUDUNOV_MONODOMAIN_SIMPLE_ELASTICITY_SUBTYPE = 141; /*<Transient monodomain simple elasticity problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1232 const int CMFE_PROBLEM_GUDUNOV_MONODOMAIN_1D3D_ELASTICITY_SUBTYPE = 142; /*<Transient monodomain simple elasticity problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1233 const int CMFE_PROBLEM_MONODOMAIN_ELASTICITY_W_TITIN_SUBTYPE = 143; /*<Transient monodomain simple elasticity problem subtype with titin \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1234 const int CMFE_PROBLEM_MONODOMAIN_ELASTICITY_VELOCITY_SUBTYPE = 144; /*<Transient monodomain simple elasticity problem subtype with force-velocity relation \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1235 const int CMFE_PROBLEM_MONODOMAIN_1D3D_ACTIVE_STRAIN_SUBTYPE = 145; /*<Transient monodomain active strain elasticity problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1236 const int CMFE_PROBLEM_FINITE_ELASTICITY_NAVIER_STOKES_ALE_SUBTYPE = 151; /*<Coupled Finite Elasticity Navier Stokes moving mesh subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1237 const int CMFE_PROBLEM_QUASISTATIC_FINITE_ELASTICITY_SUBTYPE = 1; /*<Quasistatic finite elasticity subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1238 const int CMFE_PROBLEM_FINITE_ELASTICITY_CELLML_SUBTYPE = 2; /*<Quasistatic finite elasticity subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1239 const int CMFE_PROBLEM_MULTISCALE_FINITE_ELASTICITY_SUBTYPE = 3; /*<Multiscale finite elasticity subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1240 const int CMFE_PROBLEM_FINITE_ELASTICITY_WITH_GROWTH_CELLML_SUBTYPE = 4; /*<Quasistatic finite elasticity subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1241 const int CMFE_PROBLEM_MONODOMAIN_GUDUNOV_SPLIT_SUBTYPE = 1; /*<Monodomain Gudunov split problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1242 const int CMFE_PROBLEM_MONODOMAIN_STRANG_SPLIT_SUBTYPE = 2; /*<Monodomain Gudunov split problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1243 const int CMFE_PROBLEM_BIDOMAIN_GUDUNOV_SPLIT_SUBTYPE = 1; /*<Bidomain Gudunov split problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1244 const int CMFE_PROBLEM_BIDOMAIN_STRANG_SPLIT_SUBTYPE = 2; /*<Bidomain Gudunov split problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1245 const int CMFE_PROBLEM_MONODOMAIN_BUENOOROVIO_SUBTYPE = 1; /*<Generalised Laplace problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1246 const int CMFE_PROBLEM_MONODOMAIN_TENTUSSCHER06_SUBTYPE = 2; /*<Generalised Laplace problem subtype \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1247 const int CMFE_PROBLEM_LE_CONTACT_TRANSFORM_REPROJECT_SUBTYPE = 1; /*<linear elasticity problem subject to contact constraint, transform field at load increments and reproject at Newton iterations \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1248 const int CMFE_PROBLEM_LE_CONTACT_TRANSFORM_SUBTYPE = 2; /*<linear elasticity problem subject to contact constraint, transform field at load increments \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1249 const int CMFE_PROBLEM_LE_CONTACT_REPROJECT_SUBTYPE = 3; /*<linear elasticity problem subject to contact constraint, reproject at Newton iterations \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1250 const int CMFE_PROBLEM_FE_CONTACT_TRANSFORM_REPROJECT_SUBTYPE = 4; /*<linear elasticity problem subject to contact constraint, transform field at load increments and reproject at Newton iterations \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1251 const int CMFE_PROBLEM_FE_CONTACT_TRANSFORM_SUBTYPE = 5; /*<finear elasticity problem subject to contact constraint, transform field at load increments \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1252 const int CMFE_PROBLEM_FE_CONTACT_REPROJECT_SUBTYPE = 6; /*<finear elasticity problem subject to contact constraint, reproject at Newton iterations \see OPENCMISS_ProblemSubtypes,OPENCMISS */
1253 /*>@} */
1254 /*>\addtogroup OPENCMISS_ProblemControlLoopTypes OPENCMISS::Problem::ControlLoopTypes */
1255 /*>\brief Problem control loop type parameters */
1256 /*>\see OPENCMISS::Problem,OPENCMISS */
1257 /*>@{ */
1258 const int CMFE_PROBLEM_CONTROL_SIMPLE_TYPE = 1; /*<Simple, one iteration control loop. \see OPENCMISS_ProblemControlLoopTypes,OPENCMISS */
1259 const int CMFE_PROBLEM_CONTROL_FIXED_LOOP_TYPE = 2; /*<Fixed iteration control loop. \see OPENCMISS_ProblemControlLoopTypes,OPENCMISS */
1260 const int CMFE_PROBLEM_CONTROL_TIME_LOOP_TYPE = 3; /*<Time control loop. \see OPENCMISS_ProblemControlLoopTypes,OPENCMISS */
1261 const int CMFE_PROBLEM_CONTROL_WHILE_LOOP_TYPE = 4; /*<While control loop. \see OPENCMISS_ProblemControlLoopTypes,OPENCMISS */
1262 const int CMFE_PROBLEM_CONTROL_LOAD_INCREMENT_LOOP_TYPE = 5; /*<Load increment control loop. \see OPENCMISS_ProblemControlLoopTypes,OPENCMISS */
1263 /*>@} */
1264 /*>@} */
1265 /*>\addtogroup OPENCMISS_SolverConstants OPENCMISS::Solver::Constants */
1266 /*>\brief Solver constants. */
1267 /*>@{ */
1268 /*>\addtogroup OPENCMISS_SolverTypes OPENCMISS::Solver::SolverTypes */
1269 /*>\brief The types of solver */
1270 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1271 /*>@{ */
1272 const int CMFE_SOLVER_LINEAR_TYPE = 1; /*<A linear solver. \see OPENCMISS_SolverTypes,OPENCMISS */
1273 const int CMFE_SOLVER_NONLINEAR_TYPE = 2; /*<A nonlinear solver. \see OPENCMISS_SolverTypes,OPENCMISS */
1274 const int CMFE_SOLVER_DYNAMIC_TYPE = 3; /*<A dynamic solver. \see OPENCMISS_SolverTypes,OPENCMISS */
1275 const int CMFE_SOLVER_DAE_TYPE = 4; /*<A differential-algebraic equation solver. \see OPENCMISS_SolverTypes,OPENCMISS */
1276 const int CMFE_SOLVER_EIGENPROBLEM_TYPE = 5; /*<A eigenproblem solver. \see OPENCMISS_SolverTypes,OPENCMISS */
1277 const int CMFE_SOLVER_OPTIMISER_TYPE = 6; /*<An optimiser solver. \see OPENCMISS_SolverTypes,OPENCMISS */
1278 /*>@} */
1279 /*>\addtogroup OPENCMISS_SolverLibraries OPENCMISS::Solver::SolverLibraries */
1280 /*>\brief The types of solver libraries. */
1281 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1282 /*>@{ */
1283 const int CMFE_SOLVER_CMISS_LIBRARY = 1; /*<CMISS (internal) solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1284 const int CMFE_SOLVER_PETSC_LIBRARY = 2; /*<PETSc solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1285 const int CMFE_SOLVER_MUMPS_LIBRARY = 3; /*<MUMPS solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1286 const int CMFE_SOLVER_SUPERLU_LIBRARY = 4; /*<SuperLU solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1287 const int CMFE_SOLVER_SPOOLES_LIBRARY = 5; /*<SPOOLES solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1288 const int CMFE_SOLVER_UMFPACK_LIBRARY = 6; /*<UMFPACK solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1289 const int CMFE_SOLVER_LUSOL_LIBRARY = 7; /*<LUSOL solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1290 const int CMFE_SOLVER_ESSL_LIBRARY = 8; /*<ESSL solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1291 const int CMFE_SOLVER_LAPACK_LIBRARY = 9; /*<LAPACK solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1292 const int CMFE_SOLVER_TAO_LIBRARY = 10; /*<TAO solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1293 const int CMFE_SOLVER_HYPRE_LIBRARY = 11; /*<Hypre solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1294 const int CMFE_SOLVER_PASTIX_LIBRARY = 12; /*<PaStiX solver library. \see OPENCMISS_SolverLibraries,OPENCMISS */
1295 /*>@} */
1296 /*>\addtogroup OPENCMISS_LinearSolverTypes OPENCMISS::Solver::LinearSolverTypes */
1297 /*>\brief The types of linear solvers. */
1298 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1299 /*>@{ */
1300 const int CMFE_SOLVER_LINEAR_DIRECT_SOLVE_TYPE = 1; /*<Direct linear solver type. \see OPENCMISS_LinearSolverTypes,OPENCMISS */
1301 const int CMFE_SOLVER_LINEAR_ITERATIVE_SOLVE_TYPE = 2; /*<Iterative linear solver type. \see OPENCMISS_LinearSolverTypes,OPENCMISS */
1302 /*>@} */
1303 /*>\addtogroup OPENCMISS_DirectLinearSolverTypes OPENCMISS::Solver::DirectLinearSolverTypes */
1304 /*>\brief The types of direct linear solvers. \todo Move libraries to a more appropriate place. */
1305 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1306 /*>@{ */
1307 const int CMFE_SOLVER_DIRECT_LU = 1; /*<LU direct linear solver. \see OPENCMISS_DirectLinearSolverTypes,OPENCMISS */
1308 const int CMFE_SOLVER_DIRECT_CHOLESKY = 2; /*<Cholesky direct linear solver. \see OPENCMISS_DirectLinearSolverTypes,OPENCMISS */
1309 const int CMFE_SOLVER_DIRECT_SVD = 3; /*<SVD direct linear solver. \see OPENCMISS_DirectLinearSolverTypes,OPENCMISS */
1310 /*>@} */
1311 /*>\addtogroup OPENCMISS_IterativeLinearSolverTypes OPENCMISS::Solver::IterativeLinearSolverTypes */
1312 /*>\brief The types of iterative linear solvers. */
1313 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1314 /*>@{ */
1315 const int CMFE_SOLVER_ITERATIVE_RICHARDSON = 1; /*<Richardson iterative solver type. \see OPENCMISS_IterativeLinearSolverTypes,OPENCMISS */
1316 const int CMFE_SOLVER_ITERATIVE_CHEBYSHEV = 2; /*<Chebychev iterative solver type. \see OPENCMISS_IterativeLinearSolverTypes,OPENCMISS */
1317 const int CMFE_SOLVER_ITERATIVE_CONJUGATE_GRADIENT = 3; /*<Conjugate gradient iterative solver type. \see OPENCMISS_IterativeLinearSolverTypes,OPENCMISS */
1318 const int CMFE_SOLVER_ITERATIVE_BICONJUGATE_GRADIENT = 4; /*<Bi-conjugate gradient iterative solver type. \see OPENCMISS_IterativeLinearSolverTypes,OPENCMISS */
1319 const int CMFE_SOLVER_ITERATIVE_GMRES = 5; /*<Generalised minimum residual iterative solver type. \see OPENCMISS_IterativeLinearSolverTypes,OPENCMISS */
1320 const int CMFE_SOLVER_ITERATIVE_BiCGSTAB = 6; /*<Stabalised bi-conjugate gradient iterative solver type. \see OPENCMISS_IterativeLinearSolverTypes,OPENCMISS */
1321 const int CMFE_SOLVER_ITERATIVE_CONJGRAD_SQUARED = 7; /*<Conjugate gradient squared iterative solver type. \see OPENCMISS_IterativeLinearSolverTypes,OPENCMISS */
1322 /*>@} */
1323 /*>\addtogroup OPENCMISS_IterativePreconditionerTypes OPENCMISS::Solver::IterativePreconditionerTypes */
1324 /*>\brief The types of iterative preconditioners. */
1325 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1326 /*>@{ */
1327 const int CMFE_SOLVER_ITERATIVE_NO_PRECONDITIONER = 0; /*<No preconditioner type. \see OPENCMISS_IterativePreconditionerTypes,OPENCMISS */
1328 const int CMFE_SOLVER_ITERATIVE_JACOBI_PRECONDITIONER = 1; /*<Jacobi preconditioner type. \see OPENCMISS_IterativePreconditionerTypes,OPENCMISS */
1329 const int CMFE_SOLVER_ITERATIVE_BLOCK_JACOBI_PRECONDITIONER = 2; /*<Iterative block Jacobi preconditioner type. \see OPENCMISS_IterativePreconditionerTypes,OPENCMISS */
1330 const int CMFE_SOLVER_ITERATIVE_SOR_PRECONDITIONER = 3; /*<Successive over relaxation preconditioner type. \see OPENCMISS_IterativePreconditionerTypes,OPENCMISS */
1331 const int CMFE_SOLVER_ITERATIVE_INCOMPLETE_CHOLESKY_PRECONDITIONER = 4; /*<Incomplete Cholesky preconditioner type. \see OPENCMISS_IterativePreconditionerTypes,OPENCMISS */
1332 const int CMFE_SOLVER_ITERATIVE_INCOMPLETE_LU_PRECONDITIONER = 5; /*<Incomplete LU preconditioner type. \see OPENCMISS_IterativePreconditionerTypes,OPENCMISS */
1333 const int CMFE_SOLVER_ITERATIVE_ADDITIVE_SCHWARZ_PRECONDITIONER = 6; /*<Additive Schwrz preconditioner type. \see OPENCMISS_IterativePreconditionerTypes,OPENCMISS */
1334 /*>@} */
1335 /*>\addtogroup OPENCMISS_NonlinearSolverTypes OPENCMISS::Solver::NonlinearSolverTypes */
1336 /*>\brief The types of nonlinear solvers. */
1337 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1338 /*>@{ */
1339 const int CMFE_SOLVER_NONLINEAR_NEWTON = 1; /*<Newton nonlinear solver type. \see OPENCMISS_NonlinearSolverTypes,OPENCMISS */
1340 const int CMFE_SOLVER_NONLINEAR_BFGS_INVERSE = 2; /*<BFGS inverse nonlinear solver type. \see OPENCMISS_NonlinearSolverTypes,OPENCMISS */
1341 const int CMFE_SOLVER_NONLINEAR_SQP = 3; /*<Sequential Quadratic Program nonlinear solver type. \see OPENCMISS_NonlinearSolverTypes,OPENCMISS */
1342 const int CMFE_SOLVER_NONLINEAR_QUASI_NEWTON = 4; /*<Quasi-Newton nonlinear solver type. \see OPENCMISS_NonlinearSolverTypes,OPENCMISS */
1343 /*>@} */
1344 /*>\addtogroup OPENCMISS_QuasiNewtonSolverTypes OPENCMISS::Solver::QuasiNewtonSolverTypes */
1345 /*>\brief The types of nonlinear Quasi-Newton solvers */
1346 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1347 /*>@{ */
1348 const int CMFE_SOLVER_QUASI_NEWTON_LINESEARCH = 1; /*<Quasi-Newton line search nonlinear solver type \see OPENCMISS_QuasiNewtonSolverTypes,OPENCMISS */
1349 const int CMFE_SOLVER_QUASI_NEWTON_TRUSTREGION = 2; /*<Quasi-Newton trust region nonlinear solver type \see OPENCMISS_QuasiNewtonSolverTypes,OPENCMISS */
1350 /*>@} */
1351 /*>\addtogroup OPENCMISS_QuasiNewtonTypes OPENCMISS::Solver::QuasiNewtonTypes */
1352 /*>\brief The nonlinear Quasi-Newton types */
1353 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1354 /*>@{ */
1355 const int CMFE_SOLVER_QUASI_NEWTON_LBFGS = 1; /*<LBFGS Quasi-Newton type \see OPENCMISS_QuasiNewtonTypes,OPENCMISS */
1356 const int CMFE_SOLVER_QUASI_NEWTON_GOODBROYDEN = 2; /*<"Good" Broyden Quasi-Newton type \see OPENCMISS_QuasiNewtonTypes,OPENCMISS */
1357 const int CMFE_SOLVER_QUASI_NEWTON_BADBROYDEN = 3; /*<"Bad" Broyden Quasi-Newton type \see OPENCMISS_QuasiNewtonTypes,OPENCMISS */
1358 /*>@} */
1359 /*>\addtogroup OPENCMISS_QuasiNewtonLineSearchTypes OPENCMISS::Solver::NonlinearQuasiNewtonLineSearchTypes */
1360 /*>\brief The types of line search techniques for Quasi-Newton line search nonlinear solvers */
1361 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1362 /*>@{ */
1363 const int CMFE_SOLVER_QUASI_NEWTON_LINESEARCH_BASIC = 1; /*<Simple damping line search. \see OPENCMISS_QuasiNewtonLineSearchTypes,OPENCMISS */
1364 const int CMFE_SOLVER_QUASI_NEWTON_LINESEARCH_L2 = 2; /*<Secant line search over the L2 norm of the function \see OPENCMISS_QuasiNewtonLineSearchTypes,OPENCMISS */
1365 const int CMFE_SOLVER_QUASI_NEWTON_LINESEARCH_CP = 3; /*<Critical point secant line search \see OPENCMISS_QuasiNewtonLineSearchTypes,OPENCMISS */
1366 /*>@} */
1367 /*>\addtogroup OPENCMISS_QuasiNewtonRestartTypes OPENCMISS::Solver::QuasiNewtonRestartTypes */
1368 /*>\brief The nonlinear Quasi-Newton restart types */
1369 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1370 /*>@{ */
1371 const int CMFE_SOLVER_QUASI_NEWTON_RESTART_NONE = 1; /*<Never restart \see OPENCMISS_QuasiNewtonRestartTypes,OPENCMISS */
1372 const int CMFE_SOLVER_QUASI_NEWTON_RESTART_POWELL = 2; /*<Restart based upon descent criteria \see OPENCMISS_QuasiNewtonRestartTypes,OPENCMISS */
1373 const int CMFE_SOLVER_QUASI_NEWTON_RESTART_PERIODIC = 3; /*<Restart after a fixed number of iterations \see OPENCMISS_QuasiNewtonRestartTypes,OPENCMISS */
1374 /*>@} */
1375 /*>\addtogroup OPENCMISS_QuasiNewtonScaleTypes OPENCMISS::Solver::QuasiNewtonScaleTypes */
1376 /*>\brief The nonlinear Quasi-Newton scale types */
1377 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1378 /*>@{ */
1379 const int CMFE_SOLVER_QUASI_NEWTON_SCALE_NONE = 1; /*<Don't scale the problem \see OPENCMISS_QuasiNewtonScaleTypes,OPENCMISS */
1380 const int CMFE_SOLVER_QUASI_NEWTON_SCALE_SHANNO = 2; /*<Use Shanno scaling \see OPENCMISS_QuasiNewtonScaleTypes,OPENCMISS */
1381 const int CMFE_SOLVER_QUASI_NEWTON_SCALE_LINESEARCH = 3; /*<Scale based upon line search lambda \see OPENCMISS_QuasiNewtonScaleTypes,OPENCMISS */
1382 const int CMFE_SOLVER_QUASI_NEWTON_SCALE_JACOBIAN = 4; /*<Scale by inverting a previously computed Jacobian \see OPENCMISS_QuasiNewtonScaleTypes,OPENCMISS */
1383 /*>@} */
1384 /*>\addtogroup OPENCMISS_NewtonSolverTypes OPENCMISS::Solver::NewtonSolverTypes */
1385 /*>\brief The types of nonlinear Newton solvers. */
1386 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1387 /*>@{ */
1388 const int CMFE_SOLVER_NEWTON_LINESEARCH = 1; /*<Newton line search nonlinear solver type. \see OPENCMISS_NewtonSolverTypes,OPENCMISS */
1389 const int CMFE_SOLVER_NEWTON_TRUSTREGION = 2; /*<Newton trust region nonlinear solver type. \see OPENCMISS_NewtonSolverTypes,OPENCMISS */
1390 /*>@} */
1391 /*>\addtogroup OPENCMISS_NewtonLineSearchTypes OPENCMISS::Solver::NewtonLineSearchTypes */
1392 /*>\brief The types line search techniques for Newton line search nonlinear solvers. */
1393 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1394 /*>@{ */
1395 const int CMFE_SOLVER_NEWTON_LINESEARCH_LINEAR = 2; /*<Linear line search for Newton line search nonlinear solves \see OPENCMISS_NewtonLineSearchTypes,OPENCMISS */
1396 const int CMFE_SOLVER_NEWTON_LINESEARCH_QUADRATIC = 3; /*<Quadratic search for Newton line search nonlinear solves \see OPENCMISS_NewtonLineSearchTypes,OPENCMISS */
1397 const int CMFE_SOLVER_NEWTON_LINESEARCH_CUBIC = 4; /*<Cubic search for Newton line search nonlinear solves \see OPENCMISS_NewtonLineSearchTypes,OPENCMISS */
1398 /*>@} */
1399 /*>\addtogroup OPENCMISS_JacobianCalculationTypes OPENCMISS::Solver::JacobianCalculationTypes */
1400 /*>\brief The Jacobian calculation types for a nonlinear solver. */
1401 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1402 /*>@{ */
1403 const int CMFE_SOLVER_NEWTON_JACOBIAN_NOT_CALCULATED = 1; /*<The Jacobian values will not be calculated for the nonlinear equations set. \see OPENCMISS_JacobianCalculationTypes,OPENCMISS */
1404 const int CMFE_SOLVER_NEWTON_JACOBIAN_EQUATIONS_CALCULATED = 2; /*<The Jacobian values will be calculated analytically for the nonlinear equations set. \see OPENCMISS_JacobianCalculationTypes,OPENCMISS */
1405 const int CMFE_SOLVER_NEWTON_JACOBIAN_FD_CALCULATED = 3; /*<The Jacobian values will be calcualted using finite differences for the nonlinear equations set. \see OPENCMISS_JacobianCalculationTypes,OPENCMISS */
1406 /*>@} */
1407 /*>\addtogroup OPENCMISS_NewtonConvergenceTypes OPENCMISS::Solver::NewtonConvergenceTypes */
1408 /*>\brief The convergence test types for a nonlinear newton solver. */
1409 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1410 /*>@{ */
1411 const int CMFE_SOLVER_NEWTON_CONVERGENCE_PETSC_DEFAULT = 1; /*<Newton solver Petsc default convergence test type. \see OPENCMISS_NewtonConvergenceTypes,OPENCMISS */
1412 const int CMFE_SOLVER_NEWTON_CONVERGENCE_ENERGY_NORM = 2; /*<Newton solver energy norm convergence test type. \see OPENCMISS_NewtonConvergenceTypes,OPENCMISS */
1413 const int CMFE_SOLVER_NEWTON_CONVERGENCE_DIFFERENTIATED_RATIO = 3; /*<Newton solver Sum of differentiated ratios of unconstrained to constrained residuals convergence test type. \see OPENCMISS_NewtonConvergenceTypes,OPENCMISS */
1414 /*>@} */
1415 /*>\addtogroup OPENCMISS_DynamicOrderTypes OPENCMISS::Solver::DynamicOrderTypes */
1416 /*>\brief The order types for a dynamic solver. */
1417 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1418 /*>@{ */
1419 const int CMFE_SOLVER_DYNAMIC_FIRST_ORDER = 1; /*<Dynamic solver has first order terms. \see OPENCMISS_DynamicOrderTypes,OPENCMISS */
1420 const int CMFE_SOLVER_DYNAMIC_SECOND_ORDER = 2; /*<Dynamic solver has second order terms. \see OPENCMISS_DynamicOrderTypes,OPENCMISS */
1421 /*>@} */
1422 /*>\addtogroup OPENCMISS_DynamicLinearityTypes OPENCMISS::Solver::DynamicLinearityTypes */
1423 /*>\brief The time linearity types for a dynamic solver. */
1424 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1425 /*>@{ */
1426 const int CMFE_SOLVER_DYNAMIC_LINEAR = 1; /*<Dynamic solver has linear terms. \see OPENCMISS_DynamicLinearityTypes,OPENCMISS */
1427 const int CMFE_SOLVER_DYNAMIC_NONLINEAR = 2; /*<Dynamic solver has nonlinear terms. \see OPENCMISS_DynamicLinearityTypes,OPENCMISS */
1428 /*>@} */
1429 /*>\addtogroup OPENCMISS_DynamicDegreeTypes OPENCMISS::Solver::DynamicDegreeTypes */
1430 /*>\brief The time interpolation polynomial degree types for a dynamic solver. */
1431 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1432 /*>@{ */
1433 const int CMFE_SOLVER_DYNAMIC_FIRST_DEGREE = 1; /*<Dynamic solver uses a first degree polynomial for time interpolation. \see OPENCMISS_DynamicDegreeTypes,OPENCMISS */
1434 const int CMFE_SOLVER_DYNAMIC_SECOND_DEGREE = 2; /*<Dynamic solver uses a second degree polynomial for time interpolation. \see OPENCMISS_DynamicDegreeTypes,OPENCMISS */
1435 const int CMFE_SOLVER_DYNAMIC_THIRD_DEGREE = 3; /*<Dynamic solver uses a third degree polynomial for time interpolation. \see OPENCMISS_DynamicDegreeTypes,OPENCMISS */
1436 /*>@} */
1437 /*>\addtogroup OPENCMISS_DynamicSchemeTypes OPENCMISS::Solver::DynamicSchemeTypes */
1438 /*>\brief The types of dynamic solver scheme. */
1439 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1440 /*>@{ */
1441 const int CMFE_SOLVER_DYNAMIC_EULER_SCHEME = 1; /*<Euler (explicit) dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1442 const int CMFE_SOLVER_DYNAMIC_BACKWARD_EULER_SCHEME = 2; /*<Backward Euler (implicit) dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1443 const int CMFE_SOLVER_DYNAMIC_CRANK_NICOLSON_SCHEME = 3; /*<Crank-Nicolson dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1444 const int CMFE_SOLVER_DYNAMIC_GALERKIN_SCHEME = 4; /*<Galerkin dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1445 const int CMFE_SOLVER_DYNAMIC_ZLAMAL_SCHEME = 5; /*<Zlamal dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1446 const int CMFE_SOLVER_DYNAMIC_SECOND_DEGREE_GEAR_SCHEME = 6; /*<2nd degree Gear dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1447 const int CMFE_SOLVER_DYNAMIC_SECOND_DEGREE_LINIGER1_SCHEME = 7; /*<1st 2nd degree Liniger dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1448 const int CMFE_SOLVER_DYNAMIC_SECOND_DEGREE_LINIGER2_SCHEME = 8; /*<2nd 2nd degree Liniger dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1449 const int CMFE_SOLVER_DYNAMIC_NEWMARK1_SCHEME = 9; /*<1st Newmark dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1450 const int CMFE_SOLVER_DYNAMIC_NEWMARK2_SCHEME = 10; /*<2nd Newmark dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1451 const int CMFE_SOLVER_DYNAMIC_NEWMARK3_SCHEME = 11; /*<3rd Newmark dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1452 const int CMFE_SOLVER_DYNAMIC_THIRD_DEGREE_GEAR_SCHEME = 12; /*<3rd degree Gear dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1453 const int CMFE_SOLVER_DYNAMIC_THIRD_DEGREE_LINIGER1_SCHEME = 13; /*<1st 3rd degree Liniger dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1454 const int CMFE_SOLVER_DYNAMIC_THIRD_DEGREE_LINIGER2_SCHEME = 14; /*<2nd 3rd degree Liniger dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1455 const int CMFE_SOLVER_DYNAMIC_HOUBOLT_SCHEME = 15; /*<Houbolt dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1456 const int CMFE_SOLVER_DYNAMIC_WILSON_SCHEME = 16; /*<Wilson dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1457 const int CMFE_SOLVER_DYNAMIC_BOSSAK_NEWMARK1_SCHEME = 17; /*<1st Bossak-Newmark dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1458 const int CMFE_SOLVER_DYNAMIC_BOSSAK_NEWMARK2_SCHEME = 18; /*<2nd Bossak-Newmark dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1459 const int CMFE_SOLVER_DYNAMIC_HILBERT_HUGHES_TAYLOR1_SCHEME = 19; /*<1st Hilbert-Hughes-Taylor dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1460 const int CMFE_SOLVER_DYNAMIC_HILBERT_HUGHES_TAYLOR2_SCHEME = 20; /*<1st Hilbert-Hughes-Taylor dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1461 const int CMFE_SOLVER_DYNAMIC_USER_DEFINED_SCHEME = 21; /*<User specified degree and theta dynamic solver. \see OPENCMISS_DynamicSchemeTypes,OPENCMISS */
1462 /*>@} */
1463 /*>\addtogroup OPENCMISS_DAETypes OPENCMISS::Solver::DAETypes */
1464 /*>\brief The type of differential-algebraic equation. */
1465 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1466 /*>@{ */
1467 const int CMFE_SOLVER_DAE_DIFFERENTIAL_ONLY = 0; /*<Differential equations only. \see OPENCMISS_DAETypes,OPENCMISS */
1468 const int CMFE_SOLVER_DAE_INDEX_1 = 1; /*<Index 1 differential-algebraic equation. \see OPENCMISS_DAETypes,OPENCMISS */
1469 const int CMFE_SOLVER_DAE_INDEX_2 = 2; /*<Index 2 differential-algebraic equation. \see OPENCMISS_DAETypes,OPENCMISS */
1470 const int CMFE_SOLVER_DAE_INDEX_3 = 3; /*<Index 3 differential-algebraic equation. \see OPENCMISS_DAETypes,OPENCMISS */
1471 /*>@} */
1472 /*>\addtogroup OPENCMISS_DAESolverTypes OPENCMISS::Solver::DAESolverTypes */
1473 /*>\brief The differential-algebraic equation solver types for a differential-algebraic equation solver. */
1474 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1475 /*>@{ */
1476 const int CMFE_SOLVER_DAE_EULER = 1; /*<Euler differential-algebraic equation solver. \see */
1477 const int CMFE_SOLVER_DAE_CRANK_NICOLSON = 2; /*<Crank-Nicolson differential-algebraic equation solver. \see */
1478 const int CMFE_SOLVER_DAE_RUNGE_KUTTA = 3; /*<Runge-Kutta differential-algebraic equation solver. \see */
1479 const int CMFE_SOLVER_DAE_ADAMS_MOULTON = 4; /*<Adams-Moulton differential-algebraic equation solver. \see */
1480 const int CMFE_SOLVER_DAE_BDF = 5; /*<General BDF differential-algebraic equation solver. \see */
1481 const int CMFE_SOLVER_DAE_RUSH_LARSON = 6; /*<Rush-Larson differential-algebraic equation solver. \see */
1482 const int CMFE_SOLVER_DAE_EXTERNAL = 7; /*<External (e.g., CellML generated) differential-algebraic equation solver. \see */
1483 /*>@} */
1484 /*>\addtogroup OPENCMISS_EulerDAESolverTypes OPENCMISS::Solver::EulerDAESolverTypes */
1485 /*>\brief The Euler solver types for a differential-algebriac equation solver. */
1486 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1487 /*>@{ */
1488 const int CMFE_SOLVER_DAE_EULER_FORWARD = 1; /*<Forward Euler differential equation solver. \see OPENCMISS_EulerDAESolverTypes,OPENCMISS */
1489 const int CMFE_SOLVER_DAE_EULER_BACKWARD = 2; /*<Backward Euler differential equation solver. \see OPENCMISS_EulerDAESolverTypes,OPENCMISS */
1490 const int CMFE_SOLVER_DAE_EULER_IMPROVED = 3; /*<Improved Euler differential equation solver. \see OPENCMISS_EulerDAESolverTypes,OPENCMISS */
1491 /*>@} */
1492 /*>\addtogroup OPENCMISS_SolutionInitialiseTypes OPENCMISS::Solver::SolutionInitialiseTypes */
1493 /*>\brief The types of solution initialisation. */
1494 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1495 /*>@{ */
1496 const int CMFE_SOLVER_SOLUTION_INITIALISE_ZERO = 0; /*<Initialise the solution by zeroing it before a solve. \see OPENCMISS_SolutionInitialiseTypes,OPENCMISS */
1497 const int CMFE_SOLVER_SOLUTION_INITIALISE_CURRENT_FIELD = 1; /*<Initialise the solution by copying in the current dependent field values. \see OPENCMISS_SolutionInitialiseTypes,OPENCMISS */
1498 const int CMFE_SOLVER_SOLUTION_INITIALISE_NO_CHANGE = 2; /*<Do not change the solution before a solve. \see OPENCMISS_SolutionInitialiseTypes,OPENCMISS */
1499 /*>@} */
1500 /*>\addtogroup OPENCMISS_SolverOutputTypes OPENCMISS::Solver::OutputTypes */
1501 /*>\brief The types of output. */
1502 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1503 /*>@{ */
1504 const int CMFE_SOLVER_NO_OUTPUT = 0; /*<No output from the solver routines. \see OPENCMISS_SolverOutputTypes,OPENCMISS */
1505 const int CMFE_SOLVER_PROGRESS_OUTPUT = 1; /*<Progress output from solver routines. \see OPENCMISS_SolverOutputTypes,OPENCMISS */
1506 const int CMFE_SOLVER_TIMING_OUTPUT = 2; /*<Timing output from the solver routines plus below. \see OPENCMISS_SolverOutputTypes,OPENCMISS */
1507 const int CMFE_SOLVER_SOLVER_OUTPUT = 3; /*<Solver specific output from the solver routines plus below. \see OPENCMISS_SolverOutputTypes,OPENCMISS */
1508 const int CMFE_SOLVER_MATRIX_OUTPUT = 4; /*<Solver matrices output from the solver routines plus below. \see OPENCMISS_SolverOutputTypes,OPENCMISS */
1509 /*>@} */
1510 /*>\addtogroup OPENCMISS_SolverEquationsSparsityTypes OPENCMISS::SolverEquations::SparsityTypes */
1511 /*>\brief The types of sparse solver equations matrices. */
1512 /*>\see OPENCMISS::Solver::Constants,OPENCMISS */
1513 /*>@{ */
1514 const int CMFE_SOLVER_SPARSE_MATRICES = 1; /*<Use sparse solver matrices. \see OPENCMISS_SolverEquationsSparsityTypes,OPENCMISS */
1515 const int CMFE_SOLVER_FULL_MATRICES = 2; /*<Use fully populated solver matrices. \see OPENCMISS_SolverEquationsSparsityTypes,OPENCMISS */
1516 /*>@} */
1517 /*>@} */
1518 struct cmfe_FieldMLIOType_;
1519 /*>Provides input and output of fields through the FieldML API */
1520 typedef struct cmfe_FieldMLIOType_ *cmfe_FieldMLIOType;
1521 
1522 
1523 /*>Finalises CMISS. */
1524 IRON_C_EXPORT cmfe_Error cmfe_Finalise();
1525 
1526 /*>Initialises CMISS returning a user number to the world coordinate system and region. */
1527 IRON_C_EXPORT cmfe_Error cmfe_InitialiseNum(int *worldCoordinateSystemUserNumber /*<On return, the world coordinate system user number. */,
1528  int *worldRegionUserNumber /*<On return, the world region user number. */);
1529 
1530 /*>Initialises CMISS returning a pointer to the world coordinate system and region. */
1531 IRON_C_EXPORT cmfe_Error cmfe_Initialise(cmfe_CoordinateSystemType worldCoordinateSystem /*<On return, the world coordinate system. */,
1532  cmfe_RegionType worldRegion /*<On return, the world region. */);
1533 
1534 /*>Returns the working precision */
1535 IRON_C_EXPORT cmfe_Error cmfe_WorkingRealPrecisionGet(int *workingRealPrecision /*<On return, the working real precision */);
1536 
1537 /*>Finalises a cmfe_BasisType object. */
1538 IRON_C_EXPORT cmfe_Error cmfe_Basis_Finalise(cmfe_BasisType *cmfe_Basis /*<The cmfe_BasisType object to finalise. */);
1539 
1540 /*>Initialises a cmfe_BasisType object. */
1541 IRON_C_EXPORT cmfe_Error cmfe_Basis_Initialise(cmfe_BasisType *cmfe_Basis /*<The cmfe_BasisType object to initialise. */);
1542 
1543 /*>Finalises a cmfe_BoundaryConditionsType object. */
1544 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_Finalise(cmfe_BoundaryConditionsType *cmfe_BoundaryConditions /*<The cmfe_BoundaryConditionsType object to finalise. */);
1545 
1546 /*>Initialises a cmfe_BoundaryConditionsType object. */
1547 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_Initialise(cmfe_BoundaryConditionsType *cmfe_BoundaryConditions /*<The cmfe_BoundaryConditionsType object to initialise. */);
1548 
1549 /*>Finalises a cmfe_CellMLType object. */
1550 IRON_C_EXPORT cmfe_Error cmfe_CellML_Finalise(cmfe_CellMLType *cmfe_CellML /*<The cmfe_CellMLType object to finalise. */);
1551 
1552 /*>Initialises a cmfe_CellMLType object. */
1553 IRON_C_EXPORT cmfe_Error cmfe_CellML_Initialise(cmfe_CellMLType *cmfe_CellML /*<The cmfe_CellMLType object to initialise. */);
1554 
1555 /*>Finalises a cmfe_CellMLEquationsType object. */
1556 IRON_C_EXPORT cmfe_Error cmfe_CellMLEquations_Finalise(cmfe_CellMLEquationsType *cmfe_CellMLEquations /*<The cmfe_CellMLEquationsType object to finalise. */);
1557 
1558 /*>Initialises a cmfe_CellMLEquationsType object. */
1559 IRON_C_EXPORT cmfe_Error cmfe_CellMLEquations_Initialise(cmfe_CellMLEquationsType *cmfe_CellMLEquations /*<The cmfe_CellMLEquationsType object to initialise. */);
1560 
1561 /*>Initialises a cmfe_ComputationalWorkGroupType object. */
1562 IRON_C_EXPORT cmfe_Error cmfe_ComputationalWorkGroup_Initialise(cmfe_ComputationalWorkGroupType *cmfe_ComputationalWorkGroup /*<The cmfe_ComputationalWorkGroupType object to initialise. */);
1563 
1564 /*>Finalises a cmfe_ControlLoopType object. */
1565 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_Finalise(cmfe_ControlLoopType *cmfe_ControlLoop /*<The cmfe_ControlLoopType object to finalise. */);
1566 
1567 /*>Initialises a cmfe_ControlLoopType object. */
1568 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_Initialise(cmfe_ControlLoopType *cmfe_ControlLoop /*<The cmfe_ControlLoopType object to initialise. */);
1569 
1570 /*>Finalises a cmfe_CoordinateSystemType object. */
1571 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_Finalise(cmfe_CoordinateSystemType *cmfe_CoordinateSystem /*<The cmfe_CoordinateSystemType object to finalise. */);
1572 
1573 /*>Initialises a cmfe_CoordinateSystemType object. */
1574 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_Initialise(cmfe_CoordinateSystemType *cmfe_CoordinateSystem /*<The cmfe_CoordinateSystemType object to initialise. */);
1575 
1576 /*>Finalises a cmfe_DataPointsType object. */
1577 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_Finalise(cmfe_DataPointsType *cmfe_DataPoints /*<The cmfe_DataPointsType object to finalise. */);
1578 
1579 /*>Initialises a cmfe_DataPointsType object. */
1580 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_Initialise(cmfe_DataPointsType *cmfe_DataPoints /*<The cmfe_DataPointsType object to initialise. */);
1581 
1582 /*>Finalises a cmfe_DataProjectionType object. */
1583 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_Finalise(cmfe_DataProjectionType *cmfe_DataProjection /*<The cmfe_DataProjectionType object to finalise. */);
1584 
1585 /*>Initialises a cmfe_DataProjectionType object. */
1586 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_Initialise(cmfe_DataProjectionType *cmfe_DataProjection /*<The cmfe_DataProjectionType object to initialise. */);
1587 
1588 /*>Finalises a cmfe_DecompositionType object. */
1589 IRON_C_EXPORT cmfe_Error cmfe_Decomposition_Finalise(cmfe_DecompositionType *cmfe_Decomposition /*<The cmfe_DecompositionType object to finalise. */);
1590 
1591 /*>Initialises a cmfe_DecompositionType object. */
1592 IRON_C_EXPORT cmfe_Error cmfe_Decomposition_Initialise(cmfe_DecompositionType *cmfe_Decomposition /*<The cmfe_DecompositionType object to initialise. */);
1593 
1594 /*>Finalises a cmfe_EquationsType object. */
1595 IRON_C_EXPORT cmfe_Error cmfe_Equations_Finalise(cmfe_EquationsType *cmfe_Equations /*<The cmfe_EquationsType object to finalise. */);
1596 
1597 /*>Initialises a cmfe_EquationsType object. */
1598 IRON_C_EXPORT cmfe_Error cmfe_Equations_Initialise(cmfe_EquationsType *cmfe_Equations /*<The cmfe_EquationsType object to initialise. */);
1599 
1600 /*>Finalises a cmfe_EquationsSetType object. */
1601 IRON_C_EXPORT cmfe_Error cmfe_EquationsSet_Finalise(cmfe_EquationsSetType *cmfe_EquationsSet /*<The cmfe_EquationsSetType object to finalise. */);
1602 
1603 /*>Initialises a cmfe_EquationsSetType object. */
1604 IRON_C_EXPORT cmfe_Error cmfe_EquationsSet_Initialise(cmfe_EquationsSetType *cmfe_EquationsSet /*<The cmfe_EquationsSetType object to initialise. */);
1605 
1606 /*>Finalises a cmfe_FieldType object. */
1607 IRON_C_EXPORT cmfe_Error cmfe_Field_Finalise(cmfe_FieldType *cmfe_Field /*<The cmfe_FieldType object to finalise. */);
1608 
1609 /*>Initialises a cmfe_FieldType object. */
1610 IRON_C_EXPORT cmfe_Error cmfe_Field_Initialise(cmfe_FieldType *cmfe_Field /*<The cmfe_FieldType object to initialise. */);
1611 
1612 /*>Creates a cmfe_FieldsType object for an inteface by an object reference. */
1613 IRON_C_EXPORT cmfe_Error cmfe_Fields_CreateInterface(const cmfe_InterfaceType interface /*<The interface to get the fields from */,
1614  cmfe_FieldsType fields /*<On return, the fields attached to the specified interface. Must not be associated on entry. */);
1615 
1616 /*>Creates a cmfe_FieldsType object for a region by an object reference. */
1617 IRON_C_EXPORT cmfe_Error cmfe_Fields_CreateRegion(const cmfe_RegionType region /*<The region to get the fields from */,
1618  cmfe_FieldsType fields /*<On return, the fields attached to the specified region. Must not be associated on entry. */);
1619 
1620 /*>Finalises a cmfe_FieldsType object. */
1621 IRON_C_EXPORT cmfe_Error cmfe_Fields_Finalise(cmfe_FieldsType *cmfe_Fields /*<The cmfe_FieldsType object to finalise. */);
1622 
1623 /*>Initialises a cmfe_FieldsType object. */
1624 IRON_C_EXPORT cmfe_Error cmfe_Fields_Initialise(cmfe_FieldsType *cmfe_Fields /*<The cmfe_FieldsType object to initialise. */);
1625 
1626 /*>Finalises a cmfe_GeneratedMeshType object. */
1627 IRON_C_EXPORT cmfe_Error cmfe_GeneratedMesh_Finalise(cmfe_GeneratedMeshType *cmfe_GeneratedMesh /*<The cmfe_GeneratedMeshType object to finalise. */);
1628 
1629 /*>Initialises a cmfe_GeneratedMeshType object. */
1630 IRON_C_EXPORT cmfe_Error cmfe_GeneratedMesh_Initialise(cmfe_GeneratedMeshType *cmfe_GeneratedMesh /*<The cmfe_GeneratedMeshType object to initialise. */);
1631 
1632 /*>Finalises a cmfe_InterfaceType object. */
1633 IRON_C_EXPORT cmfe_Error cmfe_Interface_Finalise(cmfe_InterfaceType *cmfe_Interface /*<The cmfe_InterfaceType object to finalise. */);
1634 
1635 /*>Initialises a cmfe_InterfaceType object. */
1636 IRON_C_EXPORT cmfe_Error cmfe_Interface_Initialise(cmfe_InterfaceType *cmfe_Interface /*<The cmfe_InterfaceType object to initialise. */);
1637 
1638 /*>Finalises a cmfe_InterfaceConditionType object. */
1639 IRON_C_EXPORT cmfe_Error cmfe_InterfaceCondition_Finalise(cmfe_InterfaceConditionType *cmfe_InterfaceCondition /*<The cmfe_InterfaceConditionType object to finalise. */);
1640 
1641 /*>Initialises a cmfe_InterfaceConditionType object. */
1642 IRON_C_EXPORT cmfe_Error cmfe_InterfaceCondition_Initialise(cmfe_InterfaceConditionType *cmfe_InterfaceCondition /*<The cmfe_InterfaceConditionType object to initialise. */);
1643 
1644 /*>Finalises a cmfe_InterfaceEquationsType object. */
1645 IRON_C_EXPORT cmfe_Error cmfe_InterfaceEquations_Finalise(cmfe_InterfaceEquationsType *cmfe_InterfaceEquations /*<The cmfe_InterfaceEquationsType object to finalise. */);
1646 
1647 /*>Initialises a cmfe_InterfaceEquationsType object. */
1648 IRON_C_EXPORT cmfe_Error cmfe_InterfaceEquations_Initialise(cmfe_InterfaceEquationsType *cmfe_InterfaceEquations /*<The cmfe_InterfaceEquationsType object to initialise. */);
1649 
1650 /*>Finalise a cmfe_InterfaceMeshConnectivityType object. */
1651 IRON_C_EXPORT cmfe_Error cmfe_InterfacePointsConnectivity_Finalise(cmfe_InterfacePointsConnectivityType *cmfe_InterfacePointsConnectivity /*<The cmfe_InterfacePointsConnectivityType object to initialise. */);
1652 
1653 /*>Initialises a cmfe_InterfaceMeshConnectivityType object. */
1654 IRON_C_EXPORT cmfe_Error cmfe_InterfacePointsConnectivity_Initialise(cmfe_InterfacePointsConnectivityType *cmfe_InterfacePointsConnectivity /*<The cmfe_InterfacePointsConnectivityType object to initialise. */);
1655 
1656 /*>Finalises a cmfe_InterfaceMeshConnectivityType object. */
1657 IRON_C_EXPORT cmfe_Error cmfe_InterfaceMeshConnectivity_Finalise(cmfe_InterfaceMeshConnectivityType *cmfe_InterfaceMeshConnectivity /*<The cmfe_InterfaceMeshConnectivityType object to finalise. */);
1658 
1659 /*>Initialises a cmfe_InterfaceMeshConnectivityType object. */
1660 IRON_C_EXPORT cmfe_Error cmfe_InterfaceMeshConnectivity_Initialise(cmfe_InterfaceMeshConnectivityType *cmfe_InterfaceMeshConnectivity /*<The cmfe_InterfaceMeshConnectivityType object to initialise. */);
1661 
1662 /*>Finalises a cmfe_HistoryType object. */
1663 IRON_C_EXPORT cmfe_Error cmfe_History_Finalise(cmfe_HistoryType *cmfe_History /*<The cmfe_HistoryType object to finalise. */);
1664 
1665 /*>Initialises a cmfe_HistoryType object. */
1666 IRON_C_EXPORT cmfe_Error cmfe_History_Initialise(cmfe_HistoryType *cmfe_History /*<The cmfe_HistoryType object to initialise. */);
1667 
1668 /*>Initialises a cmfe_DistributedMatrixType object. */
1669 IRON_C_EXPORT cmfe_Error cmfe_DistributedMatrix_Initialise(cmfe_DistributedMatrixType *cmfe_DistributedMatrix /*<The cmfe_DistributedMatrixType object to initialise. */);
1670 
1671 /*>Initialises a cmfe_DistributedVectorType object. */
1672 IRON_C_EXPORT cmfe_Error cmfe_DistributedVector_Initialise(cmfe_DistributedVectorType *cmfe_DistributedVector /*<The cmfe_DistributedVectorType object to initialise. */);
1673 
1674 /*>Finalises a cmfe_MeshType object. */
1675 IRON_C_EXPORT cmfe_Error cmfe_Mesh_Finalise(cmfe_MeshType *cmfe_Mesh /*<The cmfe_MeshType object to finalise. */);
1676 
1677 /*>Initialises a cmfe_MeshType object. */
1678 IRON_C_EXPORT cmfe_Error cmfe_Mesh_Initialise(cmfe_MeshType *cmfe_Mesh /*<The cmfe_MeshType object to initialise. */);
1679 
1680 /*>Finalises a cmfe_MeshElementsType object. */
1681 IRON_C_EXPORT cmfe_Error cmfe_MeshElements_Finalise(cmfe_MeshElementsType *cmfe_MeshElements /*<The cmfe_MeshElementsType object to finalise. */);
1682 
1683 /*>Initialises a cmfe_MeshElementsType object. */
1684 IRON_C_EXPORT cmfe_Error cmfe_MeshElements_Initialise(cmfe_MeshElementsType *cmfe_MeshElements /*<The cmfe_MeshElementsType object to initialise. */);
1685 
1686 /*>Finalises a cmfe_MeshNodesType object. */
1687 IRON_C_EXPORT cmfe_Error cmfe_MeshNodes_Finalise(cmfe_MeshNodesType *cmfe_MeshNodes /*<The cmfe_MeshNodesType object to finalise. */);
1688 
1689 /*>Initialises a cmfe_MeshNodesType object. */
1690 IRON_C_EXPORT cmfe_Error cmfe_MeshNodes_Initialise(cmfe_MeshNodesType *cmfe_MeshNodes /*<The cmfe_MeshNodesType object to initialise. */);
1691 
1692 /*>Finalises a cmfe_NodesType object. */
1693 IRON_C_EXPORT cmfe_Error cmfe_Nodes_Finalise(cmfe_NodesType *cmfe_Nodes /*<The cmfe_NodesType object to finalise. */);
1694 
1695 /*>Initialises a cmfe_NodesType object. */
1696 IRON_C_EXPORT cmfe_Error cmfe_Nodes_Initialise(cmfe_NodesType *cmfe_Nodes /*<The cmfe_NodesType object to initialise. */);
1697 
1698 /*>Finalises a cmfe_ProblemType object. */
1699 IRON_C_EXPORT cmfe_Error cmfe_Problem_Finalise(cmfe_ProblemType *cmfe_Problem /*<The cmfe_ProblemType object to finalise. */);
1700 
1701 /*>Initialises a cmfe_ProblemType object. */
1702 IRON_C_EXPORT cmfe_Error cmfe_Problem_Initialise(cmfe_ProblemType *cmfe_Problem /*<The cmfe_ProblemType object to initialise. */);
1703 
1704 /*>Finalises a cmfe_QuadratureType object. */
1705 IRON_C_EXPORT cmfe_Error cmfe_Quadrature_Finalise(cmfe_QuadratureType *cmfe_Quadrature /*<The cmfe_QuadratureType object to finalise. */);
1706 
1707 /*>Initialises a cmfe_QuadratureType object. */
1708 IRON_C_EXPORT cmfe_Error cmfe_Quadrature_Initialise(cmfe_QuadratureType *cmfe_Quadrature /*<The cmfe_QuadratureType object to initialise. */);
1709 
1710 /*>Finalises a cmfe_RegionType object. */
1711 IRON_C_EXPORT cmfe_Error cmfe_Region_Finalise(cmfe_RegionType *cmfe_Region /*<The cmfe_RegionType object to finalise. */);
1712 
1713 /*>Initialises a cmfe_RegionType object. */
1714 IRON_C_EXPORT cmfe_Error cmfe_Region_Initialise(cmfe_RegionType *cmfe_Region /*<The cmfe_RegionType object to initialise. */);
1715 
1716 /*>Finalises a cmfe_SolverType object. */
1717 IRON_C_EXPORT cmfe_Error cmfe_Solver_Finalise(cmfe_SolverType *cmfe_Solver /*<The cmfe_SolverType object to finalise. */);
1718 
1719 /*>Initialises a cmfe_SolverType object. */
1720 IRON_C_EXPORT cmfe_Error cmfe_Solver_Initialise(cmfe_SolverType *cmfe_Solver /*<The cmfe_SolverType object to initialise. */);
1721 
1722 /*>Finalises a cmfe_SolverEquationsType object. */
1723 IRON_C_EXPORT cmfe_Error cmfe_SolverEquations_Finalise(cmfe_SolverEquationsType *cmfe_SolverEquations /*<The cmfe_SolverEquationsType object to finalise. */);
1724 
1725 /*>Initialises a cmfe_SolverEquationsType object. */
1726 IRON_C_EXPORT cmfe_Error cmfe_SolverEquations_Initialise(cmfe_SolverEquationsType *cmfe_SolverEquations /*<The cmfe_SolverEquationsType object to initialise. */);
1727 
1728 /*>Output the analytic error analysis for a field specified by a user number compared to the analytic values parameter set. */
1729 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_OutputNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1730  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1731  const int fileNameSize /*<Length of fileName string */,
1732  const char *fileName /*<If not empty, the filename to output the analytic analysis to. If empty, the analysis will be output to the standard output. */);
1733 
1734 /*>Output the analytic error analysis for a field identified by an object compared to the analytic values parameter set. */
1735 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_Output(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1736  const int fileNameSize /*<Length of fileName string */,
1737  const char *fileName /*<If not empty, the filename to output the analytic analysis to. If empty, the analysis will be output to the standard output. */);
1738 
1739 /*>Get absolute error value for the node in a field specified by a user number compared to the analytic value. */
1740 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_AbsoluteErrorGetNodeNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1741  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1742  const int variableType /*<variable type */,
1743  const int versionNumber /*<derivative version number */,
1744  const int derivativeNumber /*<derivative number */,
1745  const int nodeNumber /*<node number */,
1746  const int componentNumber /*<component number */,
1747  double *value /*<On return, the absolute error */);
1748 
1749 /*>Get absolute error value for the node in a field identified by an object compared to the analytic value. */
1750 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_AbsoluteErrorGetNode(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1751  const int variableType /*<variable type */,
1752  const int versionNumber /*<derivative version number */,
1753  const int derivativeNumber /*<derivative number */,
1754  const int nodeNumber /*<node number */,
1755  const int componentNumber /*<component number */,
1756  double *value /*<On return, the absolute error */);
1757 
1758 /*>Get percentage error value for the node in a field specified by a user number compared to the analytic value. */
1759 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_PercentageErrorGetNodeNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1760  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1761  const int variableType /*<variable type */,
1762  const int versionNumber /*<derivative version number */,
1763  const int derivativeNumber /*<derivative number */,
1764  const int nodeNumber /*<node number */,
1765  const int componentNumber /*<component number */,
1766  double *value /*<On return, the percentage error */);
1767 
1768 /*>Get percentage error value for the node in a field identified by an object compared to the analytic value. */
1769 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_PercentageErrorGetNode(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1770  const int variableType /*<variable type */,
1771  const int versionNumber /*<derivative version number */,
1772  const int derivativeNumber /*<derivative number */,
1773  const int nodeNumber /*<node number */,
1774  const int componentNumber /*<component number */,
1775  double *value /*<On return, the percentage error */);
1776 
1777 /*>Get relative error value for the node in a field specified by a user number compared to the analytic value. */
1778 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_RelativeErrorGetNodeNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1779  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1780  const int variableType /*<variable type */,
1781  const int versionNumber /*<derivative version number */,
1782  const int derivativeNumber /*<derivative number */,
1783  const int nodeNumber /*<node number */,
1784  const int componentNumber /*<component number */,
1785  double *value /*<On return, the relative error */);
1786 
1787 /*>Get relative error value for the node in a field identified by an object compared to the analytic value. */
1788 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_RelativeErrorGetNode(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1789  const int variableType /*<variable type */,
1790  const int versionNumber /*<derivative version number */,
1791  const int derivativeNumber /*<derivative number */,
1792  const int nodeNumber /*<node number */,
1793  const int componentNumber /*<component number */,
1794  double *value /*<On return, the relative error */);
1795 
1796 /*>Get absolute error value for the element in a field specified by a user number compared to the analytic value. */
1797 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_AbsoluteErrorGetElementNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1798  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1799  const int variableType /*<variable type */,
1800  const int elementNumber /*<element number */,
1801  const int componentNumber /*<component number */,
1802  double *value /*<On return, the absolute error */);
1803 
1804 /*>Get absolute error value for the element in a field identified by an object compared to the analytic value. */
1805 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_AbsoluteErrorGetElement(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1806  const int variableType /*<variable type */,
1807  const int elementNumber /*<element number */,
1808  const int componentNumber /*<component number */,
1809  double *VALUE /*<On return, the absolute error */);
1810 
1811 /*>Get percentage error value for the element in a field specified by a user number compared to the analytic value. */
1812 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_PercentageErrorGetElementNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1813  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1814  const int variableType /*<variable type */,
1815  const int elementNumber /*<element number */,
1816  const int componentNumber /*<component number */,
1817  double *value /*<On return, the percentage error */);
1818 
1819 /*>Get percentage error value for the element in a field identified by an object compared to the analytic value. */
1820 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_PercentageErrorGetElement(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1821  const int variableType /*<variable type */,
1822  const int elementNumber /*<element number */,
1823  const int componentNumber /*<component number */,
1824  double *VALUE /*<On return, the percentage error */);
1825 
1826 /*>Get relative error value for the element in a field specified by a user number compared to the analytic value. */
1827 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_RelativeErrorGetElementNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1828  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1829  const int variableType /*<variable type */,
1830  const int elementNumber /*<element number */,
1831  const int componentNumber /*<component number */,
1832  double *value /*<On return, the relative error */);
1833 
1834 /*>Get relative error value for the element in a field identified by an object compared to the analytic value. */
1835 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_RelativeErrorGetElement(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1836  const int variableType /*<variable type */,
1837  const int elementNumber /*<element number */,
1838  const int componentNumber /*<component number */,
1839  double *VALUE /*<On return, the relative error */);
1840 
1841 /*>Get absolute error value for the constant in a field specified by a user number compared to the analytic value. */
1842 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_AbsoluteErrorGetConstantNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1843  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1844  const int variableType /*<variable type */,
1845  const int componentNumber /*<component number */,
1846  double *value /*<On return, the absolute error */);
1847 
1848 /*>Get absolute error value for the constant in a field identified by an object compared to the analytic value. */
1849 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_AbsoluteErrorGetConstant(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1850  const int variableType /*<variable type */,
1851  const int componentNumber /*<component number */,
1852  double *VALUE /*<On return, the absolute error */);
1853 
1854 /*>Get percentage error value for the constant in a field specified by a user number compared to the analytic value. */
1855 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_PercentageErrorGetConstantNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1856  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1857  const int variableType /*<variable type */,
1858  const int componentNumber /*<component number */,
1859  double *value /*<On return, the percentage error */);
1860 
1861 /*>Get percentage error value for the constant in a field identified by an object compared to the analytic value. */
1862 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_PercentageErrorGetConstant(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1863  const int variableType /*<variable type */,
1864  const int componentNumber /*<component number */,
1865  double *VALUE /*<On return, the percentage error */);
1866 
1867 /*>Get relative error value for the constant in a field specified by a user number compared to the analytic value. */
1868 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_RelativeErrorGetConstantNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1869  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1870  const int variableType /*<variable type */,
1871  const int componentNumber /*<component number */,
1872  double *value /*<On return, the relative error */);
1873 
1874 /*>Get relative error value for the constant in a field identified by an object compared to the analytic value. */
1875 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_RelativeErrorGetConstant(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1876  const int variableType /*<variable type */,
1877  const int componentNumber /*<component number */,
1878  double *VALUE /*<On return, the relative error */);
1879 
1880 /*>Get rms error value for nodes in a field compared to the analytic value. */
1881 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_RMSErrorGetNodeNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1882  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1883  const int variableType /*<variable type */,
1884  const int componentNumber /*<component number */,
1885  const int errorType /*<error type */,
1886  double localValue[8] /*<On return, the local error */,
1887  double localGhostValue[8] /*<On return, the local ghost error */,
1888  double globalValue[8] /*<On return, the global error */);
1889 
1890 /*>Get rms error value for nodes in a field identified by an object compared to the analytic value. */
1891 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_RMSErrorGetNode(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1892  const int variableType /*<variable type */,
1893  const int componentNumber /*<component number */,
1894  const int errorType /*<error type */,
1895  double localValue[8] /*<On return, the local error */,
1896  double localGhostValue[8] /*<On return, the local ghost error */,
1897  double globalValue[8] /*<On return, the global error */);
1898 
1899 /*>Get rms error value for elements in a field compared to the analytic value. */
1900 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_RMSErrorGetElementNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1901  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1902  const int variableType /*<variable type */,
1903  const int componentNumber /*<component number */,
1904  const int errorType /*<error type */,
1905  double *localValue /*<On return, the local error */,
1906  double *localGhostValue /*<On return, the local ghost error */,
1907  double *globalValue /*<On return, the global error */);
1908 
1909 /*>Get relative error value for the constant in a field identified by an object compared to the analytic value. */
1910 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_RMSErrorGetElement(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1911  const int variableType /*<variable type */,
1912  const int componentNumber /*<component number */,
1913  const int errorType /*<error type */,
1914  double *localValue /*<On return, the local error */,
1915  double *localGhostValue /*<On return, the local ghost error */,
1916  double *globalValue /*<On return, the global error */);
1917 
1918 /*>Get integral value for the numerical values. */
1919 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralNumericalValueGetNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1920  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1921  const int variableType /*<variable type */,
1922  const int componentNumber /*<component number */,
1923  double integralValue[2] /*<On return, the integral value */,
1924  double ghostIntegralValue[2] /*<On return, ghost integral value */);
1925 
1926 /*>Get integral value for the numerical values. */
1927 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralNumericalValueGet(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1928  const int variableType /*<variable type */,
1929  const int componentNumber /*<component number */,
1930  double integralValue[2] /*<On return, the integral value */,
1931  double ghostIntegralValue[2] /*<On return, ghost integral value */);
1932 
1933 /*>Get integral value for the analytic values. */
1934 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralAnalyticValueGetNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1935  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1936  const int variableType /*<variable type */,
1937  const int componentNumber /*<component number */,
1938  double integralValue[2] /*<On return, the integral value */,
1939  double ghostIntegralValue[2] /*<On return, ghost integral value */);
1940 
1941 /*>Get integral value for the analytic values. */
1942 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralAnalyticValueGet(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1943  const int variableType /*<variable type */,
1944  const int componentNumber /*<component number */,
1945  double integralValue[2] /*<On return, the integral value */,
1946  double ghostIntegralValue[2] /*<On return, ghost integral value */);
1947 
1948 /*>Get integral value for the percentage errors. */
1949 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralPercentageErrorGetNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1950  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1951  const int variableType /*<variable type */,
1952  const int componentNumber /*<component number */,
1953  double integralValue[2] /*<On return, the integral value */,
1954  double ghostIntegralValue[2] /*<On return, ghost integral value */);
1955 
1956 /*>Get integral value for the percentage errors. */
1957 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralPercentageErrorGet(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1958  const int variableType /*<variable type */,
1959  const int componentNumber /*<component number */,
1960  double integralValue[2] /*<On return, the integral value */,
1961  double ghostIntegralValue[2] /*<On return, ghost integral value */);
1962 
1963 /*>Get integral value for the absolute errors. */
1964 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGetNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1965  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1966  const int variableType /*<variable type */,
1967  const int componentNumber /*<component number */,
1968  double integralValue[2] /*<On return, the integral value */,
1969  double ghostIntegralValue[2] /*<On return, ghost integral value */);
1970 
1971 /*>Get integral value for the absolute errors. */
1972 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralAbsoluteErrorGet(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1973  const int variableType /*<variable type */,
1974  const int componentNumber /*<component number */,
1975  double integralValue[2] /*<On return, the integral value */,
1976  double ghostIntegralValue[2] /*<On return, ghost integral value */);
1977 
1978 /*>Get integral value for the relative error. */
1979 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralRelativeErrorGetNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1980  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1981  const int variableType /*<variable type */,
1982  const int componentNumber /*<component number */,
1983  double integralValue[2] /*<On return, the integral value */,
1984  double ghostIntegralValue[2] /*<On return, ghost integral value */);
1985 
1986 /*>Get integral value for the relative error. */
1987 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralRelativeErrorGet(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
1988  const int variableType /*<variable type */,
1989  const int componentNumber /*<component number */,
1990  double integralValue[2] /*<On return, the integral value */,
1991  double ghostIntegralValue[2] /*<On return, ghost integral value */);
1992 
1993 /*>Get integral value for the nid numerical. */
1994 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralNIDNumericalValueGetNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
1995  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
1996  const int variableType /*<variable type */,
1997  const int componentNumber /*<component number */,
1998  double integralValue[2] /*<On return, the integral value */,
1999  double ghostIntegralValue[2] /*<On return, ghost integral value */);
2000 
2001 /*>Get integral value for the nid numerical. */
2002 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralNIDNumericalValueGet(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
2003  const int variableType /*<variable type */,
2004  const int componentNumber /*<component number */,
2005  double integralValue[2] /*<On return, the integral value */,
2006  double ghostIntegralValue[2] /*<On return, ghost integral value */);
2007 
2008 /*>Get integral value for the nid error. */
2009 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralNIDErrorGetNum(const int regionUserNumber /*<The user number of the region containing the field for analytic error analysis. */,
2010  const int fieldUserNumber /*<The user number of the field to calculate the analytic error analysis for. */,
2011  const int variableType /*<variable type */,
2012  const int componentNumber /*<component number */,
2013  double integralValue[2] /*<On return, the integral value */,
2014  double ghostIntegralValue[2] /*<On return, ghost integral value */);
2015 
2016 /*>Get integral value for the nid error. */
2017 IRON_C_EXPORT cmfe_Error cmfe_AnalyticAnalysis_IntegralNIDErrorGet(const cmfe_FieldType field /*<The dependent field to calculate the analytic error analysis for. */,
2018  const int variableType /*<variable type */,
2019  const int componentNumber /*<component number */,
2020  double integralValue[2] /*<On return, the integral value */,
2021  double ghostIntegralValue[2] /*<On return, ghost integral value */);
2022 
2023 /*>Sets diagnostics off. \see OpenCMISS::Iron::cmfe_DiagnosticsSetOn */
2024 IRON_C_EXPORT cmfe_Error cmfe_DiagnosticsSetOff();
2025 
2026 /*>Sets diagnostics on \see OpenCMISS::Iron::cmfe_DiagnosticsSetOff */
2027 IRON_C_EXPORT cmfe_Error cmfe_DiagnosticsSetOn(const int diagType /*<The type of diagnostics to set on \see OPENCMISS_DiagnosticTypes. */,
2028  const int levelListSize /*<Length of levelList */,
2029  const int *levelList /*<The list of diagnostic levels to set on. */,
2030  const int diagFilenameSize /*<Length of diagFilename string */,
2031  const char *diagFilename /*<If present the name of the file to output diagnostic information to. If omitted the diagnostic output is sent to the screen. */,
2032  const int routineListNumStrings /*<Number of strings in routineList */,
2033  const int routineListStringLength /*<Length of strings in routineList */,
2034  const char *routineList /*<The list of routines to set diagnostics on in. */);
2035 
2036 /*>Sets output off \see OpenCMISS::Iron::cmfe_OutputSetOff */
2037 IRON_C_EXPORT cmfe_Error cmfe_OutputSetOff();
2038 
2039 /*>Sets output on \see OpenCMISS::Iron::cmfe_OutputSetOff */
2040 IRON_C_EXPORT cmfe_Error cmfe_OutputSetOn(const int echoFilenameSize /*<Length of echoFilename string */,
2041  const char *echoFilename /*<The filename of the file to echo output to */);
2042 
2043 /*>Sets timing off \see OpenCMISS::Iron::cmfe_TimingSetOn */
2044 IRON_C_EXPORT cmfe_Error cmfe_TimingSetOff();
2045 
2046 /*>Sets timing on \see OpenCMISS::Iron::cmfe_TimingSetOff */
2047 IRON_C_EXPORT cmfe_Error cmfe_TimingSetOn(const int timingType /*<The type of timing to set on \see OPENCMISS_TimingTypes. */,
2048  const cmfe_Bool timingSummaryFlag /*<.TRUE. if the timing information will be output with subsequent OpenCMISS::Iron::cmfe_TimingSummaryOutput calls, .FALSE. if the timing information will be output every time the routine exits. */,
2049  const int timingFilenameSize /*<Length of timingFilename string */,
2050  const char *timingFilename /*<If present the name of the file to output timing information to. If omitted the timing output is sent to the screen. */,
2051  const int routineListNumStrings /*<Number of strings in routineList */,
2052  const int routineListStringLength /*<Length of strings in routineList */,
2053  const char *routineList /*<The list of routines to set timing on in. */);
2054 
2055 /*>Outputs the timing summary. */
2056 IRON_C_EXPORT cmfe_Error cmfe_TimingSummaryOutput();
2057 
2058 /*>Returns the collapsed Xi flags of a basis identified by a user number. */
2059 IRON_C_EXPORT cmfe_Error cmfe_Basis_CollapsedXiGetNum(const int userNumber /*<The user number of the basis to get the collapsed Xi flags for. */,
2060  const int collapsedXiSize /*<Length of collapsedXi */,
2061  int *collapsedXi /*<collapsedXi(ni). On return, the collapsed Xi parameter for the ni'th Xi direction. \see OPENCMISS_BasisXiCollapse */);
2062 
2063 /*>Returns the collapsed Xi flags of a basis identified by an object. */
2064 IRON_C_EXPORT cmfe_Error cmfe_Basis_CollapsedXiGet(const cmfe_BasisType basis /*<The basis to get the collapsed Xi flags for. */,
2065  const int collapsedXiSize /*<Length of collapsedXi */,
2066  int *collapsedXi /*<collapsedXi(ni). On return, the collapsed Xi parameter for the ni'th Xi direction. \see OPENCMISS_BasisXiCollapse */);
2067 
2068 /*>Sets/changes the collapsed Xi flags of a basis identified by a user number. */
2069 IRON_C_EXPORT cmfe_Error cmfe_Basis_CollapsedXiSetNum(const int userNumber /*<The user number of the basis to set the collapsed Xi flags for. */,
2070  const int collapsedXiSize /*<Length of collapsedXi */,
2071  const int *collapsedXi /*<collapsedXi(ni). The collapsed Xi parameter for the ni'th Xi direction to set. \see OPENCMISS_BasisXiCollapse */);
2072 
2073 /*>Sets/changes the collapsed Xi flags of a basis identified by an object. */
2074 IRON_C_EXPORT cmfe_Error cmfe_Basis_CollapsedXiSet(cmfe_BasisType basis /*<The basis to set the collapsed Xi flags for. */,
2075  const int collapsedXiSize /*<Length of collapsedXi */,
2076  const int *collapsedXi /*<collapsedXi(ni). The collapsed Xi parameter for the ni'th Xi direction to set. \see OPENCMISS_BasisXiCollapse */);
2077 
2078 /*>Finishes the creation of a new basis identified by a user number. */
2079 IRON_C_EXPORT cmfe_Error cmfe_Basis_CreateFinishNum(const int userNumber /*<The user number of the basis to finish the creation of. */);
2080 
2081 /*>Finishes the creation of a new basis identified by an object. */
2082 IRON_C_EXPORT cmfe_Error cmfe_Basis_CreateFinish(cmfe_BasisType basis /*<The basis to finish the creation of */);
2083 
2084 /*>Starts the creation of a new basis for a basis identified by a user number. */
2085 IRON_C_EXPORT cmfe_Error cmfe_Basis_CreateStartNum(const int userNumber /*<The user number of the basis to start the creation of. */);
2086 
2087 /*>Starts the creation of a new basis for a basis identified by an object. */
2088 IRON_C_EXPORT cmfe_Error cmfe_Basis_CreateStart(const int userNumber /*<The user number of the basis to start the creation of. */,
2089  cmfe_BasisType basis /*<On exit, the newly created basis. */);
2090 
2091 /*>Destroys a basis identified by its basis user number. */
2092 IRON_C_EXPORT cmfe_Error cmfe_Basis_DestroyNum(const int userNumber /*<The user number of the basis to destroy. */);
2093 
2094 /*>Destroys a basis identified by an object. */
2095 IRON_C_EXPORT cmfe_Error cmfe_Basis_Destroy(cmfe_BasisType basis /*<The basis to destroy. */);
2096 
2097 /*>Get the interpolation type in each xi directions for a basis identified by a user number. */
2098 IRON_C_EXPORT cmfe_Error cmfe_Basis_InterpolationXiGetNum(const int userNumber /*<The user number of the basis to get the interpolation xi for. */,
2099  const int interpolationXiSize /*<Length of interpolationXi */,
2100  int *interpolationXi /*<On return, the interpolation xi parameters for each Xi direction \see OPENCMISS_BasisInterpolationSpecifications. */);
2101 
2102 /*>Get the interpolation type in each xi directions for a basis indentified by an object. */
2103 IRON_C_EXPORT cmfe_Error cmfe_Basis_InterpolationXiGet(const cmfe_BasisType basis /*<The basis to get the interpolation xi for. */,
2104  const int interpolationXiSize /*<Length of interpolationXi */,
2105  int *interpolationXi /*<On return, the interpolation xi parameters for each Xi direction \see OPENCMISS_BasisInterpolationSpecifications. */);
2106 
2107 /*>Sets/changes the interpolation type in each xi directions for a basis identified by a user number. */
2108 IRON_C_EXPORT cmfe_Error cmfe_Basis_InterpolationXiSetNum(const int userNumber /*<The user number of the basis to get the interpolation xi for. */,
2109  const int interpolationXiSize /*<Length of interpolationXi */,
2110  const int *interpolationXi /*<The interpolation xi parameters for each Xi direction \see OPENCMISS_BasisInterpolationSpecifications. */);
2111 
2112 /*>Sets/changes the interpolation type in each xi directions for a basis indentified by an object. */
2113 IRON_C_EXPORT cmfe_Error cmfe_Basis_InterpolationXiSet(const cmfe_BasisType basis /*<The basis to get the interpolation xi for. */,
2114  const int interpolationXiSize /*<Length of interpolationXi */,
2115  const int *interpolationXi /*<The interpolation xi parameters for each Xi direction \see OPENCMISS_BasisInterpolationSpecifications. */);
2116 
2117 /*>Returns the number of local nodes in a basis identified by a user number. */
2118 IRON_C_EXPORT cmfe_Error cmfe_Basis_NumberOfLocalNodesGetNum(const int userNumber /*<The user number of the basis to get the interpolation xi for. */,
2119  int *numberOfLocalNodes /*<On return, the number of local nodes in the specified basis. */);
2120 
2121 /*>Returns the number of local nodes in a basis identified by an object. */
2122 IRON_C_EXPORT cmfe_Error cmfe_Basis_NumberOfLocalNodesGet(const cmfe_BasisType basis /*<The basis to get the number of local nodes for. */,
2123  int *numberOfLocalNodes /*<On return, the number of local nodes in the specified basis. */);
2124 
2125 /*>Returns the number of Xi directions in a basis identified by a user number. */
2126 IRON_C_EXPORT cmfe_Error cmfe_Basis_NumberOfXiGetNum(const int userNumber /*<The user number of the basis to get the number xi for. */,
2127  int *numberOfXi /*<On return, the number of xi directions in the specified basis. */);
2128 
2129 /*>Returns the number of Xi directions in a basis identified by an object. */
2130 IRON_C_EXPORT cmfe_Error cmfe_Basis_NumberOfXiGet(const cmfe_BasisType basis /*<The basis to get the number of xi directions for. */,
2131  int *numberOfXi /*<On return, the number of xi directions in the specified basis. */);
2132 
2133 /*>Sets/changes the number of Xi directions in a basis identified by a user number. */
2134 IRON_C_EXPORT cmfe_Error cmfe_Basis_NumberOfXiSetNum(const int userNumber /*<The user number of the basis to set the number xi for. */,
2135  const int numberOfXi /*<The number of xi directions in the specified basis to set. */);
2136 
2137 /*>Sets/changes the number of Xi directions in a basis identified by an object. */
2138 IRON_C_EXPORT cmfe_Error cmfe_Basis_NumberOfXiSet(cmfe_BasisType basis /*<The basis to set the number of xi directions for. */,
2139  const int numberOfXi /*<The number of xi directions in the specified basis to set. */);
2140 
2141 /*>Returns the number of Gauss points in each Xi directions for a basis quadrature identified by a user number. */
2142 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureNumberOfGaussXiGetNum(const int userNumber /*<The user number of the basis to get the number of Gauss Xi for. */,
2143  const int numberOfGaussXiSize /*<Length of numberOfGaussXi */,
2144  int *numberOfGaussXi /*<On return, the number of Gauss points in each Xi directions in the specified basis. */);
2145 
2146 /*>Returns the number Gauss points in each Xi directions for a basis quadrature identified by an object. */
2147 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureNumberOfGaussXiGet(const cmfe_BasisType basis /*<The basis to get the number of Gauss Xi for. */,
2148  const int numberOfGaussXiSize /*<Length of numberOfGaussXi */,
2149  int *numberOfGaussXi /*<On return, the number of Gauss points in each Xi directions in the specified basis. */);
2150 
2151 /*>Sets/changes the number of Gauss points in each Xi directions for a basis quadrature identified by a user number. */
2152 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureNumberOfGaussXiSetNum(const int userNumber /*<The user number of the basis to set the number of Gauss Xi for. */,
2153  const int numberOfGaussXiSize /*<Length of numberOfGaussXi */,
2154  const int *numberOfGaussXi /*<The number of Gauss points in each Xi directions in the specified basis to set. */);
2155 
2156 /*>Sets the number Gauss points in each Xi directions for a basis quadrature identified by an object. */
2157 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureNumberOfGaussXiSet(cmfe_BasisType basis /*<The basis to get the number of Gauss Xi for. */,
2158  const int numberOfGaussXiSize /*<Length of numberOfGaussXi */,
2159  const int *numberOfGaussXi /*<The number of Gauss points in each Xi directions in the specified basis to set. */);
2160 
2161 /*>Returns the xi position of a Gauss point on a basis quadrature identified by a user number. */
2162 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureSingleGaussXiGetNum(const int userNumber /*<The user number of the basis to get the Gauss Xi positions for. */,
2163  const int quadratureScheme /*<The quadrature scheme to return the Gauss positions for. */,
2164  const int GaussPoint /*<The Gauss point to return the element xi positions for. */,
2165  const int GaussXiSize /*<Length of GaussXi */,
2166  double *GaussXi /*<On return, GaussXi(xi_direction) the xi position of the specified Gauss point for the specified quadrature scheme. */);
2167 
2168 /*>Returns the xi position of a Gauss point on a basis quadrature identified by an object. */
2169 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureSingleGaussXiGet(const cmfe_BasisType basis /*<The basis to get the Gauss Xi positions for. */,
2170  const int quadratureScheme /*<The quadrature scheme to return the Gauss xi positions for. */,
2171  const int GaussPoint /*<The Gauss point to return the element xi positions for. */,
2172  const int GaussXiSize /*<Length of GaussXi */,
2173  double *GaussXi /*<On return, GaussXi(xi_direction) the xi position of the specified Gauss point for the specified quadrature scheme. */);
2174 
2175 /*>Returns the xi positions of Gauss points on a basis quadrature identified by a user number. */
2176 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureMultipleGaussXiGetNum(const int userNumber /*<The user number of the basis to get the Gauss Xi positions for. */,
2177  const int quadratureScheme /*<The quadrature scheme to return the Gauss positions for. */,
2178  const int GaussPointsSize /*<Length of GaussPoints */,
2179  const int *GaussPoints /*<The Gauss points to return the element xi positions for. */,
2180  const int GaussXiSize1 /*<Size of dimension 1 of GaussXi */,
2181  const int GaussXiSize2 /*<Size of dimension 2 of GaussXi */,
2182  double *GaussXi /*<On return, GaussXi(Gauss_point,xi_direction) the Gauss xi positions for the specified quadrature scheme. */);
2183 
2184 /*>Returns the xi positions of Gauss points on a basis quadrature identified by an object. */
2185 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureMultipleGaussXiGet(const cmfe_BasisType basis /*<The basis to get the Gauss Xi positions for. */,
2186  const int quadratureScheme /*<The quadrature scheme to return the Gauss xi positions for. */,
2187  const int GaussPointsSize /*<Length of GaussPoints */,
2188  const int *GaussPoints /*<The Gauss points to return the element xi positions for. */,
2189  const int GaussXiSize1 /*<Size of dimension 1 of GaussXi */,
2190  const int GaussXiSize2 /*<Size of dimension 2 of GaussXi */,
2191  double *GaussXi /*<On return, GaussXi(Gauss_point,xi_direction) the Gauss xi positions for the specified quadrature scheme. */);
2192 
2193 /*>Returns the order of quadrature a basis quadrature identified by a user number. */
2194 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureOrderGetNum(const int userNumber /*<The user number of the basis to get the quadrature order for. */,
2195  int *quadratureOrder /*<On return, the order of quadrature in the specified basis. */);
2196 
2197 /*>Returns the the order of quadrature for a basis quadrature identified by an object. */
2198 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureOrderGet(const cmfe_BasisType basis /*<The basis to get the quadrature order for. */,
2199  int *quadratureOrder /*<On return, the order of quadrature in the specified basis. */);
2200 
2201 /*>Sets/changes the order of quadrature a basis quadrature identified by a user number. */
2202 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureOrderSetNum(const int userNumber /*<The user number of the basis to set the quadrature order for. */,
2203  const int quadratureOrder /*<The order of quadrature in the specified basis to set. */);
2204 
2205 /*>Sets/changes the the order of quadrature for a basis quadrature identified by an object. */
2206 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureOrderSet(cmfe_BasisType basis /*<The basis to set the quadrature order for. */,
2207  const int quadratureOrder /*<The order of quadrature in the specified basis to set. */);
2208 
2209 /*>Returns the type of quadrature a basis quadrature identified by a user number. */
2210 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureTypeGetNum(const int userNumber /*<The user number of the basis to get the quadrature type for. */,
2211  int *quadratureType /*<On return, the type of quadrature in the specified basis. \see OPENCMISS_QuadratureTypes */);
2212 
2213 /*>Returns the the type of quadrature for a basis quadrature identified by an object. */
2214 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureTypeGet(const cmfe_BasisType basis /*<The basis to get the quadrature order for. */,
2215  int *quadratureType /*<On return, the type of quadrature in the specified basis. \see OPENCMISS_QuadratureTypes */);
2216 
2217 /*>Sets/changes the type of quadrature a basis quadrature identified by a user number. */
2218 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureTypeSetNum(const int userNumber /*<The user number of the basis to get the quadrature type for. */,
2219  const int quadratureType /*<The type of quadrature in the specified basis to set. \see OPENCMISS_QuadratureTypes */);
2220 
2221 /*>Sets/changes the the type of quadrature for a basis quadrature identified by an object. */
2222 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureTypeSet(cmfe_BasisType basis /*<The basis to get the quadrature type for. */,
2223  const int quadratureType /*<The type of quadrature in the specified basis to set. \see OPENCMISS_QuadratureTypes */);
2224 
2225 /*>Sets/changes the local face Gauss scheme calculation, on a basis identified by a user number. */
2226 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureLocalFaceGaussEvaluateSetNum(const int userNumber /*<The user number of the basis to get the quadrature type for. */,
2227  const cmfe_Bool faceGaussEvaluate /*<The value to set face Gauss evaluation flag to. */);
2228 
2229 /*>Sets/changes the local face Gauss scheme calculation, on a basis identified by an object. */
2230 IRON_C_EXPORT cmfe_Error cmfe_Basis_QuadratureLocalFaceGaussEvaluateSet(cmfe_BasisType basis /*<The basis to get the quadrature type for. */,
2231  const cmfe_Bool faceGaussEvaluate /*<The type of quadrature in the specified basis to set. */);
2232 
2233 /*>Returns the type of a basis identified by a user number. */
2234 IRON_C_EXPORT cmfe_Error cmfe_Basis_TypeGetNum(const int userNumber /*<The user number of the basis to get the type for. */,
2235  int *basisType /*<On return, the type of the specified basis. \see OPENCMISS_BasisTypes */);
2236 
2237 /*>Returns the type of a basis identified by an object. */
2238 IRON_C_EXPORT cmfe_Error cmfe_Basis_TypeGet(const cmfe_BasisType basis /*<The basis to get the type for. */,
2239  int *basisType /*<On return, the type of the specified basis. \see OPENCMISS_BasisTypes */);
2240 
2241 /*>Sets/changes the type of a basis identified by a user number. */
2242 IRON_C_EXPORT cmfe_Error cmfe_Basis_TypeSetNum(const int userNumber /*<The user number of the basis to set the type for. */,
2243  const int basisType /*<The type of the specified basis to set. \see OPENCMISS_BasisTypes */);
2244 
2245 /*>Sets/changes the type of a basis identified by an object. */
2246 IRON_C_EXPORT cmfe_Error cmfe_Basis_TypeSet(cmfe_BasisType basis /*<The basis to set the type for. */,
2247  const int basisType /*<The type of the specified basis to set. \see OPENCMISS_BasisTypes */);
2248 
2249 /*>Destroys the boundary conditions for solver equations identified by a control loop identifier. */
2250 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_DestroyNum(const int problemUserNumber /*<The user number of the problem containing the solver equations to destroy the boundary conditions for. */,
2251  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2252  const int *controlLoopIdentifiers /*<controlLoopIdentifiers(i). The i'th control loop identifier to get the solver equations boundary conditions for. */,
2253  const int solverIndex /*<The solver index to get the solver equations for. */);
2254 
2255 /*>Destroys boundary conditions identified by an object. */
2256 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_Destroy(cmfe_BoundaryConditionsType boundaryConditions /*<The boundary conditions to destroy. */);
2257 
2258 /*>Adds to the value of the specified constant and sets this as a boundary condition on the specified constant for boundary conditions identified by a user number. */
2259 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_AddConstantNum(const int regionUserNumber /*<The user number of the region containing the dependent field to add the boundary conditions for. */,
2260  const int problemUserNumber /*<The user number of the problem containing the solver equations to add the boundary conditions for. */,
2261  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2262  const int *controlLoopIdentifiers /*<controlLoopIdentifiers(i). The i'th control loop identifier to get the solver equations boundary conditions for. */,
2263  const int solverIndex /*<The solver index to get the solver equations for. */,
2264  const int fieldUserNumber /*<The user number of the dependent field for the boundary condition. */,
2265  const int variableType /*<The variable type of the dependent field to add the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2266  const int componentNumber /*<The component number of the dependent field to add the boundary condition at. */,
2267  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2268  const double value /*<The value of the boundary condition to add. */);
2269 
2270 /*>Adds to the value of the specified constant and sets this as a boundary condition on the specified constant for boundary conditions identified by an object. */
2271 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_AddConstant(const cmfe_BoundaryConditionsType boundaryConditions /*<The boundary conditions to add the constant to. */,
2272  const cmfe_FieldType field /*<The dependent field to set the boundary condition on. */,
2273  const int variableType /*<The variable type of the dependent field to set the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2274  const int componentNumber /*<The component number of the dependent field to set the boundary condition at. */,
2275  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2276  const double value /*<The value of the boundary condition to add. */);
2277 
2278 /*>Sets the value of the specified constant as a boundary condition on the specified constant for boundary conditions identified by a user number. */
2279 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_SetConstantNum(const int regionUserNumber /*<The user number of the region containing the equations set to set the boundary conditions for. */,
2280  const int problemUserNumber /*<The user number of the problem containing the solver equations to destroy the boundary conditions for. */,
2281  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2282  const int *controlLoopIdentifiers /*<controlLoopIdentifiers(i). The i'th control loop identifier to get the solver equations boundary conditions for. */,
2283  const int solverIndex /*<The solver index to get the solver equations for. */,
2284  const int variableType /*<The variable type of the dependent field to set the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2285  const int fieldUserNumber /*<The user number of the dependent field for the boundary condition. */,
2286  const int componentNumber /*<The component number of the dependent field to set the boundary condition at. */,
2287  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2288  const double value /*<The value of the boundary condition to set. */);
2289 
2290 /*>Sets the value of the specified constant and sets this as a boundary condition on the specified constant for boundary conditions identified by an object. */
2291 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_SetConstant(const cmfe_BoundaryConditionsType boundaryConditions /*<The boundary conditions to set the constant to. */,
2292  const cmfe_FieldType field /*<The dependent field to set the boundary condition on. */,
2293  const int variableType /*<The variable type of the dependent field to set the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2294  const int componentNumber /*<The component number of the dependent field to set the boundary condition at. */,
2295  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2296  const double value /*<The value of the boundary condition to set. */);
2297 
2298 /*>Adds the value to the specified element and sets this as a boundary condition on the specified element for boundary conditions identified by a user number. */
2299 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_AddElementNum(const int regionUserNumber /*<The user number of the region containing the equations set to add the boundary conditions for. */,
2300  const int problemUserNumber /*<The user number of the problem containing the solver equations to destroy the boundary conditions for. */,
2301  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2302  const int *controlLoopIdentifiers /*<controlLoopIdentifiers(i). The i'th control loop identifier to get the solver equations boundary conditions for. */,
2303  const int solverIndex /*<The solver index to get the solver equations for. */,
2304  const int fieldUserNumber /*<The user number of the dependent field for the boundary condition. */,
2305  const int variableType /*<The variable type of the dependent field to add the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2306  const int elementUserNumber /*<The user number of the element to add the boundary conditions for. */,
2307  const int componentNumber /*<The component number of the dependent field to add the boundary condition at. */,
2308  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2309  const double value /*<The value of the boundary condition to add. */);
2310 
2311 /*>Adds to the value of the specified element and sets this as a boundary condition on the specified element for boundary conditions identified by an object. */
2312 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_AddElement(const cmfe_BoundaryConditionsType boundaryConditions /*<The boundary conditions to add the element to. */,
2313  const cmfe_FieldType field /*<The dependent field to set the boundary condition on. */,
2314  const int variableType /*<The variable type of the dependent field to add the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2315  const int elementUserNumber /*<The user number of the element to add the boundary conditions for. */,
2316  const int componentNumber /*<The component number of the dependent field to set the boundary condition at. */,
2317  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2318  const double value /*<The value of the boundary condition to add. */);
2319 
2320 /*>Sets the value of the specified element as a boundary condition on the specified element for boundary conditions identified by a user number. */
2321 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_SetElementNum(const int regionUserNumber /*<The user number of the region containing the equations set to set the boundary conditions for. */,
2322  const int problemUserNumber /*<The user number of the problem containing the solver equations to destroy the boundary conditions for. */,
2323  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2324  const int *controlLoopIdentifiers /*<controlLoopIdentifiers(i). The i'th control loop identifier to get the solver equations boundary conditions for. */,
2325  const int solverIndex /*<The solver index to get the solver equations for. */,
2326  const int fieldUserNumber /*<The user number of the dependent field for the boundary condition. */,
2327  const int variableType /*<The variable type of the dependent field to set the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2328  const int elementUserNumber /*<The user number of the element to set the boundary conditions for. */,
2329  const int componentNumber /*<The component number of the dependent field to set the boundary condition at. */,
2330  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2331  const double value /*<The value of the boundary condition to set. */);
2332 
2333 /*>Sets the value of the specified element and sets this as a boundary condition on the specified elements for boundary conditions identified by an object. */
2334 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_SetElement(const cmfe_BoundaryConditionsType boundaryConditions /*<The boundary conditions to set the element to. */,
2335  const cmfe_FieldType field /*<The dependent field to set the boundary condition on. */,
2336  const int variableType /*<The variable type of the dependent field to set the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2337  const int elementUserNumber /*<The user number of the element to set the boundary conditions for. */,
2338  const int componentNumber /*<The component number of the dependent field to set the boundary condition at. */,
2339  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2340  const double value /*<The value of the boundary condition to set. */);
2341 
2342 /*>Adds the value to the specified node and sets this as a boundary condition on the specified node for boundary conditions identified by a user number. */
2343 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_AddNodeNum(const int regionUserNumber /*<The user number of the region containing the equations set to add the boundary conditions for. */,
2344  const int problemUserNumber /*<The user number of the problem containing the solver equations to destroy the boundary conditions for. */,
2345  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2346  const int *controlLoopIdentifiers /*<controlLoopIdentifiers(i). The i'th control loop identifier to get the solver equations boundary conditions for. */,
2347  const int solverIndex /*<The solver index to get the solver equations for. */,
2348  const int fieldUserNumber /*<The user number of the dependent field for the boundary condition. */,
2349  const int variableType /*<The variable type of the dependent field to add the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2350  const int versionNumber /*<The user number of the node derivative version to add the boundary conditions for. */,
2351  const int derivativeNumber /*<The user number of the node derivative to add the boundary conditions for. */,
2352  const int nodeUserNumber /*<The user number of the node to add the boundary conditions for. */,
2353  const int componentNumber /*<The component number of the dependent field to add the boundary condition at. */,
2354  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2355  const double value /*<The value of the boundary condition to add. */);
2356 
2357 /*>Adds to the value of the specified node and sets this as a boundary condition on the specified node for boundary conditions identified by an object. */
2358 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_AddNode(const cmfe_BoundaryConditionsType boundaryConditions /*<The boundary conditions to add the node to. */,
2359  const cmfe_FieldType field /*<The dependent field to set the boundary condition on. */,
2360  const int variableType /*<The variable type of the dependent field to add the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2361  const int versionNumber /*<The user number of the node derivative version to add the boundary conditions for. */,
2362  const int derivativeNumber /*<The user number of the node derivative to add the boundary conditions for. */,
2363  const int nodeUserNumber /*<The user number of the node to add the boundary conditions for. */,
2364  const int componentNumber /*<The component number of the dependent field to set the boundary condition at. */,
2365  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2366  const double value /*<The value of the boundary condition to add. */);
2367 
2368 /*>Sets the value of the specified node as a boundary condition on the specified node for boundary conditions identified by a user number. */
2369 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_SetNodeNum(const int regionUserNumber /*<The user number of the region containing the equations set to set the boundary conditions for. */,
2370  const int problemUserNumber /*<The user number of the problem containing the solver equations to destroy the boundary conditions for. */,
2371  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2372  const int *controlLoopIdentifiers /*<controlLoopIdentifiers(i). The i'th control loop identifier to get the solver equations boundary conditions for. */,
2373  const int solverIndex /*<The solver index to get the solver equations for. */,
2374  const int fieldUserNumber /*<The user number of the dependent field for the boundary condition. */,
2375  const int variableType /*<The variable type of the dependent field to set the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2376  const int versionNumber /*<The user number of the node derivative version to set the boundary conditions for. */,
2377  const int derivativeNumber /*<The user number of the node derivative to set the boundary conditions for. */,
2378  const int nodeUserNumber /*<The user number of the node to set the boundary conditions for. */,
2379  const int componentNumber /*<The component number of the dependent field to set the boundary condition at. */,
2380  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2381  const double value /*<The value of the boundary condition to set. */);
2382 
2383 /*>Sets the value of the specified node and sets this as a boundary condition on the specified node for boundary conditions identified by an object. */
2384 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_SetNode(const cmfe_BoundaryConditionsType boundaryConditions /*<The boundary conditions to set the node to. */,
2385  const cmfe_FieldType field /*<The dependent field to set the boundary condition on. */,
2386  const int variableType /*<The variable type of the dependent field to set the boundary condition at. \see OPENCMISS_FieldVariableTypes */,
2387  const int versionNumber /*<The user number of the node derivative version to set the boundary conditions for. */,
2388  const int derivativeNumber /*<The user number of the node derivative to set the boundary conditions for. */,
2389  const int nodeUserNumber /*<The user number of the node to set the boundary conditions for. */,
2390  const int componentNumber /*<The component number of the dependent field to set the boundary condition at. */,
2391  const int condition /*<The boundary condition type to set \see OPENCMISS_BoundaryConditionsTypes,OPENCMISS */,
2392  const double value /*<The value of the boundary condition to set. */);
2393 
2394 /*>Sets the Neumann integration matrix sparsity for boundary conditions identified by a control loop identifier. */
2395 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_NeumannSparsityTypeSetNum(const int problemUserNumber /*<The user number of the problem containing the solver equations to destroy the boundary conditions for. */,
2396  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2397  const int *controlLoopIdentifiers /*<controlLoopIdentifiers(i). The i'th control loop identifier to get the solver equations boundary conditions for. */,
2398  const int solverIndex /*<The solver index to get the solver equations for. */,
2399  const int sparsityType /*<The sparsity type for the Neumann integration matrices. \see OPENCMISS_BoundaryConditionSparsityTypes,OPENCMISS */);
2400 
2401 /*>Sets the Neumann integration matrix sparsity type for the boundary conditions */
2402 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_NeumannSparsityTypeSet(cmfe_BoundaryConditionsType boundaryConditions /*<The boundary conditions */,
2403  const int sparsityType /*<The sparsity type for the Neumann integration matrices. \see OPENCMISS_BoundaryConditionSparsityTypes,OPENCMISS */);
2404 
2405 /*>Constrain multiple nodal equations dependent field DOFs to be a single solver DOF in the solver equations */
2406 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_ConstrainNodeDofsEqualNum(const int regionUserNumber /*<The user number of the region containing the field DOFs to constrain. */,
2407  const int problemUserNumber /*<The user number of the problem containing the solver equations. */,
2408  const int controlLoopIdentifier /*<The control loop identifier to get the solver equations. */,
2409  const int solverIndex /*<The solver index of the solver equations. */,
2410  const int fieldUserNumber /*<The user number of the dependent field containing the DOFs to contrain. */,
2411  const int fieldVariableType /*<The variable type of the dependent field containing the DOFs to constrain. \see OPENCMISS_FieldVariableTypes */,
2412  const int versionNumber /*<The derivative version number. */,
2413  const int derivativeNumber /*<The derivative number. */,
2414  const int component /*<The field component number of the DOFs to be constrained. */,
2415  const int nodesSize /*<Length of nodes */,
2416  const int *nodes /*<The user numbers of the nodes to be constrained to be equal. */,
2417  const double coefficient /*<The coefficient of constraint, applied to all but the first node. */);
2418 
2419 /*>Constrain multiple nodal equations dependent field DOFs to be a single solver DOF in the solver equations */
2420 IRON_C_EXPORT cmfe_Error cmfe_BoundaryConditions_ConstrainNodeDofsEqual(const cmfe_BoundaryConditionsType boundaryConditions /*<The boundary conditions to constrain the DOFs in. */,
2421  const cmfe_FieldType field /*<The equations dependent field containing the field DOFs to be constrained. */,
2422  const int fieldVariableType /*<The field variable type of the DOFs to be constrained. \see OPENCMISS_FieldVariableTypes */,
2423  const int versionNumber /*<The derivative version number. */,
2424  const int derivativeNumber /*<The derivative number. */,
2425  const int component /*<The field component number of the DOFs to be constrained. */,
2426  const int nodesSize /*<Length of nodes */,
2427  const int *nodes /*<The user numbers of the nodes to be constrained to be equal. */,
2428  const double coefficient /*<The coefficient of constraint, applied to all but the first node. */);
2429 
2430 /*>Returns the error handling mode for OpenCMISS */
2431 IRON_C_EXPORT cmfe_Error cmfe_ErrorHandlingModeGet(int *errorHandlingMode /*<On return, the error handling mode. \see OPENCMISS_CMISSErrorHandlingModes,OPENCMISS */);
2432 
2433 /*>Sets the error handling mode for OpenCMISS */
2434 IRON_C_EXPORT cmfe_Error cmfe_ErrorHandlingModeSet(const int errorHandlingMode /*<The error handling mode to set. \see OPENCMISS_CMISSErrorHandlingModes,OPENCMISS */);
2435 
2436 /*>Extracts the most recent error string for OpenCMISS */
2437 IRON_C_EXPORT cmfe_Error cmfe_ExtractErrorMessage(const int errorMessageSize /*<Length of errorMessage string */,
2438  char *errorMessage /*<On return, the extracted error message. */);
2439 
2440 /*>Returns the random seeds for OpenCMISS */
2441 IRON_C_EXPORT cmfe_Error cmfe_RandomSeedsGet(const int randomSeedsSize /*<Length of randomSeeds */,
2442  int *randomSeeds /*<On return, the random seeds. */);
2443 
2444 /*>Returns the size of the random seeds array for OpenCMISS */
2445 IRON_C_EXPORT cmfe_Error cmfe_RandomSeedsSizeGet(int *randomSeedsSize /*<On return, the size of the random seeds array. */);
2446 
2447 /*>Sets the random seeds for OpenCMISS */
2448 IRON_C_EXPORT cmfe_Error cmfe_RandomSeedsSet(const int randomSeedsSize /*<Length of randomSeeds */,
2449  const int *randomSeeds /*<The random seeds to set. */);
2450 
2451 /*>Sets a CellML model variable to be known by user number. */
2452 IRON_C_EXPORT cmfe_Error cmfe_CellML_VariableSetAsKnownNum(const int regionUserNumber /*<The user number of the region containing the CellML enviroment. */,
2453  const int CellMLUserNumber /*<The user number of the CellML enviroment. */,
2454  const int CellMLModelUserNumber /*<The user number of the CellML model in which to find the given variable. */,
2455  const int variableIDSize /*<Length of variableID string */,
2456  const char *variableID /*<The CellML variable to set as known (in the format 'component_name/variable_name'). */);
2457 
2458 /*>Sets a CellML model variable to be known by object. */
2459 IRON_C_EXPORT cmfe_Error cmfe_CellML_VariableSetAsKnown(const cmfe_CellMLType CellML /*<The CellML enviroment. */,
2460  const int CellMLModelUserNumber /*<The user number of the CellML model in which to find the given variable. */,
2461  const int variableIDSize /*<Length of variableID string */,
2462  const char *variableID /*<The CellML variable to set as known (in the format 'component_name/variable_name'). */);
2463 
2464 /*>Sets a CellML model variable to be wanted by user number. */
2465 IRON_C_EXPORT cmfe_Error cmfe_CellML_VariableSetAsWantedNum(const int regionUserNumber /*<The user number of the region containing the CellML enviroment. */,
2466  const int CellMLUserNumber /*<The user number of the CellML enviroment. */,
2467  const int CellMLModelUserNumber /*<The user number of the CellML model in which to find the given variable. */,
2468  const int variableIDSize /*<Length of variableID string */,
2469  const char *variableID /*<The CellML variable to set as wanted (in the format 'component_name/variable_name'). */);
2470 
2471 /*>Sets a CellML model variable to be wanted by object. */
2472 IRON_C_EXPORT cmfe_Error cmfe_CellML_VariableSetAsWanted(const cmfe_CellMLType CellML /*<The CellML enviroment. */,
2473  const int CellMLModelUserNumber /*<The user number of the CellML model in which to find the given variable. */,
2474  const int variableIDSize /*<Length of variableID string */,
2475  const char *variableID /*<The CellML variable to set as wanted (in the format 'component_name/variable_name'). */);
2476 
2477 /*>Defines a CellML model variable to field variable component map by user number */
2478 IRON_C_EXPORT cmfe_Error cmfe_CellML_CreateCellMLToFieldMapNum(const int regionUserNumber /*<The user number of the region containing the CellML enviroment. */,
2479  const int CellMLUserNumber /*<The user number of the CellML enviroment. */,
2480  const int CellMLModelUserNumber /*<The user number of the CellML model to map fom. */,
2481  const int variableIDSize /*<Length of variableID string */,
2482  const char *variableID /*<The of the CellML variable in the given model to map from. */,
2483  const int CellMLParameterSet /*<The CellML variable parameter set to map from. */,
2484  const int fieldUserNumber /*<The user number of the field to map to */,
2485  const int variableType /*<The field variable type to map to. */,
2486  const int componentNumber /*<The field variable component number to map to. */,
2487  const int fieldParameterSet /*<The field variable parameter set to map to. */);
2488 
2489 /*>Defines a CellML model variable to field variable component map by object. */
2490 IRON_C_EXPORT cmfe_Error cmfe_CellML_CreateCellMLToFieldMap(const cmfe_CellMLType CellML /*<The CellML enviroment. */,
2491  const int CellMLModelUserNumber /*<The user number of the CellML model to map from. */,
2492  const int variableIDSize /*<Length of variableID string */,
2493  const char *variableID /*<The of the CellML variable in the given model to map from. */,
2494  const int CellMLParameterSet /*<The CellML variable parameter set to map from. */,
2495  const cmfe_FieldType field /*<The field to map to. */,
2496  const int variableType /*<The field variable type to map to. */,
2497  const int componentNumber /*<The field variable component number to. */,
2498  const int fieldParameterSet /*<The field variable parameter set to map to. */);
2499 
2500 /*>Defines a field variable component to CellML model variable map by user number. */
2501 IRON_C_EXPORT cmfe_Error cmfe_CellML_CreateFieldToCellMLMapNum(const int regionUserNumber /*<The user number of the region containing the CellML enviroment. */,
2502  const int CellMLUserNumber /*<The user number of the CellML enviroment. */,
2503  const int fieldUserNumber /*<The user number of the field to map from. */,
2504  const int variableType /*<The field variable type to map from. */,
2505  const int componentNumber /*<The field variable component number to map from. */,
2506  const int fieldParameterSet /*<The field variable parameter set to map from. */,
2507  const int CellMLModelUserNumber /*<The user number of the CellML model to map to. */,
2508  const int variableIDSize /*<Length of variableID string */,
2509  const char *variableID /*<The of the CellML variable in the given model to map to. */,
2510  const int CellMLParameterSet /*<The CellML variable parameter set to map to. */);
2511 
2512 /*>Defines a field variable component to CellML model variable map by object. */
2513 IRON_C_EXPORT cmfe_Error cmfe_CellML_CreateFieldToCellMLMap(const cmfe_CellMLType CellML /*<The CellML enviroment. */,
2514  const cmfe_FieldType field /*<The field to map from. */,
2515  const int variableType /*<The field variable to map from. */,
2516  const int componentNumber /*<The component number to map from the given field variable. */,
2517  const int fieldParameterSet /*<The field variable parameter set to map from. */,
2518  const int CellMLModelUserNumber /*<The user number of the CellML model to map to. */,
2519  const int variableIDSize /*<Length of variableID string */,
2520  const char *variableID /*<The of the CellML variable in the given model to map to. */,
2521  const int CellMLParameterSet /*<The CellML variable parameter set to map to. */);
2522 
2523 /*>Finishes the creation of a CellML environment identified by a user number. */
2524 IRON_C_EXPORT cmfe_Error cmfe_CellML_CreateFinishNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2525  const int CellMLUserNumber /*<The user number of the CellML enviroment to finish creating. */);
2526 
2527 /*>Finish the creation of a CellML environment identified by an object. */
2528 IRON_C_EXPORT cmfe_Error cmfe_CellML_CreateFinish(cmfe_CellMLType CellML /*<The CellML environment to finish the creation of. */);
2529 
2530 /*>Starts the creation of a CellML environment identified by a user number. */
2531 IRON_C_EXPORT cmfe_Error cmfe_CellML_CreateStartNum(const int CellMLUserNumber /*<The user number of the CellML enviroment to start creating. */,
2532  const int regionUserNumber /*<The user number of the Region containing the field to start the CellML enviroment creation on. */);
2533 
2534 /*>Start the creation of a CellML environment identified by an object. */
2535 IRON_C_EXPORT cmfe_Error cmfe_CellML_CreateStart(const int CellMLUserNumber /*<The user number of the CellML enviroment to start creating. */,
2536  const cmfe_RegionType region /*<The region containing the field to start the CellML enviroment creation on. */,
2537  cmfe_CellMLType CellML /*<On return, the created CellML environment. */);
2538 
2539 /*>Destroys a CellML environment identified by a user number. */
2540 IRON_C_EXPORT cmfe_Error cmfe_CellML_DestroyNum(const int regionUserNumber /*<The user number of the region containing the CellML enviroment to destroy. */,
2541  const int CellMLUserNumber /*<The user number of the CellML enviroment to destroy. */);
2542 
2543 /*>Destroy a CellML environment identified by an object. */
2544 IRON_C_EXPORT cmfe_Error cmfe_CellML_Destroy(cmfe_CellMLType CellML /*<The CellML environment to destroy. */);
2545 
2546 /*>Finishes the creation of field maps for a CellML environment identified by a user number. */
2547 IRON_C_EXPORT cmfe_Error cmfe_CellML_FieldMapsCreateFinishNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2548  const int CellMLUserNumber /*<The user number of the CellML enviroment to finish creating. */);
2549 
2550 /*>Finish the creation of field maps for a CellML environment identified by an object. */
2551 IRON_C_EXPORT cmfe_Error cmfe_CellML_FieldMapsCreateFinish(cmfe_CellMLType CellML /*<The CellML environment to finish the creation of maps for. */);
2552 
2553 /*>Starts the creation of field maps for a CellML environment identified by a user number. */
2554 IRON_C_EXPORT cmfe_Error cmfe_CellML_FieldMapsCreateStartNum(const int regionUserNumber /*<The user number of the Region containing the CellML enviroment. */,
2555  const int CellMLUserNumber /*<The user number of the CellML enviroment to start creating the maps for. */);
2556 
2557 /*>Start the creation of field maps for a CellML environment identified by an object. */
2558 IRON_C_EXPORT cmfe_Error cmfe_CellML_FieldMapsCreateStart(cmfe_CellMLType CellML /*<The CellML environment object to start the creation of maps for. */);
2559 
2560 /*>Imports a specified CellML model as specified by a character URI into a CellML environment identified by a user number. */
2561 IRON_C_EXPORT cmfe_Error cmfe_CellML_ModelImportNum(const int regionUserNumber /*<The user number of the region containing the CellML enviroment to import the model into. */,
2562  const int CellMLUserNumber /*<The user number of the CellML enviroment to import the model into. */,
2563  const int URISize /*<Length of URI string */,
2564  const char *URI /*<The URI of the CellML model to import. */,
2565  int *modelIndex /*<On return, the index of the imported model. */);
2566 
2567 /*>Imports a specified CellML model as specified by a character URI into a CellML environment identified by an object. */
2568 IRON_C_EXPORT cmfe_Error cmfe_CellML_ModelImport(cmfe_CellMLType CellML /*<The CellML environment to import the model into. */,
2569  const int URISize /*<Length of URI string */,
2570  const char *URI /*<The URI of the CellML model to import. */,
2571  int *modelIndex /*<On return, the index of the imported model. */);
2572 
2573 /*>Finishes the creation of CellML models field for a CellML environment identified by a user number. */
2574 IRON_C_EXPORT cmfe_Error cmfe_CellML_ModelsFieldCreateFinishNum(const int regionUserNumber /*<The user number of the region containing the CellML enviroment to finish creating. */,
2575  const int CellMLUserNumber /*<The user number of the CellML enviroment to finish creating the models field for. */);
2576 
2577 /*>Finish the creation of CellML models field for a CellML environment identified by an object. */
2578 IRON_C_EXPORT cmfe_Error cmfe_CellML_ModelsFieldCreateFinish(cmfe_CellMLType CellML /*<The CellML environment to finish the creation of the models field for. */);
2579 
2580 /*>Starts the creation of CellML models field for a CellML environment identified by a user number. */
2581 IRON_C_EXPORT cmfe_Error cmfe_CellML_ModelsFieldCreateStartNum(const int regionUserNumber /*<The user number of the region containing the CellML enviroment. */,
2582  const int CellMLUserNumber /*<The user number of the CellML environment to start creating the models field for. */,
2583  const int CellMLModelsFieldUserNumber /*<The user number of the CellML models field to start creating. */);
2584 
2585 /*>Start the creation of CellML models field for a CellML environment identified by an object. */
2586 IRON_C_EXPORT cmfe_Error cmfe_CellML_ModelsFieldCreateStart(cmfe_CellMLType CellML /*<The CellML environment to start the creation of models field for. */,
2587  const int CellMLModelsFieldUserNumber /*<The user number of the CellML models field to start creating. */,
2588  cmfe_FieldType field /*<On return, the created CellML models field. */);
2589 
2590 /*>Returns the CellML models field for a CellML environment identified by a user number. */
2591 IRON_C_EXPORT cmfe_Error cmfe_CellML_ModelsFieldGetNum(const int regionUserNumber /*<The user number of the region containing the CellML enviroment to get the CellML models field for. */,
2592  const int CellMLUserNumber /*<The user number of the CellML enviroment to get the CellML models field for. */,
2593  int *CellMLModelsFieldUserNumber /*<On return, the user number of the CellML models field. */);
2594 
2595 /*>Returns the CellML models field for a CellML environment identified by an object. */
2596 IRON_C_EXPORT cmfe_Error cmfe_CellML_ModelsFieldGet(cmfe_CellMLType CellML /*<The CellML environment to get the models field for. */,
2597  cmfe_FieldType field /*<On return, the CellML models field. Must not be associated on entry. */);
2598 
2599 /*>Finishes the creation of CellML state field for a CellML environment identified by a user number. */
2600 IRON_C_EXPORT cmfe_Error cmfe_CellML_StateFieldCreateFinishNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2601  const int CellMLUserNumber /*<The user number of the CellML enviroment to finish creating the state field for. */);
2602 
2603 /*>Finish the creation of CellML state field for a CellML environment identified by an object. */
2604 IRON_C_EXPORT cmfe_Error cmfe_CellML_StateFieldCreateFinish(cmfe_CellMLType CellML /*<The CellML environment to finish the creation of the state field for. */);
2605 
2606 /*>Starts the creation of CellML state field for a CellML environment identified by a user number. */
2607 IRON_C_EXPORT cmfe_Error cmfe_CellML_StateFieldCreateStartNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2608  const int CellMLUserNumber /*<The user number of the CellML environment to start creating the state field for. */,
2609  const int CellMLStateFieldUserNumber /*<The user number of the CellML state field to start creating. */);
2610 
2611 /*>Start the creation of CellML state field for a CellML environment identified by an object. */
2612 IRON_C_EXPORT cmfe_Error cmfe_CellML_StateFieldCreateStart(cmfe_CellMLType CellML /*<The CellML environment to start the creation of state field for. */,
2613  const int CellMLStateFieldUserNumber /*<The user number of the CellML state field to start creating. */,
2614  cmfe_FieldType field /*<On return, the created CellML state field. */);
2615 
2616 /*>Returns the CellML state field for a CellML environment identified by a user number. */
2617 IRON_C_EXPORT cmfe_Error cmfe_CellML_StateFieldGetNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2618  const int CellMLUserNumber /*<The user number of the CellML enviroment to get the CellML state field for. */,
2619  int *CellMLStateFieldUserNumber /*<On return, the user number of the CellML state field. */);
2620 
2621 /*>Returns the CellML state field for a CellML environment identified by an object. */
2622 IRON_C_EXPORT cmfe_Error cmfe_CellML_StateFieldGet(cmfe_CellMLType CellML /*<The CellML environment to get the state field for. */,
2623  cmfe_FieldType field /*<On return, the CellML state field. */);
2624 
2625 /*>Returns the field component number that corresponds to a character string VariableID for a CellML environment identified by a user number. */
2626 IRON_C_EXPORT cmfe_Error cmfe_CellML_FieldComponentGetNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2627  const int CellMLUserNumber /*<The user number of the CellML enviroment to get the field component for. */,
2628  const int CellMLModelUserNumber /*<The user number of the CellML model to map fom. */,
2629  const int CellMLFieldType /*<The type of CellML field to get the component for. \see OPENCMISS_CellMLFieldTypes,OPENCMISS */,
2630  const int variableIDSize /*<Length of variableID string */,
2631  const char *variableID /*<The variable ID to get the corresponding field component for. */,
2632  int *fieldComponent /*<On return, the field component corresponding to the ID. */);
2633 
2634 /*>Returns the field component number that corresponds to a character string variable ID for a CellML environment identified by an object. */
2635 IRON_C_EXPORT cmfe_Error cmfe_CellML_FieldComponentGet(cmfe_CellMLType CellML /*<The CellML environment to get the field component for. */,
2636  const int CellMLModelUserNumber /*<The user number of the CellML model to map from. */,
2637  const int CellMLFieldType /*<The type of CellML field to get the component for. \see OPENCMISS_CellMLFieldTypes,OPENCMISS */,
2638  const int variableIDSize /*<Length of variableID string */,
2639  const char *variableID /*<The ID to get the corresponding field component for. */,
2640  int *fieldComponent /*<On return, the field component corresponding to the ID. */);
2641 
2642 /*>Finishes the creation of CellML intermediate field for a CellML environment identified by a user number. */
2643 IRON_C_EXPORT cmfe_Error cmfe_CellML_IntermediateFieldCreateFinishNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2644  const int CellMLUserNumber /*<The user number of the CellML enviroment to finish creating the intermediate field for. */);
2645 
2646 /*>Finish the creation of CellML intermediate field for a CellML environment identified by an object. */
2647 IRON_C_EXPORT cmfe_Error cmfe_CellML_IntermediateFieldCreateFinish(cmfe_CellMLType CellML /*<The CellML environment to finish the creation of the intermediate field for. */);
2648 
2649 /*>Starts the creation of CellML intermediate field for a CellML environment identified by a user number. */
2650 IRON_C_EXPORT cmfe_Error cmfe_CellML_IntermediateFieldCreateStartNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2651  const int CellMLUserNumber /*<The user number of the CellML environment to start creating the intermediate field for. */,
2652  const int CellMLIntermediateFieldUserNumber /*<The user number of the CellML intermediate field to start creating. */);
2653 
2654 /*>Start the creation of CellML intermediate field for a CellML environment identified by an object. */
2655 IRON_C_EXPORT cmfe_Error cmfe_CellML_IntermediateFieldCreateStart(cmfe_CellMLType CellML /*<The CellML environment to start the creation of intermediate field for. */,
2656  const int CellMLIntermediateFieldUserNumber /*<The user number of the CellML intermediate field to start creating. */,
2657  cmfe_FieldType field /*<On return, the created CellML intermediate field. */);
2658 
2659 /*>Returns the CellML intermediate field for a CellML environment identified by a user number. */
2660 IRON_C_EXPORT cmfe_Error cmfe_CellML_IntermediateFieldGetNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2661  const int CellMLUserNumber /*<The user number of the CellML enviroment to get the CellML intermediate field for. */,
2662  int *CellMLIntermediateFieldUserNumber /*<On return, the user number of the CellML intermediate field. */);
2663 
2664 /*>Returns the CellML intermediate field for a CellML environment identified by an object. */
2665 IRON_C_EXPORT cmfe_Error cmfe_CellML_IntermediateFieldGet(cmfe_CellMLType CellML /*<The CellML environment to get the intermediate field for. */,
2666  cmfe_FieldType field /*<On return, the CellML intermediate field. */);
2667 
2668 /*>Finishes the creation of CellML parameters field for a CellML environment identified by a user number. */
2669 IRON_C_EXPORT cmfe_Error cmfe_CellML_ParametersFieldCreateFinishNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2670  const int CellMLUserNumber /*<The user number of the CellML enviroment to finish creating the parameters field for. */);
2671 
2672 /*>Finish the creation of CellML parameters field for a CellML environment identified by an object. */
2673 IRON_C_EXPORT cmfe_Error cmfe_CellML_ParametersFieldCreateFinish(cmfe_CellMLType CellML /*<The CellML environment to finish the creation of the parameters field for. */);
2674 
2675 /*>Starts the creation of CellML parameters field for a CellML environment identified by a user number. */
2676 IRON_C_EXPORT cmfe_Error cmfe_CellML_ParametersFieldCreateStartNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2677  const int CellMLUserNumber /*<The user number of the CellML environment to start creating the parameters field for. */,
2678  const int CellMLParametersFieldUserNumber /*<The user number of the CellML parameters field to start creating. */);
2679 
2680 /*>Start the creation of CellML parameters field for a CellML environment identified by an object. */
2681 IRON_C_EXPORT cmfe_Error cmfe_CellML_ParametersFieldCreateStart(cmfe_CellMLType CellML /*<The CellML environment to start the creation of parameters field for. */,
2682  const int CellMLParametersFieldUserNumber /*<The user number of the CellML parameters field to start creating. */,
2683  cmfe_FieldType field /*<On return, the created CellML parameters field. */);
2684 
2685 /*>Returns the CellML parameters field for a CellML environment identified by a user number. */
2686 IRON_C_EXPORT cmfe_Error cmfe_CellML_ParametersFieldGetNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2687  const int CellMLUserNumber /*<The user number of the CellML enviroment to get the CellML parameters field for. */,
2688  int *CellMLParametersFieldUserNumber /*<On return, the user number of the CellML parameters field. */);
2689 
2690 /*>Returns the CellML parameters field for a CellML environment identified by an object. */
2691 IRON_C_EXPORT cmfe_Error cmfe_CellML_ParametersFieldGet(cmfe_CellMLType CellML /*<The CellML environment to get the parameters field for. */,
2692  cmfe_FieldType field /*<On return, the CellML parameters field. */);
2693 
2694 /*>Validiate and instantiate a CellML environment identified by a user number. */
2695 IRON_C_EXPORT cmfe_Error cmfe_CellML_GenerateNum(const int regionUserNumber /*<The user number of the region containing the CellML environment. */,
2696  const int CellMLUserNumber /*<The user number of the CellML enviroment to generate. */);
2697 
2698 /*>Validiate and instantiate a CellML environment identified by an object. */
2699 IRON_C_EXPORT cmfe_Error cmfe_CellML_Generate(cmfe_CellMLType CellML /*<The CellML environment to generate. */);
2700 
2701 /*>Returns the computational node number of the running process. */
2702 IRON_C_EXPORT cmfe_Error cmfe_ComputationalNodeNumberGet(int *nodeNumber /*<On return, the computational node number. */);
2703 
2704 /*>Returns the number of computational nodes for the running process. */
2705 IRON_C_EXPORT cmfe_Error cmfe_ComputationalNumberOfNodesGet(int *numberOfNodes /*<On return, the number of computational nodes. */);
2706 
2707 /*>CREATE THE HIGHEST LEVEL WORK GROUP (DEFAULT: GROUP_WORLD) */
2709  const int numberComputationalNodes /*< */);
2710 
2711 /*>GENERATE THE HIERARCHY COMPUTATIONAL ENVIRONMENT BASED ON WORK GROUP TREE */
2713 
2714 /*>ADD WORK SUB-GROUP TO THE PARENT GROUP BASED ON THE COMPUTATIONAL REQUIREMENTS (CALLED BY THE USER) */
2716  const int numberComputationalNodes /*< */,
2717  cmfe_ComputationalWorkGroupType addedWorkGroup /*< */);
2718 
2719 /*>Set the working group tree in order to performe mesh decomposition */
2721  const cmfe_ComputationalWorkGroupType worldWorkGroup /*< */);
2722 
2723 /*>Gets the current time parameters for a time control loop identified by user numbers. */
2724 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_CurrentTimesGetNum(const int problemUserNumber /*<The user number of the problem to get the control loop for. */,
2725  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2726  const int *controlLoopIdentifiers /*<controlLoopIdentifiers(i). The i'th control loop identifier to get the control loop for. */,
2727  double *currentTime /*<On return, the current time of the time control loop. */,
2728  double *timeIncrement /*<On return, the current time increment of the time control loop. */);
2729 
2730 /*>Gets the current time parameters for a time control loop identified by an object. */
2731 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_CurrentTimesGet(const cmfe_ControlLoopType controlLoop /*<The control loop to get the current times for. */,
2732  double *currentTime /*<On return, the current time of the time control loop. */,
2733  double *timeIncrement /*<On return, the current time increment of the time control loop. */);
2734 
2735 /*>Destroys a control loop identified by user numbers. */
2736 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_DestroyNum(const int problemUserNumber /*<The user number of the problem to destroy the control loop for. */,
2737  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2738  const int *controlLoopIdentifiers /*<The control loop identifiers. */);
2739 
2740 /*>Destroys a control loop identified by an object. */
2741 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_Destroy(cmfe_ControlLoopType controlLoop /*<The control loop to destroy. */);
2742 
2743 /*>Returns the specified control loop as indexed by the control loop identifier from the control loop root identified by user numbers. */
2744 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_ControlLoopGetNum(const int problemUserNumber /*<The user number of the problem to get the control loop for. */,
2745  const int controlLoopRootIdentifiersSize /*<Length of controlLoopRootIdentifiers */,
2746  const int *controlLoopRootIdentifiers /*<The root control loop identifiers. */,
2747  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2748  const int *controlLoopIdentifiers /*<The control loop identifiers. */,
2749  cmfe_ControlLoopType controlLoop /*<On return, the specified control loop. */);
2750 
2751 /*>Returns the specified control loop as indexed by the control loop identifiers from the control loop root. */
2752 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_ControlLoopGet(const cmfe_ControlLoopType controlLoopRoot /*<The root control loop. */,
2753  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2754  int *controlLoopIdentifiers /*<The control loop identifiers. */,
2755  cmfe_ControlLoopType *controlLoop /*<On return, the specified control loop. */);
2756 
2757 /*>Sets/changes the iteration parameters for a fixed control loop identified by user numbers. */
2758 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_IterationsSetNum(const int problemUserNumber /*<The user number of the problem to set the iteration parameters for. */,
2759  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2760  const int *controlLoopIdentifiers /*<The control loop identifiers. */,
2761  const int startIteration /*<The start iteration of the fixed control loop to set. */,
2762  const int stopIteration /*<The stop iteration of the fixed control loop to set. */,
2763  const int iterationIncrement /*<The iteration increment of the fixed control loop to set. */);
2764 
2765 /*>Sets/changes the iteration parameters for a fixed control loop identified by an object. */
2766 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_IterationsSet(cmfe_ControlLoopType controlLoop /*<The control loop to set the iteration parameters for. */,
2767  const int startIteration /*<The start iteration of the fixed control loop to set. */,
2768  const int stopIteration /*<The stop iteration of the fixed control loop to set. */,
2769  const int iterationIncrement /*<The iteration increment of the fixed control loop to set. */);
2770 
2771 /*>Returns the character string label for a control loop identified by an user number. */
2772 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_LabelGetNum(const int problemUserNumber /*<The user number of the problem to set the label for. */,
2773  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2774  const int *controlLoopIdentifiers /*<The control loop identifiers. */,
2775  const int labelSize /*<Length of label string */,
2776  char *label /*<On return, the control loop label. */);
2777 
2778 /*>Returns the character string label for a control loop identified by an object. */
2779 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_LabelGet(const cmfe_ControlLoopType controlLoop /*<The control loop to get the label for. */,
2780  const int labelSize /*<Length of label string */,
2781  char *label /*<On return, the region label. */);
2782 
2783 /*>Sets/changes the character string label for a control loop identified by an user number. */
2784 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_LabelSetNum(const int problemUserNumber /*<The user number of the problem to set the label for. */,
2785  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2786  const int *controlLoopIdentifiers /*<The control loop identifiers. */,
2787  const int labelSize /*<Length of label string */,
2788  const char *label /*<The region label to set. */);
2789 
2790 /*>Sets/changes the character string label for a control loop identified by an object. */
2791 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_LabelSet(const cmfe_ControlLoopType controlLoop /*<The control loop to set the label for. */,
2792  const int labelSize /*<Length of label string */,
2793  const char *label /*<The control loop label to set. */);
2794 
2795 /*>Sets/changes the maximum iterations for a while control loop identified by user numbers. */
2796 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_MaximumIterationsSetNum(const int problemUserNumber /*<The user number of the problem to set the maximum iterations for. */,
2797  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2798  const int *controlLoopIdentifiers /*<The control loop identifiers. */,
2799  const int maximumIterations /*<The maximum iterations of the while control loop to set. */);
2800 
2801 /*>Sets/changes the maximum iterations for a while control loop identified by an object. */
2802 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_MaximumIterationsSet(cmfe_ControlLoopType controlLoop /*<The control loop to set the maximum iterations for. */,
2803  const int maximumIterations /*<The maximum iterations of the while control loop to set. */);
2804 
2805 /*>Sets/changes the output parameters for a load control loop identified by an object. */
2806 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_LoadOutputSet(cmfe_ControlLoopType controlLoop /*<The control loop to set the output parameters for. */,
2807  const int outputFrequency /*<The output frequency modulo to set. */);
2808 
2809 /*>Sets/changes the maximum iterations for a while control loop identified by user numbers. */
2810 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_AbsoluteToleranceSetNum(const int problemUserNumber /*<The user number of the problem to set the maximum iterations for. */,
2811  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2812  const int *controlLoopIdentifiers /*<The control loop identifiers. */,
2813  const double absoluteTolerance /*<The absolute tolerance value for a control loop. */);
2814 
2815 /*>Sets/changes the maximum iterations for a while control loop identified by an object. */
2816 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_AbsoluteToleranceSet(cmfe_ControlLoopType controlLoop /*<The control loop to set the maximum iterations for. */,
2817  const double absoluteTolerance /*<The absolute tolerance value for a control loop. */);
2818 
2819 /*>Gets the number of iterations for a time control loop identified by user numbers. */
2820 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_NumberOfIterationsGetNum(const int problemUserNumber /*<The user number of the problem to get the number of iterations for. */,
2821  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2822  const int *controlLoopIdentifiers /*<The control loop identifiers to get the number of iterations for. */,
2823  int *numberOfIterations /*<The number of iterations */);
2824 
2825 /*>Gets the number of iterations for a time control loop identified by an object. */
2826 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_NumberOfIterationsGet(const cmfe_ControlLoopType controlLoop /*<The control loop to get the number of iterations for. */,
2827  int *numberOfIterations /*<The number of iterations */);
2828 
2829 /*>Sets the number of iterations for a time control loop identified by user numbers. */
2830 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_NumberOfIterationsSetNum(const int problemUserNumber /*<The user number of the problem to set the number of iterations for. */,
2831  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2832  const int *controlLoopIdentifiers /*<The control loop identifiers to set the number of iterations for. */,
2833  const int numberOfIterations /*<The number of iterations to set */);
2834 
2835 /*>Sets the number of iterations for a time control loop identified by an object. */
2836 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_NumberOfIterationsSet(const cmfe_ControlLoopType controlLoop /*<The control loop to set the number of iterations for. */,
2837  const int numberOfIterations /*<The number of iterations to set */);
2838 
2839 /*>Returns the number of sub-control loops for a control loop identified by user numbers. */
2840 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_NumberOfSubLoopsGetNum(const int problemUserNumber /*<The user number of the problem to get the number of sub loops for for. */,
2841  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2842  const int *controlLoopIdentifiers /*<The control loop identifiers. */,
2843  int *numberOfSubLoops /*<On return, the number of sub loops for the specified control loop. */);
2844 
2845 /*>Returns the number of sub-control loops for a control loop identified by an object. */
2846 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_NumberOfSubLoopsGet(const cmfe_ControlLoopType controlLoop /*<The control loop to get the number of sub loops for. */,
2847  int *numberOfSubLoops /*<On return, the number of sub loops for the specified control loop. */);
2848 
2849 /*>Sets/changes the number of sub-control loops for a control loop identified by user numbers. \todo is this really public??? */
2850 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_NumberOfSubLoopsSetNum(const int problemUserNumber /*<The user number of the problem to set the number of sub loops for. */,
2851  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2852  const int *controlLoopIdentifiers /*<The control loop identifiers. */,
2853  const int numberOfSubLoops /*<The number of sub loops for the specified control loop to set. */);
2854 
2855 /*>Sets/changes the number of sub-control loops for a control loop identified by an object. \todo is this really public??? */
2856 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_NumberOfSubLoopsSet(cmfe_ControlLoopType controlLoop /*<The control loop to set the number of sub loops for. */,
2857  const int numberOfSubLoops /*<The number of sub loops for the specified control loop. */);
2858 
2859 /*>Returns the output type for a control loop identified by user numbers. */
2860 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_OutputTypeGetNum(const int problemUserNumber /*<The user number of the problem to get the output type for. */,
2861  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2862  const int *controlLoopIdentifiers /*<The control loop identifiers to get the output type for. */,
2863  int *outputType /*<On return, the output type of the control loop \see OPENCMISS_ControlLoopOutputTypes */);
2864 
2865 /*>Returns the output type for a control loop identified by an object. */
2866 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_OutputTypeGet(const cmfe_ControlLoopType controlLoop /*<The control loop to get the output type for. */,
2867  int *outputType /*<On return, the output type of the control loop \see OPENCMISS_ControlLoopOutputTypes */);
2868 
2869 /*>Sets the output type for a control loop identified by user numbers. */
2870 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_OutputTypeSetNum(const int problemUserNumber /*<The user number of the problem to set the output type for. */,
2871  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2872  const int *controlLoopIdentifiers /*<The control loop identifiers to set the output type for. */,
2873  const int outputType /*<The output type to set \see OPENCMISS_ControlLoopOutputTypes */);
2874 
2875 /*>Sets the output type for a control loop identified by an object. */
2876 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_OutputTypeSet(const cmfe_ControlLoopType controlLoop /*<The control loop to set the output type for. */,
2877  const int outputType /*<The output type to set \see OPENCMISS_ControlLoopOutputTypes */);
2878 
2879 /*>Sets/changes the output parameters for a time control loop identified by user numbers. */
2880 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_TimeOutputSetNum(const int problemUserNumber /*<The user number of the problem to get the output parameters for. */,
2881  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2882  const int *controlLoopIdentifiers /*<The control loop identifier. */,
2883  const int outputFrequency /*<The output frequency modulo to set. */);
2884 
2885 /*>Sets/changes the output parameters for a time control loop identified by an object. */
2886 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_TimeOutputSet(cmfe_ControlLoopType controlLoop /*<The control loop to set the output parameters for. */,
2887  const int outputFrequency /*<The output frequency modulo to set. */);
2888 
2889 /*>Sets/changes the input parameters for a time control loop identified by user numbers. */
2890 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_TimeInputSetNum(const int problemUserNumber /*<The user number of the problem to get the output parameters for. */,
2891  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2892  const int *controlLoopIdentifiers /*<The control loop identifier. */,
2893  const int inputOption /*<The output frequency modulo to set. */);
2894 
2895 /*>Sets/changes the input parameters for a time control loop identified by an object. */
2896 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_TimeInputSet(cmfe_ControlLoopType controlLoop /*<The control loop to set the output parameters for. */,
2897  const int inputOption /*<The output frequency modulo to set. */);
2898 
2899 /*>Returns the time parameters for a time control loop identified by user numbers. */
2900 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_TimesGetNum(const int problemUserNumber /*<The user number of the problem to get the time parameters for for. */,
2901  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2902  const int *controlLoopIdentifiers /*<The control loop identifier. */,
2903  double *startTime /*<On return, the start time for the time control loop. */,
2904  double *stopTime /*<On return, the stop time for the time control loop. */,
2905  double *timeIncrement /*<On return, the time increment for the time control loop. */,
2906  double *currentTime /*<On return, the current time for the time control loop. */,
2907  int *currentLoopIteration /*<On return, the iteration number for the current loop. */,
2908  int *outputIterationNumber /*<On return, the iteration number for the time control loop. */);
2909 
2910 /*>Returns the time parameters for a time control loop identified by an object. */
2911 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_TimesGet(const cmfe_ControlLoopType controlLoop /*<The control loop to get the times for. */,
2912  double *startTime /*<On return, the start time for the time control loop. */,
2913  double *stopTime /*<On return, the stop time for the time control loop. */,
2914  double *timeIncrement /*<On return, the time increment for the time control loop. */,
2915  double *currentTime /*<On return, the current time for the time control loop. */,
2916  int *currentLoopIteration /*<On return, the iteration number for the current loop. */,
2917  int *outputIterationNumber /*<On return, the iteration number for the time control loop. */);
2918 
2919 /*>Sets/changes the time parameters for a time control loop identified by user numbers. */
2920 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_TimesSetNum(const int problemUserNumber /*<The user number of the problem to get the time parameters for for. */,
2921  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2922  const int *controlLoopIdentifiers /*<The control loop identifier. */,
2923  const double startTime /*<The start time for the time control loop to set. */,
2924  const double stopTime /*<The stop time for the time control loop to set. */,
2925  const double timeIncrement /*<The time increment for the time control loop to set. */);
2926 
2927 /*>Sets/changes the time parameters for a time control loop identified by an object. */
2928 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_TimesSet(cmfe_ControlLoopType controlLoop /*<The control loop to set the times for. */,
2929  const double startTime /*<The start time for the time control loop to set. */,
2930  const double stopTime /*<The stop time for the time control loop to set. */,
2931  const double timeIncrement /*<The time increment for the time control loop to set. */);
2932 
2933 /*>Sets/changes the loop type for a control loop identified by user numbers. \todo is this really public??? */
2934 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_TypeSetNum(const int problemUserNumber /*<The user number of the problem to set the loop type for. */,
2935  const int controlLoopIdentifiersSize /*<Length of controlLoopIdentifiers */,
2936  const int *controlLoopIdentifiers /*<The control loop identifiers. */,
2937  const int loopType /*<The type of control loop to set. \see OPENCMISS_ProblemControlLoopTypes */);
2938 
2939 /*>Sets/changes the loop type for a control loop identified by an object. \todo is this really public??? */
2940 IRON_C_EXPORT cmfe_Error cmfe_ControlLoop_TypeSet(cmfe_ControlLoopType controlLoop /*<The control loop to set the loop type for. */,
2941  const int loopType /*<The type of control loop to set. \see OPENCMISS_ProblemControlLoopTypes */);
2942 
2943 /*>Finishes the creation of a coordinate system identified by a user number. */
2944 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_CreateFinishNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to finish creating. */);
2945 
2946 /*>Finishes the creation of a coordinate system identified by an object. */
2947 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_CreateFinish(cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to finish creating. */);
2948 
2949 /*>Starts the creation of a coordinate system identified by a user number. */
2950 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_CreateStartNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to start creating. */);
2951 
2952 /*>Starts the creation of a coordinate system identified by an object. */
2953 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_CreateStart(const int coordinateSystemUserNumber /*<The user number of the coordinate system to start creating. */,
2954  cmfe_CoordinateSystemType coordinateSystem /*<On return, the coordinate system that has been created. */);
2955 
2956 /*>Destroys a coordinate system identified by a user number. */
2957 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_DestroyNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to destroy. */);
2958 
2959 /*>Destroys a coordinate system identified by an object. */
2960 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_Destroy(cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to destroy. */);
2961 
2962 /*>Returns the dimension of a coordinate system identified by a user number. */
2963 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_DimensionGetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to get the dimension for. */,
2964  int *coordinateSystemDimension /*<On return, the dimension of the coordinate system */);
2965 
2966 /*>Returns the dimension of a coordinate system identified by an object. */
2967 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_DimensionGet(const cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to get the dimension for. */,
2968  int *coordinateSystemDimension /*<On return, the dimension of the coordinate system. */);
2969 
2970 /*>Sets/changes the dimension of a coordinate system identified by a user number. */
2971 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_DimensionSetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to set the dimension for. */,
2972  const int coordinateSystemDimension /*<The dimension of the coordinate system to set. */);
2973 
2974 /*>Sets/changes the dimension of a coordinate system identified by an object. */
2975 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_DimensionSet(cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to set the dimension for. */,
2976  const int coordinateSystemDimension /*<The dimension of the coordinate system to set. */);
2977 
2978 /*>Returns the focus of a coordinate system identified by a user number. */
2979 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_FocusGetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to get the focus for. */,
2980  double *focus /*<On return, the focus of the coordinate system */);
2981 
2982 /*>Returns the focus of a coordinate system identified by an object. */
2983 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_FocusGet(const cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to get the focus for. */,
2984  double *focus /*<On return, the focus of the coordinate system. */);
2985 
2986 /*>Sets/changes the focus of a coordinate system identified by a user number. */
2987 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_FocusSetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to set the focus for. */,
2988  const double focus /*<The focus of the coordinate system to set. */);
2989 
2990 /*>Sets/changes the focus of a coordinate system identified by an object. */
2991 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_FocusSet(cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to set the focus for. */,
2992  const double focus /*<The focus of the coordinate system to set. */);
2993 
2994 /*>Returns the radial interpolation type of a coordinate system identified by a user number. */
2995 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_RadialInterpolationGetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to get the radial interpolation for. */,
2996  int *radialInterpolationType /*<On return, the radial interpolation type of the coordinate system \see OPENCMISS_CoordinateRadialInterpolations */);
2997 
2998 /*>Returns the radial interpolation type of a coordinate system identified by an object. */
2999 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_RadialInterpolationGet(cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to get the radial interpolation type for. */,
3000  int *radialInterpolationType /*<On return, the radial interpolation type of the coordinate system. \see OPENCMISS_CoordinateRadialInterpolations */);
3001 
3002 /*>Sets/changes the radial interpolation type of a coordinate system identified by a user number. */
3003 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_RadialInterpolationSetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to set the radial interpolation for. */,
3004  const int radialInterpolationType /*<The radial interpolation type of the coordinate system to set.\see OPENCMISS_CoordinateRadialInterpolations */);
3005 
3006 /*>Sets/changes the radial interpolation type of a coordinate system identified by an object. */
3007 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_RadialInterpolationSet(cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to set the radial interpolation type for. */,
3008  const int radialInterpolationType /*<The radial interpolation type of the coordinate system to set. \see OPENCMISS_CoordinateRadialInterpolations */);
3009 
3010 /*>Returns the type of a coordinate system identified by a user number. */
3011 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_TypeGetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to get the type for. */,
3012  int *coordinateSystemType /*<On return, the type of the coordinate system. \see OPENCMISS_CoordinateSystemTypes */);
3013 
3014 /*>Returns the type of a coordinate system identified by an object. */
3015 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_TypeGet(const cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to get the type for. */,
3016  int *coordinateSystemType /*<On return, the type of the coordinate system. \see OPENCMISS_CoordinateSystemTypes */);
3017 
3018 /*>Sets/changes the type of a coordinate system identified by a user number. */
3019 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_TypeSetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to set the type for. */,
3020  const int coordinateSystemType /*<The type of the coordinate system to set. \see OPENCMISS_CoordinateSystemTypes */);
3021 
3022 /*>Sets/changes the type of a coordinate system identified by an object. */
3023 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_TypeSet(cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to set the type for. */,
3024  const int coordinateSystemType /*<The type of the coordinate system to set. \see OPENCMISS_CoordinateSystemTypes */);
3025 
3026 /*>Returns the origin of a coordinate system identified by a user number. */
3027 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_OriginGetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to get the origin for. */,
3028  const int originSize /*<Length of origin */,
3029  double *origin /*<On return, the orign of the coordinate system. */);
3030 
3031 /*>Returns the origin of a coordinate system identified by an object. */
3032 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_OriginGet(const cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to get the origin for. */,
3033  const int originSize /*<Length of origin */,
3034  double *origin /*<On return, the origin of the coordinate system. */);
3035 
3036 /*>Sets/changes the origin of a coordinate system identified by a user number. */
3037 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_OriginSetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to set the origin for. */,
3038  const int originSize /*<Length of origin */,
3039  const double *origin /*<The orign of the coordinate system to set. */);
3040 
3041 /*>Sets/changes the origin of a coordinate system identified by an object. */
3042 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_OriginSet(const cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to set the origin for. */,
3043  const int originSize /*<Length of origin */,
3044  const double *origin /*<The origin of the coordinate system to set. */);
3045 
3046 /*>Returns the orientation of a coordinate system identified by a user number. */
3047 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_OrientationGetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to get the orientation for. */,
3048  const int orientationSize1 /*<Size of dimension 1 of orientation */,
3049  const int orientationSize2 /*<Size of dimension 2 of orientation */,
3050  double *orientation /*<On return, the orientation of the coordinate system. */);
3051 
3052 /*>Returns the orientation of a coordinate system identified by an object. */
3053 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_OrientationGet(const cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to get the orientation for. */,
3054  const int orientationSize1 /*<Size of dimension 1 of orientation */,
3055  const int orientationSize2 /*<Size of dimension 2 of orientation */,
3056  double *orientation /*<On return, the orientation of the coordinate system. */);
3057 
3058 /*>Sets/changes the orientation of a coordinate system identified by a user number. */
3059 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_OrientationSetNum(const int coordinateSystemUserNumber /*<The user number of the coordinate system to set the orientation for. */,
3060  const int orientationSize1 /*<Size of dimension 1 of orientation */,
3061  const int orientationSize2 /*<Size of dimension 2 of orientation */,
3062  const double *orientation /*<The orientation of the coordinate system to set. */);
3063 
3064 /*>Sets/changes the orientation of a coordinate system identified by an object. */
3065 IRON_C_EXPORT cmfe_Error cmfe_CoordinateSystem_OrientationSet(cmfe_CoordinateSystemType coordinateSystem /*<The coordinate system to set the orientation for. */,
3066  const int orientationSize1 /*<Size of dimension 1 of orientation */,
3067  const int orientationSize2 /*<Size of dimension 2 of orientation */,
3068  const double *orientation /*<The orientation of the coordinate system to set. */);
3069 
3070 /*>Finishes the process of creating data points in a region for data points identified by user number. */
3071 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_CreateFinishNum(const int regionUserNumber /*<The user number of the region containing the data points to finish the creation of. */);
3072 
3073 /*>Finishes the creation of a data points in a region for data points identified by an object. */
3074 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_CreateFinish(const cmfe_DataPointsType dataPoints /*<The data points to finish creating. */);
3075 
3076 /*>Starts the process of creating data points in a region for data points identified by user number. */
3077 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_CreateStartNum(const int regionUserNumber /*<The user number of the region containing the data points to start the creation of. */,
3078  const int numberOfDataPoints /*<The number of data points to create. */);
3079 
3080 /*>Starts the creation of a data points in a region for data points identified by an object. */
3081 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_CreateStart(const cmfe_RegionType region /*<The region to start the creation of data points on. */,
3082  const int numberOfDataPoints /*<The number of data points to create. */,
3083  cmfe_DataPointsType dataPoints /*<On return, the created data points. */);
3084 
3085 /*>Starts the creation of a data points in a region for data points identified by an object. */
3086 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_CreateStartInterface(const cmfe_InterfaceType interface /*<The interface to start the creation of data points on. */,
3087  const int numberOfDataPoints /*<The number of data points to create. */,
3088  const cmfe_DataPointsType dataPoints /*<On return, the created data points. */);
3089 
3090 /*>Destroys the data points in a region for data points identified by user number. */
3091 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_DestroyNum(const int regionUserNumber /*<The user number of the region containing the data points to destroy. */);
3092 
3093 /*>Destroys the data points in a region for data points identified by an object. */
3094 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_Destroy(const cmfe_DataPointsType dataPoints /*<The data points to destroy. */);
3095 
3096 /*>Returns the number of data points */
3097 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_NumberOfDataPointsGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get data point count for. */,
3098  int *numberOfDataPoints /*<On return, the number of data points */);
3099 
3100 /*>Returns the number of data points */
3101 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_NumberOfDataPointsGet(const cmfe_DataPointsType dataPoints /*<The data points get data point count for. */,
3102  int *numberOfDataPoints /*<The number of data points */);
3103 
3104 /*>Returns the character label for a data point in a set of data points identified by user number. */
3105 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_LabelGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get the label for. */,
3106  const int dataPointGlobalNumber /*<The global number of the data points to get the label for. */,
3107  const int labelSize /*<Length of label string */,
3108  char *label /*<On return, the label for the data point. */);
3109 
3110 /*>Returns the character label for a data point in a set of data points identified by an object. */
3111 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_LabelGet(const cmfe_DataPointsType dataPoints /*<The data points to get the label for. */,
3112  const int dataPointGlobalNumber /*<The global number of the data points to get the label for. */,
3113  const int labelSize /*<Length of label string */,
3114  char *label /*<On return, the label for the data point. */);
3115 
3116 /*>Sets/changes the character label for a data point in a set of data points identified by user number. */
3117 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_LabelSetNum(const int regionUserNumber /*<The user number of the region containing the data points to set the label for. */,
3118  const int dataPointGlobalNumber /*<The global number of the data points to set the label for. */,
3119  const int labelSize /*<Length of label string */,
3120  const char *label /*<The label for the data point to set. */);
3121 
3122 /*>Sets/changes the character label for a data point in a set of data points identified by an object. */
3123 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_LabelSet(const cmfe_DataPointsType dataPoints /*<The data points to set the label for. */,
3124  const int dataPointGlobalNumber /*<The global number of the data points to set the label for. */,
3125  const int labelSize /*<Length of label string */,
3126  const char *label /*<The label for the data point to set. */);
3127 
3128 /*>Returns the user number for a data point in a set of data points identified by user number. */
3129 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_UserNumberGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get the data point user number for. */,
3130  const int dataPointGlobalNumber /*<The global number of the data points to get the data point user number for. */,
3131  int *dataPointUserNumber /*<On return, the user number for the data point. */);
3132 
3133 /*>Returns the user number for a data point in a set of data points identified by an object. */
3134 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_UserNumberGet(const cmfe_DataPointsType dataPoints /*<The data points to get the data point user number for. */,
3135  const int dataPointGlobalNumber /*<The global number of the data points to get the data point user number for. */,
3136  int *dataPointUserNumber /*<On return, the user number for the data point. */);
3137 
3138 /*>Sets/changes the user number for a data point in a set of data points identified by user number. */
3139 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_UserNumberSetNum(const int regionUserNumber /*<The user number of the region containing the data points to set the data point user number for. */,
3140  const int dataPointGlobalNumber /*<The global number of the data points to set the data point user number for. */,
3141  const int dataPointUserNumber /*<The user number for the data point to set. */);
3142 
3143 /*>Sets/changes the user number for a data point in a set of data points identified by an object. */
3144 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_UserNumberSet(const cmfe_DataPointsType dataPoints /*<The data points to set the data point user number for. */,
3145  const int dataPointGlobalNumber /*<The global number of the data points to set the data point user number for. */,
3146  const int dataPointUserNumber /*<The user number for the data point to set. */);
3147 
3148 /*>Returns the values for a data point in a set of data points identified by user number. */
3149 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_ValuesGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get the data point user number for. */,
3150  const int dataPointGlobalNumber /*<The global number of the data points to get the data point values for. */,
3151  const int dataPointValuesSize /*<Length of dataPointValues */,
3152  double *dataPointValues /*<On return, the values for the data point. */);
3153 
3154 /*>Returns the values for a data point in a set of data points identified by an object. */
3155 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_ValuesGet(const cmfe_DataPointsType dataPoints /*<The data points to get the data point user number for. */,
3156  const int dataPointGlobalNumber /*<The global number of the data points to get the data point user number for. */,
3157  const int dataPointValuesSize /*<Length of dataPointValues */,
3158  double *dataPointValues /*<On return, the values for the data point. */);
3159 
3160 /*>Sets/changes the values for a data point in a set of data points identified by user number. */
3161 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_ValuesSetNum(const int regionUserNumber /*<The user number of the region containing the data points to set the data point user number for. */,
3162  const int dataPointGlobalNumber /*<The global number of the data points to set the data point user number for. */,
3163  const int dataPointValuesSize /*<Length of dataPointValues */,
3164  const double *dataPointValues /*<The values for the data point to set. */);
3165 
3166 /*>Sets/changes the values for a data point in a set of data points identified by an object. */
3167 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_ValuesSet(const cmfe_DataPointsType dataPoints /*<The data points to set the data point user number for. */,
3168  const int dataPointGlobalNumber /*<The global number of the data points to set the data point user number for. */,
3169  const int dataPointValuesSize /*<Length of dataPointValues */,
3170  const double *dataPointValues /*<The values for the data point to set. */);
3171 
3172 /*>Returns the weights for a data point in a set of data points identified by user number. */
3173 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_WeightsGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get the data point user number for. */,
3174  const int dataPointGlobalNumber /*<The global number of the data points to get the data point user number for. */,
3175  const int dataPointWeightsSize /*<Length of dataPointWeights */,
3176  double *dataPointWeights /*<On return, the weights for the data point. */);
3177 
3178 /*>Returns the weights for a data point in a set of data points identified by an object. */
3179 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_WeightsGet(const cmfe_DataPointsType dataPoints /*<The data points to get the data point user number for. */,
3180  const int dataPointGlobalNumber /*<The global number of the data points to get the data point user number for. */,
3181  const int dataPointWeightsSize /*<Length of dataPointWeights */,
3182  double *dataPointWeights /*<On return, the weights for the data point. */);
3183 
3184 /*>Sets/changes the weights for a data point in a set of data points identified by user number. */
3185 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_WeightsSetNum(const int regionUserNumber /*<The user number of the region containing the data points to set the data point user number for. */,
3186  const int dataPointGlobalNumber /*<The global number of the data points to set the data point user number for. */,
3187  const int dataPointWeightsSize /*<Length of dataPointWeights */,
3188  const double *dataPointWeights /*<The weights for the data point to set. */);
3189 
3190 /*>Sets/changes the weights for a data point in a set of data points identified by an object. */
3191 IRON_C_EXPORT cmfe_Error cmfe_DataPoints_WeightsSet(const cmfe_DataPointsType dataPoints /*<The data points to set the data point user number for. */,
3192  const int dataPointGlobalNumber /*<The global number of the data points to set the data point user number for. */,
3193  const int dataPointWeightsSize /*<Length of dataPointWeights */,
3194  const double *dataPointWeights /*<The weights for the data point to set. */);
3195 
3196 /*>Returns the absolute tolerance of data projection identified by a region user number. */
3197 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_AbsoluteToleranceGetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3198  const int regionUserNumber /*<The region user number of the data projection to get tolerance for. */,
3199  double *absoluteTolerance /*<On exit, the absolute tolerance of the specified data projection */);
3200 
3201 /*>Returns the absolute tolerance of data projection identified an object. */
3202 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_AbsoluteToleranceGet(cmfe_DataProjectionType dataProjection /*<The data projection to get tolerance for. */,
3203  double *absoluteTolerance /*<On exit, the absolute tolerance of the specified data projection */);
3204 
3205 /*>Sets/changes the absolute tolerance of data projection identified by a region user number. */
3206 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_AbsoluteToleranceSetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3207  const int regionUserNumber /*<The region use number of data projection to set tolerance for. */,
3208  const double absoluteTolerance /*<the absolute tolerance to set */);
3209 
3210 /*>Sets/changes the absolute tolerance of data projection identified an object. */
3211 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_AbsoluteToleranceSet(cmfe_DataProjectionType dataProjection /*<The data projection to set tolerance for. */,
3212  const double absoluteTolerance /*<the absolute tolerance to set */);
3213 
3214 /*>Finishes the creation of a new data projection identified by a region user number. */
3215 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_CreateFinishNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3216  const int regionUserNumber /*<The user number of the region containing the data points which associates to the data projection to finish the creation of. */);
3217 
3218 /*>Finishes the creation of a new data projection identified by an object. */
3219 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_CreateFinish(cmfe_DataProjectionType dataProjection /*<The data projection to finish the creation of */);
3220 
3221 /*>Starts the creation of a new data projection for a data projection identified by a region user number. */
3222 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_CreateStartNum(const int dataProjectionUserNumber /*<The data projection user number. */,
3223  const int dataPointRegionUserNumber /*<The region user number of the data points to be projected. */,
3224  const int meshUserNumber /*<The field user number of the geometric field data points are be projected on. */,
3225  const int meshRegionUserNumber /*<The region user number of the geometric field data points are be projected on. */);
3226 
3227 /*>Starts the creation of a new data projection for a data projection identified by an object. */
3228 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_CreateStart(const int dataProjectionUserNumber /*<The data projection user number. */,
3229  const cmfe_DataPointsType dataPoints /*<The data points to be projected */,
3230  const cmfe_MeshType mesh /*<The mesh where data points is projected on */,
3231  cmfe_DataProjectionType dataProjection /*<On exit, the newly created data projection. */);
3232 
3233 /*>Destroys a data projection identified by region user number. */
3234 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_DestroyNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3235  const int regionUserNumber /*<The region user number of the data projection to destroy. */);
3236 
3237 /*>Destroys a data projection identified by an object. */
3238 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_Destroy(cmfe_DataProjectionType dataProjection /*<The data projection to destroy. */);
3239 
3240 /*>Evaluate the data points position in a field based on data projection in a region, identified by user number */
3241 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_DataPointsPositionEvaluateRegionNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection */,
3242  const int regionUserNumber /*<The region user number of the data projection and field */,
3243  const int fieldUserNumber /*<The field user number of the field to be interpolated */,
3244  const int fieldVariableType /*<The field variable type to be interpolated */);
3245 
3246 /*>Evaluate the data points position in a field based on data projection in an interface, identified by user number */
3247 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_DataPointsPositionEvaluateInterfaceNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection */,
3248  const int parentRegionUserNumber /*<The parent region number of the interface for the data projection */,
3249  const int interfaceUserNumber /*<The interface number for the data projection */,
3250  const int fieldUserNumber /*<The field user number of the field to be interpolated */,
3251  const int fieldVariableType /*<The field variable type to be interpolated */);
3252 
3253 /*>Evaluate the data points position in a field based on data projection, identified by object */
3254 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_DataPointsPositionEvaluate(cmfe_DataProjectionType dataProjection /*<The data projection used to evaluate data points position */,
3255  const cmfe_FieldType field /*<The field to interpolate */,
3256  const int fieldVariableType /*<The field variable type to be interpolated */);
3257 
3258 /*>Evaluate the data points position in a field based on data projection in a region, identified by user number */
3259 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ProjectionCandidatesSetRegionNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection */,
3260  const int regionUserNumber /*<The region user number of the data projection and field */,
3261  const int candidateElementsSize /*<Length of candidateElements */,
3262  const int *candidateElements /*<The candidate element for the projection */,
3263  const int localFaceLineNumbersSize /*<Length of localFaceLineNumbers */,
3264  const int *localFaceLineNumbers /*<The local face/line number for the candidate elements */);
3265 
3266 /*>Evaluate the data points position in a field based on data projection in an interface, identified by user number */
3267 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ProjectionCandidatesSetInterfaceNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection */,
3268  const int parentRegionUserNumber /*<The parent region number of the interface for the data projection */,
3269  const int interfaceUserNumber /*<The interface number for the data projection */,
3270  const int candidateElementsSize /*<Length of candidateElements */,
3271  const int *candidateElements /*<The candidate element for the projection */,
3272  const int localFaceLineNumbersSize /*<Length of localFaceLineNumbers */,
3273  const int *localFaceLineNumbers /*<The local face/line number for the candidate elements */);
3274 
3275 /*>Evaluate the data points position in a field based on data projection, identified by object */
3276 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ProjectionCandidatesSet(cmfe_DataProjectionType dataProjection /*<The data projection used to evaluate data points position */,
3277  const int candidateElementsSize /*<Length of candidateElements */,
3278  const int *candidateElements /*<The candidate element for the projection */,
3279  const int localFaceLineNumbersSize /*<Length of localFaceLineNumbers */,
3280  const int *localFaceLineNumbers /*<The local face/line number for the candidate elements */);
3281 
3282 /*>Evaluate a data projection identified by a region user number. */
3283 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_DataPointsProjectionEvaluateNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3284  const int dataPointsRegionUserNumber /*<The region user number of the data projection to evaluate. */,
3285  const int projectionFieldUserNumber /*<The field user number of the field data points are be projected on. */,
3286  const int projectionFieldRegionUserNumber /*<The region user number of the field data points are be projected on. */);
3287 
3288 /*>Evaluate a data projection identified by an object. */
3289 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_DataPointsProjectionEvaluate(cmfe_DataProjectionType dataProjection /*<The data projection to evaluate. */,
3290  const cmfe_FieldType projectionField /*<The field data points is projected on */);
3291 
3292 /*>Returns the relative tolerance of data projection identified by a region user number. */
3293 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_MaximumIterationUpdateGetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3294  const int regionUserNumber /*<The region user number of the data projection to get tolerance for. */,
3295  double *maximumIterationUpdate /*<On exit, the maximum iteration update of the specified data projection */);
3296 
3297 /*>Returns the relative tolerance of data projection identified an object. */
3298 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_MaximumIterationUpdateGet(cmfe_DataProjectionType dataProjection /*<The data projection to get tolerance for. */,
3299  double *maximumIterationUpdate /*<On exit, the maximum iteration update of the specified data projection */);
3300 
3301 /*>Sets/changes the relative tolerance of data projection identified by a region user number. */
3302 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_MaximumIterationUpdateSetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3303  const int regionUserNumber /*<The region use number of data projection to set tolerance for. */,
3304  const double maximumIterationUpdate /*<the maximum iteration update to set */);
3305 
3306 /*>Sets/changes the relative tolerance of data projection identified an object. */
3307 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_MaximumIterationUpdateSet(cmfe_DataProjectionType dataProjection /*<The data projection to set tolerance for. */,
3308  const double maximumIterationUpdate /*<the maximum iteration update to set */);
3309 
3310 /*>Returns the maximum number of iterations of data projection identified by a region user number. */
3311 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_MaximumNumberOfIterationsGetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3312  const int regionUserNumber /*<The region user number of the data projection to get maximum number of iterations for. */,
3313  int *maximumNumberOfIterations /*<On exit, the maximum number of iterations of the specified data projection */);
3314 
3315 /*>Returns the projection distance for a data point in a set of data points identified by user number. */
3316 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultDistanceGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get attributes for. */,
3317  const int dataProjectionUserNumber /*<The user number of the data projection containing the data points to get attributes for. */,
3318  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3319  double *ProjectionDistance /*<On return, the projection distance for the data point. */);
3320 
3321 /*>Returns the projection distance for a data point in a set of data points identified by an object. */
3322 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultDistanceGet(const cmfe_DataProjectionType dataProjection /*<The data projection to get attributes for. */,
3323  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3324  double *ProjectionDistance /*<On return, the projection distance for the data point. */);
3325 
3326 /*>Returns the projection element number for a data point in a set of data points identified by user number. */
3327 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultElementNumberGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get attributes for. */,
3328  const int dataProjectionUserNumber /*<The user number of the data projection containing the data points to get attributes for. */,
3329  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3330  int *ProjectionElementNumber /*<On return, the projection element number for the data point. */);
3331 
3332 /*>Returns the projection element number for a data point in a set of data points identified by an object. */
3333 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultElementNumberGet(const cmfe_DataProjectionType dataProjection /*<The data projection to get attributes for. */,
3334  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3335  int *ProjectionElementNumber /*<On return, the projection element number for the data point. */);
3336 
3337 /*>Returns the projection element face number for a data point in a set of data points identified by user number. */
3338 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultElementFaceNumberGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get attributes for. */,
3339  const int dataProjectionUserNumber /*<The user number of the data projection containing the data points to get attributes for. */,
3340  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3341  int *ProjectionElementFaceNumber /*<On return, the projection element face number for the data point. */);
3342 
3343 /*>Returns the projection element face number for a data point in a set of data points identified by an object. */
3344 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultElementFaceNumberGet(const cmfe_DataProjectionType dataProjection /*<The data projection to get attributes for. */,
3345  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3346  int *ProjectionElementFaceNumber /*<On return, the projection element face number for the data point. */);
3347 
3348 /*>Returns the projection element line number for a data point in a set of data points identified by user number. */
3349 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultElementLineNumberGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get attributes for. */,
3350  const int dataProjectionUserNumber /*<The user number of the data projection containing the data points to get attributes for. */,
3351  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3352  int *ProjectionElementLineNumber /*<On return, the projection element line number for the data point. */);
3353 
3354 /*>Returns the projection element line number for a data point in a set of data points identified by an object. */
3355 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultElementLineNumberGet(const cmfe_DataProjectionType dataProjection /*<The data projection to get attributes for. */,
3356  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3357  int *ProjectionElementLineNumber /*<On return, the projection element line number for the data point. */);
3358 
3359 /*>Returns the projection exit tag for a data point in a set of data points identified by user number. */
3360 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultExitTagGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get attributes for. */,
3361  const int dataProjectionUserNumber /*<The user number of the data projection containing the data points to get attributes for. */,
3362  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3363  int *ProjectionExitTag /*<On return, the projection exit tag for the data point. */);
3364 
3365 /*>Returns the projection exit tag for a data point in a set of data points identified by an object. */
3366 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultExitTagGet(const cmfe_DataProjectionType dataProjection /*<The data projection to get attributes for. */,
3367  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3368  int *ProjectionExitTag /*<On return, the projection exit tag for the data point. */);
3369 
3370 /*>Returns the projection xi for a data point in a set of data points identified by user number. */
3371 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultXiGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get attributes for. */,
3372  const int dataProjectionUserNumber /*<The user number of the data projection containing the data points to get attributes for. */,
3373  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3374  const int ProjectionXiSize /*<Length of ProjectionXi */,
3375  double *ProjectionXi /*<On return, the projection xi for the data point. */);
3376 
3377 /*>Returns the projection xi for a data point in a set of data points identified by an object. */
3378 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultXiGet(const cmfe_DataProjectionType dataProjection /*<The data projection to get attributes for. */,
3379  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3380  const int ProjectionXiSize /*<Length of ProjectionXi */,
3381  double *ProjectionXi /*<On return, the projection xi for the data point. */);
3382 
3383 /*>Sets the projection xi for a data point in a set of data points identified by user number. */
3384 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultXiSetNum(const int regionUserNumber /*<The user number of the region containing the data points to set attributes for. */,
3385  const int dataProjectionUserNumber /*<The user number of the data projection containing the data points to set attributes for. */,
3386  const int dataPointUserNumber /*<The user number of the data points to set attributes for. */,
3387  const int ProjectionXiSize /*<Length of ProjectionXi */,
3388  const double *ProjectionXi /*<On return, the projection xi for the data point. */);
3389 
3390 /*>Sets the projection xi for a data point in a set of data points identified by an object. */
3391 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultXiSet(const cmfe_DataProjectionType dataProjection /*<The data projection to set attributes for. */,
3392  const int dataPointUserNumber /*<The user number of the data points to set attributes for */,
3393  const int ProjectionXiSize /*<Length of ProjectionXi */,
3394  const double *ProjectionXi /*<On return, the projection xi for the data point. */);
3395 
3396 /*>Returns the projection vector for a data point in a set of data points identified by user number. */
3397 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultProjectionVectorGetNum(const int regionUserNumber /*<The user number of the region containing the data points to get attributes for. */,
3398  const int dataProjectionUserNumber /*<The user number of the data projection containing the data points to get attributes for. */,
3399  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3400  const int projectionVectorSize /*<Length of projectionVector */,
3401  double *projectionVector /*<On return, the projection vector for the data point. */);
3402 
3403 /*>Returns the projection vector for a data point in a set of data points identified by an object. */
3404 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ResultProjectionVectorGet(const cmfe_DataProjectionType dataProjection /*<The data projection to get attributes for. */,
3405  const int dataPointUserNumber /*<The user number of the data points to get attributes for. */,
3406  const int projectionVectorSize /*<Length of projectionVector */,
3407  double *projectionVector /*<On return, the projection vector for the data point. */);
3408 
3409 /*>Returns the maximum number of iterations of data projection identified an object. */
3410 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_MaximumNumberOfIterationsGet(cmfe_DataProjectionType dataProjection /*<The data projection to get maximum number of iterations for. */,
3411  int *maximumNumberOfIterations /*<On exit, the maximum number of iterations of the specified data projection */);
3412 
3413 /*>Sets/changes the maximum number of iterations of data projection identified by a region user number. */
3414 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_MaximumNumberOfIterationsSetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3415  const int regionUserNumber /*<The region use number of data projection to set maximum number of iterations for. */,
3416  const int maximumNumberOfIterations /*<the maximum number of iterations to set */);
3417 
3418 /*>Sets/changes the maximum number of iterations of data projection identified an object. */
3419 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_MaximumNumberOfIterationsSet(cmfe_DataProjectionType dataProjection /*<The data projection to set maximum number of iterations for. */,
3420  const int maximumNumberOfIterations /*<the maximum number of iterations to set */);
3421 
3422 /*>Returns the number of closest elements of data projection identified by a region user number. */
3423 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_NumberOfClosestElementsGetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3424  const int regionUserNumber /*<The region user number of the data projection to get number of closest elements for. */,
3425  int *numberOfClosestElements /*<On exit, the number of closest elements of the specified data projection */);
3426 
3427 /*>Returns the number of closest elements of data projection identified an object. */
3428 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_NumberOfClosestElementsGet(cmfe_DataProjectionType dataProjection /*<The data projection to get number of closest elements for. */,
3429  int *numberOfClosestElements /*<On exit, the number of closest elements of the specified data projection */);
3430 
3431 /*>Sets/changes the number of closest elements of data projection identified by a region user number. */
3432 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_NumberOfClosestElementsSetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3433  const int regionUserNumber /*<The region use number of data projection to set number of closest elements for. */,
3434  const int numberOfClosestElements /*<the number of closest elements to set */);
3435 
3436 /*>Sets/changes the number of closest elements of data projection identified an object. */
3437 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_NumberOfClosestElementsSet(cmfe_DataProjectionType dataProjection /*<The data projection to set number of closest elements for. */,
3438  const int numberOfClosestElements /*<the number of closest elements to set */);
3439 
3440 /*>Returns the projection type of data projection identified by a region user number. */
3441 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ProjectionTypeGetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3442  const int regionUserNumber /*<The region user number of the data projection to get projection type for. */,
3443  int *projectionType /*<On exit, the projection type of the specified data projection */);
3444 
3445 /*>Returns the projection type of data projection identified an object. */
3446 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ProjectionTypeGet(cmfe_DataProjectionType dataProjection /*<The data projection to get projection type for. */,
3447  int *projectionType /*<On exit, the projection type of the specified data projection */);
3448 
3449 /*>Sets/changes the projection type of data projection identified by a region user number. */
3450 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ProjectionTypeSetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3451  const int regionUserNumber /*<The region use number of data projection to set projection type for. */,
3452  const int projectionType /*<the projection type to set */);
3453 
3454 /*>Sets/changes the projection type of data projection identified an object. */
3455 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_ProjectionTypeSet(cmfe_DataProjectionType dataProjection /*<The data projection to set projection type for. */,
3456  const int projectionType /*<the projection type to set */);
3457 
3458 /*>Returns the relative tolerance of data projection identified by a data projection user number and a region user number. */
3459 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_RelativeToleranceGetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3460  const int regionUserNumber /*<The region user number of the data projection to get relative tolerance for. */,
3461  double *relativeTolerance /*<On exit, the absolute relative tolerance of the specified data projection */);
3462 
3463 /*>Returns the relative tolerance of data projection identified an object. */
3464 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_RelativeToleranceGet(cmfe_DataProjectionType dataProjection /*<The data projection to get relative tolerance for. */,
3465  double *relativeTolerance /*<On exit, the absolute relative tolerance of the specified data projection */);
3466 
3467 /*>Sets/changes the relative tolerance of data projection identified by a data projection user number and a region user number. */
3468 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_RelativeToleranceSetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3469  const int regionUserNumber /*<The region use number of data projection to set relative tolerance for. */,
3470  const double relativeTolerance /*<the absolute relative tolerance to set */);
3471 
3472 /*>Sets/changes the relative tolerance of data projection identified an object. */
3473 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_RelativeToleranceSet(cmfe_DataProjectionType dataProjection /*<The data projection to set relative tolerance for. */,
3474  const double relativeTolerance /*<the absolute relative tolerance to set */);
3475 
3476 /*>Returns the starting xi of data projection identified by a data projection user number and region user number. */
3477 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_StartingXiGetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3478  const int regionUserNumber /*<The region user number of the data projection to get starting xi for. */,
3479  const int startingXiSize /*<Length of startingXi */,
3480  double *startingXi /*<On exit, the absolute starting xi of the specified data projection */);
3481 
3482 /*>Returns the starting xi of data projection identified an object. */
3483 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_StartingXiGet(cmfe_DataProjectionType dataProjection /*<The data projection to get starting xi for. */,
3484  const int startingXiSize /*<Length of startingXi */,
3485  double *startingXi /*<On exit, the absolute starting xi of the specified data projection */);
3486 
3487 /*>Sets/changes the starting xi of data projection identified by a region user number. */
3488 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_StartingXiSetNum(const int dataProjectionUserNumber /*<The data projection user number of the data projection to get starting xi for. */,
3489  const int regionUserNumber /*<The region use number of data projection to set starting xi for. */,
3490  const int startingXiSize /*<Length of startingXi */,
3491  const double *startingXi /*<the absolute starting xi to set */);
3492 
3493 /*>Sets/changes the starting xi of data projection identified an object. */
3494 IRON_C_EXPORT cmfe_Error cmfe_DataProjection_StartingXiSet(cmfe_DataProjectionType dataProjection /*<The data projection to set starting xi for. */,
3495  const int startingXiSize /*<Length of startingXi */,
3496  const double *startingXi /*<the absolute starting xi to set */);
3497