    

 ## On this page

  

 

 # fmop\_solver

 Last update: 16.07.2025 

[Go to the documentation of this file.](fmop__solver_8h.xhtml)<a id="l00001" name="l00001"></a> 1 

<a id="l00002" name="l00002"></a> 2 \#ifndef DYNARDO\_FMOP\_H

<a id="l00003" name="l00003"></a> 3  #define DYNARDO\_FMOP\_H

<a id="l00004" name="l00004"></a> 4 

<a id="l00005" name="l00005"></a> 5 \#include "[sos\_capi\_common.h](sos__capi__common_8h.xhtml)"

<a id="l00006" name="l00006"></a> 6 

<a id="l00007" name="l00007"></a> 7 

<a id="l00027" name="l00027"></a> 27 

<a id="l00028" name="l00028"></a> 28 \#ifdef \_\_cplusplus

<a id="l00029" name="l00029"></a> 29 extern "C" {

<a id="l00030" name="l00030"></a> 30 \#endif

<a id="l00031" name="l00031"></a> 31 

<a id="l00039" name="l00039"></a> 39 \#ifdef DYNARDO\_FMOP\_DLL\_EXPORTS

<a id="l00040" name="l00040"></a> 40 typedef struct FMOP_Database* [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572);

<a id="l00041" name="l00041"></a> 41 \#else

<a id="l00042" name="l00042"></a>[ 42](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) typedef void* [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572);

<a id="l00043" name="l00043"></a> 43 \#endif

<a id="l00050" name="l00050"></a> 50 \#ifdef DYNARDO\_FMOP\_DLL\_EXPORTS

<a id="l00051" name="l00051"></a> 51 typedef struct FMOP* [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef);

<a id="l00052" name="l00052"></a> 52 \#else

<a id="l00053" name="l00053"></a>[ 53](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) typedef void* [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef);

<a id="l00054" name="l00054"></a> 54 \#endif

<a id="l00055" name="l00055"></a> 55 

<a id="l00057" name="l00057"></a> 57 

<a id="l00058" name="l00058"></a> 58 

<a id="l00059" name="l00059"></a> 59 /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/

<a id="l00065" name="l00065"></a> 65 

<a id="l00083" name="l00083"></a>[ 83](fmop__solver_8h.xhtml#adf36057836bc12095f01665fa068ba4c) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_loadDbFile](fmop__solver_8h.xhtml#adf36057836bc12095f01665fa068ba4c) ( [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) * database, const char* path );

<a id="l00084" name="l00084"></a> 84 

<a id="l00103" name="l00103"></a>[ 103](fmop__solver_8h.xhtml#ab3f6b6b4a84878f3c774a12a2b4cf958) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_loadDbFileWMesh](fmop__solver_8h.xhtml#ab3f6b6b4a84878f3c774a12a2b4cf958) ( [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) * database, const char* path );

<a id="l00104" name="l00104"></a> 104 

<a id="l00105" name="l00105"></a> 105 \#ifndef DOXYGEN\_IGNORE

<a id="l00125" name="l00125"></a> 125 DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP_loadDbBuf

<a id="l00126" name="l00126"></a> 126 ( [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) * database, const char* buffer, size\_t length );

<a id="l00147" name="l00147"></a> 147 DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP_loadDbBufWMesh

<a id="l00148" name="l00148"></a> 148 ( [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) * database, const char* buffer, size\_t length );

<a id="l00149" name="l00149"></a> 149 \#endif

<a id="l00171" name="l00171"></a>[ 171](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModel](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc) ( [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) database, [fmop\_dataobject\_types](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75) data_type,

<a id="l00172" name="l00172"></a> 172 const char * const fmop_ident, [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) * fmop );

<a id="l00184" name="l00184"></a>[ 184](fmop__solver_8h.xhtml#a3ad01c460ed6e409b79e258a523d0bf9) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_releaseModel](fmop__solver_8h.xhtml#a3ad01c460ed6e409b79e258a523d0bf9) ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) * fmop );

<a id="l00196" name="l00196"></a>[ 196](fmop__solver_8h.xhtml#af36d28d4c5c718284a0f4236f2740e06) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_releaseDb](fmop__solver_8h.xhtml#af36d28d4c5c718284a0f4236f2740e06) ( [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) * database );

<a id="l00211" name="l00211"></a>[ 211](fmop__solver_8h.xhtml#a37bdee678571cd855ac0bb10675b1d8c) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_releaseIdents](fmop__solver_8h.xhtml#a37bdee678571cd855ac0bb10675b1d8c) ( char *** const idents, const size\_t * num_idents );

<a id="l00212" name="l00212"></a> 212 

<a id="l00214" name="l00214"></a> 214 

<a id="l00215" name="l00215"></a> 215 /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/

<a id="l00221" name="l00221"></a> 221 

<a id="l00246" name="l00246"></a>[ 246](fmop__solver_8h.xhtml#a22d6e807dc869fa28442d26e29ddbc27) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModelIdents](fmop__solver_8h.xhtml#a22d6e807dc869fa28442d26e29ddbc27)

<a id="l00247" name="l00247"></a> 247 ( const [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) database, [fmop\_dataobject\_types](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75) data_type, char *** const fmop_idents, size\_t * num_idents );

<a id="l00265" name="l00265"></a>[ 265](fmop__solver_8h.xhtml#a600dca69efae1f2eafc63f9f6a0067fc) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModelIdentsDim](fmop__solver_8h.xhtml#a600dca69efae1f2eafc63f9f6a0067fc)

<a id="l00266" name="l00266"></a> 266 ( const [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) database, [fmop\_dataobject\_types](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75) data_type, size\_t * num_idents );

<a id="l00289" name="l00289"></a>[ 289](fmop__solver_8h.xhtml#ade959f2a7f6866382b76e32204597220) DYNARDO_FMOP_API const char * [FMOP\_getModelIdent](fmop__solver_8h.xhtml#ade959f2a7f6866382b76e32204597220)

<a id="l00290" name="l00290"></a> 290 ( const [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) database, [fmop\_dataobject\_types](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75) data_type, size\_t num_ident );

<a id="l00315" name="l00315"></a>[ 315](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModelParamIdents](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f)

<a id="l00316" name="l00316"></a> 316 ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, char *** const param_idents, size\_t * num_params );

<a id="l00333" name="l00333"></a>[ 333](fmop__solver_8h.xhtml#adabef430a391d15eb077fe30e134f368) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModelParamIdentsDim](fmop__solver_8h.xhtml#adabef430a391d15eb077fe30e134f368) ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, size\_t * num_params );

<a id="l00356" name="l00356"></a>[ 356](fmop__solver_8h.xhtml#a08f0951d2b7615c16e72341e13bad704) DYNARDO_FMOP_API const char * [FMOP\_getModelParamIdent](fmop__solver_8h.xhtml#a08f0951d2b7615c16e72341e13bad704) ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, size\_t num_param );

<a id="l00376" name="l00376"></a>[ 376](fmop__solver_8h.xhtml#abaed2ac2af6a304f8356e51b9cb98442) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getParamLowerBounds](fmop__solver_8h.xhtml#abaed2ac2af6a304f8356e51b9cb98442) ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, double * lower_bounds );

<a id="l00396" name="l00396"></a>[ 396](fmop__solver_8h.xhtml#a301cfcf26e28ec7ba4b2c730facb679c) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getParamUpperBounds](fmop__solver_8h.xhtml#a301cfcf26e28ec7ba4b2c730facb679c) ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, double * upper_bounds );

<a id="l00413" name="l00413"></a>[ 413](fmop__solver_8h.xhtml#a1ff6f33cf199015b78c5837e40d90f42) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModelTotalAvgFCoP](fmop__solver_8h.xhtml#a1ff6f33cf199015b78c5837e40d90f42) ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, double * fcop );

<a id="l00432" name="l00432"></a>[ 432](fmop__solver_8h.xhtml#a185c515c2fe8b0528ccb5f95f543a3be) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModelAvgFCoP](fmop__solver_8h.xhtml#a185c515c2fe8b0528ccb5f95f543a3be) ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, double * fcops );

<a id="l00449" name="l00449"></a>[ 449](fmop__solver_8h.xhtml#a24e43563d67cc64bffb7bccddbaada65) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModelDim](fmop__solver_8h.xhtml#a24e43563d67cc64bffb7bccddbaada65) ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, size\_t * num_mesh_items );

<a id="l00467" name="l00467"></a>[ 467](fmop__solver_8h.xhtml#a878106f886ca5f1ce112e6c5e238d80e) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getDataDim](fmop__solver_8h.xhtml#a878106f886ca5f1ce112e6c5e238d80e) ( const [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) database, [fmop\_dataobject\_types](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75) data_type, size\_t * num_mesh_items );

<a id="l00493" name="l00493"></a>[ 493](fmop__solver_8h.xhtml#add2527ad2ad1bf1df141e5fa5b4c2e31) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getDataPointIndices](fmop__solver_8h.xhtml#add2527ad2ad1bf1df141e5fa5b4c2e31) ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, unsigned int * part_ids, unsigned int * item_ids );

<a id="l00523" name="l00523"></a>[ 523](fmop__solver_8h.xhtml#a535bee00c4d200d31fdf4118e49c1f05) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getDataPointCoors](fmop__solver_8h.xhtml#a535bee00c4d200d31fdf4118e49c1f05) ([fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, char axis, double * coors );

<a id="l00524" name="l00524"></a> 524 

<a id="l00525" name="l00525"></a> 525 

<a id="l00543" name="l00543"></a>[ 543](fmop__solver_8h.xhtml#a4413f3e2bc5f893b9030631aceb03c54) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getNumElementsAtNode](fmop__solver_8h.xhtml#a4413f3e2bc5f893b9030631aceb03c54) ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, unsigned int node_idx, unsigned int * num_elements );

<a id="l00562" name="l00562"></a>[ 562](fmop__solver_8h.xhtml#a8ca72d6a865df21ce5a5180475c71cda) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getElementsAtNode](fmop__solver_8h.xhtml#a8ca72d6a865df21ce5a5180475c71cda) ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, unsigned int node_idx, unsigned int * elements );

<a id="l00581" name="l00581"></a>[ 581](fmop__solver_8h.xhtml#a1ff1451cc5f1c6cefa7a67c6a906d653) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_isNodePartOfBoundary](fmop__solver_8h.xhtml#a1ff1451cc5f1c6cefa7a67c6a906d653) ([fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, unsigned int node_idx, unsigned int * is_part_of_boundary);

<a id="l00599" name="l00599"></a>[ 599](fmop__solver_8h.xhtml#a031be0f125c4fbeb450f03bb960e207d) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getNumNodesAtElement](fmop__solver_8h.xhtml#a031be0f125c4fbeb450f03bb960e207d) ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, unsigned int element_idx, unsigned int * num_nodes );

<a id="l00618" name="l00618"></a>[ 618](fmop__solver_8h.xhtml#a03080c2458b8c03eb85ce9eb97926711) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getNodesAtElement](fmop__solver_8h.xhtml#a03080c2458b8c03eb85ce9eb97926711) ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, unsigned int element_idx, unsigned int * nodes );

<a id="l00638" name="l00638"></a>[ 638](fmop__solver_8h.xhtml#ade1eac903ae657e448adf1f7c6aa463c) DYNARDO_FMOP_API const char * [FMOP\_getElementTypeIdent](fmop__solver_8h.xhtml#ade1eac903ae657e448adf1f7c6aa463c) ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, unsigned int element_idx );

<a id="l00640" name="l00640"></a> 640 

<a id="l00641" name="l00641"></a> 641 /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/

<a id="l00647" name="l00647"></a> 647 

<a id="l00674" name="l00674"></a>[ 674](fmop__solver_8h.xhtml#a1bd5d62d9c5ba6d327b0368a8b4e2e31) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_approxField](fmop__solver_8h.xhtml#a1bd5d62d9c5ba6d327b0368a8b4e2e31)

<a id="l00675" name="l00675"></a> 675 ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, const double * param_values, double * field );

<a id="l00676" name="l00676"></a> 676 

<a id="l00703" name="l00703"></a>[ 703](fmop__solver_8h.xhtml#a4380a704857be093fc6444aa5b8fdadc) DYNARDO_FMOP_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_approxFieldExtrapolate](fmop__solver_8h.xhtml#a4380a704857be093fc6444aa5b8fdadc)

<a id="l00704" name="l00704"></a> 704 ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, const double * param_values, double * field );

<a id="l00705" name="l00705"></a> 705 

<a id="l00707" name="l00707"></a> 707 

<a id="l00708" name="l00708"></a> 708 

<a id="l00709" name="l00709"></a> 709 \#ifdef \_\_cplusplus

<a id="l00710" name="l00710"></a> 710 }

<a id="l00711" name="l00711"></a> 711 \#endif

<a id="l00712" name="l00712"></a> 712 

<a id="l00713" name="l00713"></a> 713 \#endif // DYNARDO\_FMOP\_H

<a id="l00714" name="l00714"></a> 714 

<a id="l00715" name="l00715"></a> 715 // (c) 2017, DYNARDO Austria GmbH (proprietary license)

[FMOP\_getNodesAtElement](fmop__solver_8h.xhtml#a03080c2458b8c03eb85ce9eb97926711)

DYNARDO_FMOP_API fmop_error_t FMOP_getNodesAtElement(fmop_handle_t fmop, unsigned int element_idx, unsigned int *nodes)

Identifies the nodes connected to a given element.



[FMOP\_getNumNodesAtElement](fmop__solver_8h.xhtml#a031be0f125c4fbeb450f03bb960e207d)

DYNARDO_FMOP_API fmop_error_t FMOP_getNumNodesAtElement(fmop_handle_t fmop, unsigned int element_idx, unsigned int *num_nodes)

Identifies the nodes connected to a given element.



[FMOP\_getModelParamIdent](fmop__solver_8h.xhtml#a08f0951d2b7615c16e72341e13bad704)

DYNARDO_FMOP_API const char * FMOP_getModelParamIdent(const fmop_handle_t fmop, size_t num_param)

Returns the n-th active parameter identifier from the fmop handle given.



[FMOP\_getModelAvgFCoP](fmop__solver_8h.xhtml#a185c515c2fe8b0528ccb5f95f543a3be)

DYNARDO_FMOP_API fmop_error_t FMOP_getModelAvgFCoP(const fmop_handle_t fmop, double *fcops)

Returns the Field Coefficients of Prognosis per active scalar input parameter.



[FMOP\_approxField](fmop__solver_8h.xhtml#a1bd5d62d9c5ba6d327b0368a8b4e2e31)

DYNARDO_FMOP_API fmop_error_t FMOP_approxField(const fmop_handle_t fmop, const double *param_values, double *field)

Approximates a field response based on a vector of given active scalar input parameters.



[FMOP\_isNodePartOfBoundary](fmop__solver_8h.xhtml#a1ff1451cc5f1c6cefa7a67c6a906d653)

DYNARDO_FMOP_API fmop_error_t FMOP_isNodePartOfBoundary(fmop_handle_t fmop, unsigned int node_idx, unsigned int *is_part_of_boundary)

Identifies if the given node is on the surface.



[FMOP\_getModelTotalAvgFCoP](fmop__solver_8h.xhtml#a1ff6f33cf199015b78c5837e40d90f42)

DYNARDO_FMOP_API fmop_error_t FMOP_getModelTotalAvgFCoP(const fmop_handle_t fmop, double *fcop)

Returns the total average Field Coefficient of Prognosis for the fmop handle given.



[FMOP\_getModelIdents](fmop__solver_8h.xhtml#a22d6e807dc869fa28442d26e29ddbc27)

DYNARDO_FMOP_API fmop_error_t FMOP_getModelIdents(const fmop_db_handle_t database, fmop_dataobject_types data_type, char ***const fmop_idents, size_t *num_idents)

Returns all known FMOP identifier from the fmop_db_handle_t given.



[FMOP\_getModelDim](fmop__solver_8h.xhtml#a24e43563d67cc64bffb7bccddbaada65)

DYNARDO_FMOP_API fmop_error_t FMOP_getModelDim(const fmop_handle_t fmop, size_t *num_mesh_items)

Returns the size of the FCoP vector, aka the number of mesh items.



[FMOP\_getParamUpperBounds](fmop__solver_8h.xhtml#a301cfcf26e28ec7ba4b2c730facb679c)

DYNARDO_FMOP_API fmop_error_t FMOP_getParamUpperBounds(const fmop_handle_t fmop, double *upper_bounds)

Returns upper bound values of input parameters used to train the FMOP, aka the upper bound values of ...



[FMOP\_releaseIdents](fmop__solver_8h.xhtml#a37bdee678571cd855ac0bb10675b1d8c)

DYNARDO_FMOP_API fmop_error_t FMOP_releaseIdents(char ***const idents, const size_t *num_idents)

An auxiliary function to releases an array of char arrays and dedicated memory.



[FMOP\_releaseModel](fmop__solver_8h.xhtml#a3ad01c460ed6e409b79e258a523d0bf9)

DYNARDO_FMOP_API fmop_error_t FMOP_releaseModel(fmop_handle_t *fmop)

Releases a fmop_handle_t object and dedicated memory.



[FMOP\_approxFieldExtrapolate](fmop__solver_8h.xhtml#a4380a704857be093fc6444aa5b8fdadc)

DYNARDO_FMOP_API fmop_error_t FMOP_approxFieldExtrapolate(const fmop_handle_t fmop, const double *param_values, double *field)

Approximates a field response based on a vector of given active scalar input parameters.



[FMOP\_getNumElementsAtNode](fmop__solver_8h.xhtml#a4413f3e2bc5f893b9030631aceb03c54)

DYNARDO_FMOP_API fmop_error_t FMOP_getNumElementsAtNode(fmop_handle_t fmop, unsigned int node_idx, unsigned int *num_elements)

Identifies the elements connected to a given node.



[FMOP\_getModelParamIdents](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f)

DYNARDO_FMOP_API fmop_error_t FMOP_getModelParamIdents(const fmop_handle_t fmop, char ***const param_idents, size_t *num_params)

Returns all active scalar inputer parameters for the fmop handle given.



[fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572)

void * fmop_db_handle_t

Contains all the data being required to post-process any FMOP.

**Definition:** fmop_solver.h:42



[FMOP\_getDataPointCoors](fmop__solver_8h.xhtml#a535bee00c4d200d31fdf4118e49c1f05)

DYNARDO_FMOP_API fmop_error_t FMOP_getDataPointCoors(fmop_handle_t fmop, char axis, double *coors)

Returns the cartesian data point coordinates for each data point.



[FMOP\_getModelIdentsDim](fmop__solver_8h.xhtml#a600dca69efae1f2eafc63f9f6a0067fc)

DYNARDO_FMOP_API fmop_error_t FMOP_getModelIdentsDim(const fmop_db_handle_t database, fmop_dataobject_types data_type, size_t *num_idents)

Returns the total number of known FMOP identifiers from the fmop_db_handle_t given.



[FMOP\_getDataDim](fmop__solver_8h.xhtml#a878106f886ca5f1ce112e6c5e238d80e)

DYNARDO_FMOP_API fmop_error_t FMOP_getDataDim(const fmop_db_handle_t database, fmop_dataobject_types data_type, size_t *num_mesh_items)

Returns the size of the FCoP vector, aka the number of mesh items.



[FMOP\_getElementsAtNode](fmop__solver_8h.xhtml#a8ca72d6a865df21ce5a5180475c71cda)

DYNARDO_FMOP_API fmop_error_t FMOP_getElementsAtNode(fmop_handle_t fmop, unsigned int node_idx, unsigned int *elements)

Identifies the elements connected to a given node.



[FMOP\_getModel](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc)

DYNARDO_FMOP_API fmop_error_t FMOP_getModel(fmop_db_handle_t database, fmop_dataobject_types data_type, const char *const fmop_ident, fmop_handle_t *fmop)

Loads a fmop_handle_t data object from the database given.



[FMOP\_loadDbFileWMesh](fmop__solver_8h.xhtml#ab3f6b6b4a84878f3c774a12a2b4cf958)

DYNARDO_FMOP_API fmop_error_t FMOP_loadDbFileWMesh(fmop_db_handle_t *database, const char *path)

Initializes a fmop_db_handle_t object from a previously saved Statistics on Structures (SoS) database...



[FMOP\_getParamLowerBounds](fmop__solver_8h.xhtml#abaed2ac2af6a304f8356e51b9cb98442)

DYNARDO_FMOP_API fmop_error_t FMOP_getParamLowerBounds(const fmop_handle_t fmop, double *lower_bounds)

Returns lower bound values of input parameters used to train the FMOP, aka the lower bound values of ...



[FMOP\_getModelParamIdentsDim](fmop__solver_8h.xhtml#adabef430a391d15eb077fe30e134f368)

DYNARDO_FMOP_API fmop_error_t FMOP_getModelParamIdentsDim(const fmop_handle_t fmop, size_t *num_params)

Returns the total number of active parameter identifiers from the fmop handle given.



[FMOP\_getDataPointIndices](fmop__solver_8h.xhtml#add2527ad2ad1bf1df141e5fa5b4c2e31)

DYNARDO_FMOP_API fmop_error_t FMOP_getDataPointIndices(fmop_handle_t fmop, unsigned int *part_ids, unsigned int *item_ids)

Maps internal node/element numbering to the external scheme consisting of part and item ID.



[FMOP\_getElementTypeIdent](fmop__solver_8h.xhtml#ade1eac903ae657e448adf1f7c6aa463c)

DYNARDO_FMOP_API const char * FMOP_getElementTypeIdent(fmop_handle_t fmop, unsigned int element_idx)

Identifies the element type ident of a given element.



[FMOP\_getModelIdent](fmop__solver_8h.xhtml#ade959f2a7f6866382b76e32204597220)

DYNARDO_FMOP_API const char * FMOP_getModelIdent(const fmop_db_handle_t database, fmop_dataobject_types data_type, size_t num_ident)

Returns the n-th known FMOP identifier from the fmop_db_handle_t given.



[FMOP\_loadDbFile](fmop__solver_8h.xhtml#adf36057836bc12095f01665fa068ba4c)

DYNARDO_FMOP_API fmop_error_t FMOP_loadDbFile(fmop_db_handle_t *database, const char *path)

Initializes a fmop_db_handle_t object from a previously saved Statistics on Structures (SoS) database...



[fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)

void * fmop_handle_t

Contains one specific single or cross correlated FMOP.

**Definition:** fmop_solver.h:53



[FMOP\_releaseDb](fmop__solver_8h.xhtml#af36d28d4c5c718284a0f4236f2740e06)

DYNARDO_FMOP_API fmop_error_t FMOP_releaseDb(fmop_db_handle_t *database)

Releases a fmop_db_handle_t object and dedicated memory.



[sos\_capi\_common.h](sos__capi__common_8h.xhtml)

C-API for utility functions (load/unload library, license management, error handling)



[fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec)

fmop_error_t

Error code definitions.

**Definition:** sos_capi_common.h:80



[fmop\_dataobject\_types](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75)

fmop_dataobject_types

Data type definitions.

**Definition:** sos_capi_common.h:112