    

 ## On this page

  

 

 # fmop\_solver.h File Reference

 Last update: 22.02.2024 

C-API to evaluate a Field Meta model of Optimal Prognosis (FMOP) [More...](#details)

`#include "<a class="el" href="sos__capi__common_8h_source.xhtml">sos_capi_common.h</a>"`  


[Go to the source code of this file.](fmop__solver_8h_source.xhtml)

## <a id="typedef-members" name="typedef-members"></a>Typedefs

typedef void \* [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) Contains all the data being required to post-process any FMOP. [More...](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572)  
 typedef void \* [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) Contains one specific single or cross correlated FMOP. [More...](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  
 ## <a id="func-members" name="func-members"></a>Functions

Create / Initialize Data Objects

API handling data object life time



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) Initializes a fmop\_db\_handle\_t object from a previously saved Statistics on Structures (SoS) database. [More...](fmop__solver_8h.xhtml#adf36057836bc12095f01665fa068ba4c)  
 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) Initializes a fmop\_db\_handle\_t object from a previously saved Statistics on Structures (SoS) database This function also builds up all internal data structures needed to represent FEM meshes. Hence it may need more CPU time and RAM. [More...](fmop__solver_8h.xhtml#ab3f6b6b4a84878f3c774a12a2b4cf958)  
 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, const char \*const fmop\_ident, [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) \*fmop) Loads a fmop\_handle\_t data object from the database given. [More...](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc)  
 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) Releases a fmop\_handle\_t object and dedicated memory. [More...](fmop__solver_8h.xhtml#a3ad01c460ed6e409b79e258a523d0bf9)  
 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) Releases a fmop\_db\_handle\_t object and dedicated memory. [More...](fmop__solver_8h.xhtml#af36d28d4c5c718284a0f4236f2740e06)  
 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) An auxiliary function to releases an array of char arrays and dedicated memory. [More...](fmop__solver_8h.xhtml#a37bdee678571cd855ac0bb10675b1d8c)  
 Query properties

API to query idents and properties of a "Field Meta Model of Optimal Prognosis" (FMOP)



DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModelIdents](fmop__solver_8h.xhtml#a22d6e807dc869fa28442d26e29ddbc27) (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) Returns all known FMOP identifier from the fmop\_db\_handle\_t given. [More...](fmop__solver_8h.xhtml#a22d6e807dc869fa28442d26e29ddbc27)  
 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModelIdentsDim](fmop__solver_8h.xhtml#a600dca69efae1f2eafc63f9f6a0067fc) (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) Returns the total number of known FMOP identifiers from the fmop\_db\_handle\_t given. [More...](fmop__solver_8h.xhtml#a600dca69efae1f2eafc63f9f6a0067fc)  
 DYNARDO\_FMOP\_API const char \* [FMOP\_getModelIdent](fmop__solver_8h.xhtml#ade959f2a7f6866382b76e32204597220) (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) Returns the n-th known FMOP identifier from the fmop\_db\_handle\_t given. [More...](fmop__solver_8h.xhtml#ade959f2a7f6866382b76e32204597220)  
 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_getModelParamIdents](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f) (const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, char \*\*\*const param\_idents, size\_t \*num\_params) Returns all active scalar inputer parameters for the fmop handle given. [More...](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f)  
 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) Returns the total number of active parameter identifiers from the fmop handle given. [More...](fmop__solver_8h.xhtml#adabef430a391d15eb077fe30e134f368)  
 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) Returns the n-th active parameter identifier from the fmop handle given. [More...](fmop__solver_8h.xhtml#a08f0951d2b7615c16e72341e13bad704)  
 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) Returns lower bound values of input parameters used to train the FMOP, aka the lower bound values of Design of Experiment input parameters. [More...](fmop__solver_8h.xhtml#abaed2ac2af6a304f8356e51b9cb98442)  
 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) Returns upper bound values of input parameters used to train the FMOP, aka the upper bound values of Design of Experiment input parameters. [More...](fmop__solver_8h.xhtml#a301cfcf26e28ec7ba4b2c730facb679c)  
 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) Returns the total average Field Coefficient of Prognosis for the fmop handle given. [More...](fmop__solver_8h.xhtml#a1ff6f33cf199015b78c5837e40d90f42)  
 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) Returns the Field Coefficients of Prognosis per active scalar input parameter. [More...](fmop__solver_8h.xhtml#a185c515c2fe8b0528ccb5f95f543a3be)  
 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) Returns the size of the FCoP vector, aka the number of mesh items. [More...](fmop__solver_8h.xhtml#a24e43563d67cc64bffb7bccddbaada65)  
 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) Returns the size of the FCoP vector, aka the number of mesh items. [More...](fmop__solver_8h.xhtml#a878106f886ca5f1ce112e6c5e238d80e)  
 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) Maps internal node/element numbering to the external scheme consisting of part and item ID. [More...](fmop__solver_8h.xhtml#add2527ad2ad1bf1df141e5fa5b4c2e31)  
 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) Returns the cartesian data point coordinates for each data point. [More...](fmop__solver_8h.xhtml#a535bee00c4d200d31fdf4118e49c1f05)  
 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) Identifies the elements connected to a given node. [More...](fmop__solver_8h.xhtml#a4413f3e2bc5f893b9030631aceb03c54)  
 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) Identifies the elements connected to a given node. [More...](fmop__solver_8h.xhtml#a8ca72d6a865df21ce5a5180475c71cda)  
 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) Identifies if the given node is on the surface. [More...](fmop__solver_8h.xhtml#a1ff1451cc5f1c6cefa7a67c6a906d653)  
 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) Identifies the nodes connected to a given element. [More...](fmop__solver_8h.xhtml#a031be0f125c4fbeb450f03bb960e207d)  
 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) Identifies the nodes connected to a given element. [More...](fmop__solver_8h.xhtml#a03080c2458b8c03eb85ce9eb97926711)  
 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) Identifies the element type ident of a given element. [More...](fmop__solver_8h.xhtml#ade1eac903ae657e448adf1f7c6aa463c)  
 Operations

API used to evalute a Field Meta Model of Optimal Prognosis (FMOP)



DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_approxField](fmop__solver_8h.xhtml#a1bd5d62d9c5ba6d327b0368a8b4e2e31) (const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, const double \*param\_values, double \*field) Approximates a field response based on a vector of given active scalar input parameters. [More...](fmop__solver_8h.xhtml#a1bd5d62d9c5ba6d327b0368a8b4e2e31)  
 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) [FMOP\_approxFieldExtrapolate](fmop__solver_8h.xhtml#a4380a704857be093fc6444aa5b8fdadc) (const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) fmop, const double \*param\_values, double \*field) Approximates a field response based on a vector of given active scalar input parameters. [More...](fmop__solver_8h.xhtml#a4380a704857be093fc6444aa5b8fdadc)  
 <a id="details" name="details"></a>## Detailed Description

C-API to evaluate a Field Meta model of Optimal Prognosis (FMOP)

CopyrightDYNARDO Austria GmbH- This API follows the *Basic* exception safety *rule*. If any of the operations fail, the original data, e.g. the fmop\_handle\*\_t, might have been overwritten, but there should be no resource leak.
- Return values are typically of type fmop\_error\_t. To get a human readalbe interpretation forward this value to [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") or call [FMOP\_getLastErrorString()](sos__capi__common_8h.xhtml#a5e19e7fe152759a80115e908c593245d "Returns internal log messages of level warning and above."). More information can be found in the Error Handling section
- Log messages from the SoS kernel are all bufferd in an internal variable. Unless otherwise stated in a function description, this internal variable gets reset(!) right at the beginning of each function call. Therefore, the user is forced into fetching all log messages of interest before proceeding.

WarningConcurrent library calls are NOT supported Unless otherwise stated, every function call overwrites any log message of any previous function call 

## Typedef Documentation

<a id="a4f3b1f4672b1b913e04f95def14d3572"></a>## [◆ ](#a4f3b1f4672b1b913e04f95def14d3572)fmop\_db\_handle\_t

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

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

NoteSince we had some unresolved troubles in Matlab using the forward declaration typedef struct FMOP_Database* [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572); 

[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





 we now prefer to write for the public definition 'void\*' only 



<a id="aed65d1ae14f8c298a702ad5b828a70ef"></a>## [◆ ](#aed65d1ae14f8c298a702ad5b828a70ef)fmop\_handle\_t

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

Contains one specific single or cross correlated FMOP.

NoteSince we had some unresolved troubles in Matlab using the forward declaration typedef struct FMOP* [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef); 

[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





 we now prefer to write for the public defintion 'void\*' only 



## Function Documentation

<a id="a1bd5d62d9c5ba6d327b0368a8b4e2e31"></a>## [◆ ](#a1bd5d62d9c5ba6d327b0368a8b4e2e31)FMOP\_approxField()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_approxField  ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    const double \*  *param\_values*,    double \*  *field*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in\]param\_valuesVector of a single sample of all active scalar input parameters. Size and parameter order are defined by the return values of [FMOP\_getModelParamIdents()](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f "Returns all active scalar inputer parameters for the fmop handle given.")  
 param\_values \[j\]... the index j matches the parameter input name position returned in the param\_idents argument of [FMOP\_getModelParamIdents()](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f "Returns all active scalar inputer parameters for the fmop handle given.")   
 sizeof ( param\_values ) ... must match the num\_params argument of [FMOP\_getModelParamIdents()](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f "Returns all active scalar inputer parameters for the fmop handle given.") The values must not be located outside the initial sampling bounds. \[out\]fieldAn already initialized array of size num\_mesh\_items as returned by [FMOP\_getModelDim()](fmop__solver_8h.xhtml#a24e43563d67cc64bffb7bccddbaada65 "Returns the size of the FCoP vector, aka the number of mesh items.") On output contains the approximated field response.   
 Follows the scheme: ![$ field[k] $](/sites/default/files/migrate-content/osp3d_c_api_of_fmopsolver/form_2.png)  
 k...internal mesh item ident, e.g. internal signal position, internal element number   
 Call [FMOP\_getDataPointIndices()](fmop__solver_8h.xhtml#add2527ad2ad1bf1df141e5fa5b4c2e31 "Maps internal node/element numbering to the external scheme consisting of part and item ID.") to map internal to external numbering scheme Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop handle is not allocated.
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the param\_values or field array argument is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation. For detailed log messages call FMOP\_getLastError() which outputs internal log messages. 



<a id="a4380a704857be093fc6444aa5b8fdadc"></a>## [◆ ](#a4380a704857be093fc6444aa5b8fdadc)FMOP\_approxFieldExtrapolate()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_approxFieldExtrapolate  ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    const double \*  *param\_values*,    double \*  *field*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in\]param\_valuesVector of a single sample of all active scalar input parameters. Size and parameter order are defined by the return values of [FMOP\_getModelParamIdents()](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f "Returns all active scalar inputer parameters for the fmop handle given.")  
 param\_values \[j\]... the index j matches the parameter input name position returned in the param\_idents argument of [FMOP\_getModelParamIdents()](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f "Returns all active scalar inputer parameters for the fmop handle given.")   
 sizeof ( param\_values ) ... must match the num\_params argument of [FMOP\_getModelParamIdents()](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f "Returns all active scalar inputer parameters for the fmop handle given.") The values may be located outside the initial sampling bounds. \[out\]fieldAn already initialized array of size num\_mesh\_items as returned by [FMOP\_getModelDim()](fmop__solver_8h.xhtml#a24e43563d67cc64bffb7bccddbaada65 "Returns the size of the FCoP vector, aka the number of mesh items.") On output contains the approximated field response.   
 Follows the scheme: ![$ field[k] $](/sites/default/files/migrate-content/osp3d_c_api_of_fmopsolver/form_2.png)  
 k...internal mesh item ident, e.g. internal signal position, internal element number   
 Call [FMOP\_getDataPointIndices()](fmop__solver_8h.xhtml#add2527ad2ad1bf1df141e5fa5b4c2e31 "Maps internal node/element numbering to the external scheme consisting of part and item ID.") to map internal to external numbering scheme Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop handle is not allocated.
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the param\_values or field array argument is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation. For detailed log messages call FMOP\_getLastError() which outputs internal log messages. 



<a id="a878106f886ca5f1ce112e6c5e238d80e"></a>## [◆ ](#a878106f886ca5f1ce112e6c5e238d80e)FMOP\_getDataDim()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getDataDim  ( 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*   ) 

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

Parameters \[in\]databaseA successfully initialized fmop\_db\_handle\_t data object \[in\]data\_typeThe data type to be queried (node, element, scalar) \[in,out\]num\_mesh\_itemsAn already initialized scalar data object. Contains the size of the data vectors for the givvemn data type on return Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the num\_mesh\_items pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that FMOP\_initialize() returned fmop\_model\_success 



<a id="a535bee00c4d200d31fdf4118e49c1f05"></a>## [◆ ](#a535bee00c4d200d31fdf4118e49c1f05)FMOP\_getDataPointCoors()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getDataPointCoors  ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    char  *axis*,    double \*  *coors*   ) 

Returns the cartesian data point coordinates for each data point.

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in\]axisControls coordinate output. The following integers are accepted:- 0... asks for x-coordinates only
- 1... asks for y-coordinates only
- 2... asks for z-coordinates only
- 3... asks for x-, y- and z-coordinates

\[in,out\]coorsAn already initialized array of size ![$ ( 1 + \lfloor \frac{\mathit{axis}}{3} \rfloor ) * \mathit{num\_mesh\_items} $](/sites/default/files/migrate-content/osp3d_c_api_of_fmopsolver/form_0.png). Call [FMOP\_getModelDim()](fmop__solver_8h.xhtml#a24e43563d67cc64bffb7bccddbaada65 "Returns the size of the FCoP vector, aka the number of mesh items.") to get *num\_mesh\_items*. On output contains the following coordinate values:- finite element nodes for an FMOP of type [fmop\_node\_data](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75aaf0fb275c161febc56c4f10e62987049 "node data (one scalar per node)")
- finite elements using their center coordinate in space for an FMOP of type [fmop\_element\_data](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75a1ec31fe31f3b8a9fd9dd902b014499ef "element data (one scalar per element)")
- an FMOP of type [fmop\_scalar\_data](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75a16a14aa0d55901638e165fb3a39b3870 "scalar data (vector of size 1)") invokes an [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") error Follows the scheme: ![$ \mathit{coors} \lbrack k+ \mathit{axis} \bmod 3 \rbrack $](/sites/default/files/migrate-content/osp3d_c_api_of_fmopsolver/form_1.png) with   
     k...internal mesh item ident, e.g. internal signal position, internal element number   
     Call [FMOP\_getDataPointIndices()](fmop__solver_8h.xhtml#add2527ad2ad1bf1df141e5fa5b4c2e31 "Maps internal node/element numbering to the external scheme consisting of part and item ID.") to map internal to external numbering scheme

Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the axis parameter is out-of-bounds, or the coors pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success WarningCalling this function for FMOP models of type [fmop\_element\_data](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75a1ec31fe31f3b8a9fd9dd902b014499ef "element data (one scalar per element)") multiplies resource consumption! 



<a id="add2527ad2ad1bf1df141e5fa5b4c2e31"></a>## [◆ ](#add2527ad2ad1bf1df141e5fa5b4c2e31)FMOP\_getDataPointIndices()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getDataPointIndices  ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    unsigned int \*  *part\_ids*,    unsigned int \*  *item\_ids*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in,out\]part\_idsEither an already initialized array of size num\_mesh\_items as returned by [FMOP\_getModelDim()](fmop__solver_8h.xhtml#a24e43563d67cc64bffb7bccddbaada65 "Returns the size of the FCoP vector, aka the number of mesh items."), or a NULL pointer. Note, most of the meshes consists of a single part only, e.g. signals. If the argument is initialized, it contains the external part IDs on output. A NULL pointer otherwise  
external( internal[k] ) = PART_ID [k], item_id [k] 



 k...mesh item, e.g. signal position, element number \[in,out\]item\_idsAn already initialized array of size num\_mesh\_items as returned by [FMOP\_getModelDim()](fmop__solver_8h.xhtml#a24e43563d67cc64bffb7bccddbaada65 "Returns the size of the FCoP vector, aka the number of mesh items."). On output contains the external node/element ID   
external( internal[k] ) = part_id [k], ITEM_ID [k] 



 k...mesh item, e.g. signal position, element number Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the item\_id pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representationNoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a8ca72d6a865df21ce5a5180475c71cda"></a>## [◆ ](#a8ca72d6a865df21ce5a5180475c71cda)FMOP\_getElementsAtNode()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getElementsAtNode  ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    unsigned int  *node\_idx*,    unsigned int \*  *elements*   ) 

Identifies the elements connected to a given node.

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in\]node\_idxthe node index (0.. numNodes). This node index refers to the index in the FMOP data vectors. \[in,out\]elementsAn already initialized array of size as returned by [FMOP\_getNumElementsAtNode()](fmop__solver_8h.xhtml#a4413f3e2bc5f893b9030631aceb03c54 "Identifies the elements connected to a given node."). On output contains the internal element ID that are connected to the given node. Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the item\_id pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representationNoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="ade1eac903ae657e448adf1f7c6aa463c"></a>## [◆ ](#ade1eac903ae657e448adf1f7c6aa463c)FMOP\_getElementTypeIdent()

 DYNARDO\_FMOP\_API const char\* FMOP\_getElementTypeIdent  ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    unsigned int  *element\_idx*   ) 

Identifies the element type ident of a given element.

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in\]element\_idxthe element index (0.. numElements). This element index refers to the index in the FMOP data vectors. ReturnsOn success the element type identifier at array position num\_ident from the database given, othewise an empty string. NoteCalling this function changes the error number to:- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the database or fmop\_idents arguments is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the param\_ident pointer does not hold a NULL pointer on input
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the value of num\_param given is greater than, or equal to the size of the param\_idents char\* array \[\]
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise. Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation

Assumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="aae65fdf242dba6c37b9de818be7c9dcc"></a>## [◆ ](#aae65fdf242dba6c37b9de818be7c9dcc)FMOP\_getModel()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getModel  ( [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572)  *database*,    [fmop\_dataobject\_types](sos__capi__common_8h.xhtml#a69eb42c1b3b49f22b9e73c6c9869cb75)  *data\_type*,    const char \*const  *fmop\_ident*,    [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) \*  *fmop*   ) 

Loads a fmop\_handle\_t data object from the database given.

Parameters \[in\]databaseThe already initialized database handle \[in\]data\_typeThe data type in question \[in\]fmop\_identThe FMOP ident to be loaded from the database given \[in,out\]fmopOn input *\*fmop* must point to NULL. Returns an initialized fmop handle to the requested *fmop\_ident* on output. Pointer ownership is up to the caller after return. Call FMOP\_releaseModel (fmop\_handle\_t \*) at the end of lifetime. Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the database or fmop\_ident argument is a NULL pointer
- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the *fmop* argument does not hold a NULL pointer on input
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to load a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_model\_missing](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becaedda7a6dbd4f5dd3eedecca9ec7dc1e9 "The requested model identifier is not known.") if the handle initialization fails
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that FMOP\_initialize() returned fmop\_model\_successReturnsA success indicator. Call FMOP\_getErrnoString to get a human readable representation 



<a id="a185c515c2fe8b0528ccb5f95f543a3be"></a>## [◆ ](#a185c515c2fe8b0528ccb5f95f543a3be)FMOP\_getModelAvgFCoP()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getModelAvgFCoP  ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    double \*  *fcops*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in,out\]fcopsAn already initialized array of size num\_params as returned by FMOP\_getModelNumParams() On output contains the average Field Coefficient of Prognosis per active scalar input parameter Follows the scheme: fcops\[i\] (i..i'th active scalar input parameter). Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the fcops pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a24e43563d67cc64bffb7bccddbaada65"></a>## [◆ ](#a24e43563d67cc64bffb7bccddbaada65)FMOP\_getModelDim()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getModelDim  ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    size\_t \*  *num\_mesh\_items*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in,out\]num\_mesh\_itemsAn already initialized scalar data object. Contains the size of the FCoP vector on return Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the num\_mesh\_items pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="ade959f2a7f6866382b76e32204597220"></a>## [◆ ](#ade959f2a7f6866382b76e32204597220)FMOP\_getModelIdent()

 DYNARDO\_FMOP\_API const char\* FMOP\_getModelIdent  ( 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*   ) 

Returns the n-th known FMOP identifier from the fmop\_db\_handle\_t given.

Parameters \[in\]databaseA successfully initialized fmop\_db\_handle\_t data object \[in\]data\_typeThe data type in question \[in\]num\_identDefines the position in the fmop\_idents char\* array \[\]. Notice that the first element has a position of 0 ReturnsOn succes the FMOP identifier at array position num\_ident from the database given, otherwise an empty string. The returned string will be overwritten by this function at the next call and will be destroyed on program termination NoteCalling this function changes the error number to:- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the database or fmop\_idents arguments is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the fmop\_idents pointer does not hold a NULL pointer on input
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the value of num\_ident given is greater than, or equal to the size of the fmop\_idents char\* array \[\]
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise. Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation

Assumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a22d6e807dc869fa28442d26e29ddbc27"></a>## [◆ ](#a22d6e807dc869fa28442d26e29ddbc27)FMOP\_getModelIdents()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getModelIdents  ( 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*   ) 

Returns all known FMOP identifier from the fmop\_db\_handle\_t given.

Parameters \[in\]databaseA successfully initialized fmop\_db\_handle\_t data object \[in\]data\_typeThe data type in question \[in,out\]fmop\_identsOn input *\*fmop\_idents* must point to NULL. On return contains all known FMOP identifier from the database given. Pointer ownership is up to the caller after return. Call [FMOP\_releaseIdents()](fmop__solver_8h.xhtml#a37bdee678571cd855ac0bb10675b1d8c "An auxiliary function to releases an array of char arrays and dedicated memory.") at the end of life \[in,out\]num\_identsAn already initialized scalar data object. Contains the number of FMOP idents, aka the size of the fmop\_idents char\* array \[\] Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the database or fmop\_idents arguments is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the fmop\_idents pointer does not hold a NULL pointer on input
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the num\_idents pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success Many languages offers the possiblity to call functions from an external C-library, e.g. Java, python and Matlab. If you are running in some limitations due to our tripple pointer requirement, please use the wrapper functions [FMOP\_getModelIdentsDim()](fmop__solver_8h.xhtml#a600dca69efae1f2eafc63f9f6a0067fc "Returns the total number of known FMOP identifiers from the fmop_db_handle_t given.") followed by [FMOP\_getModelIdent()](fmop__solver_8h.xhtml#ade959f2a7f6866382b76e32204597220 "Returns the n-th known FMOP identifier from the fmop_db_handle_t given.") to query known idents one by one 



<a id="a600dca69efae1f2eafc63f9f6a0067fc"></a>## [◆ ](#a600dca69efae1f2eafc63f9f6a0067fc)FMOP\_getModelIdentsDim()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getModelIdentsDim  ( 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*   ) 

Returns the total number of known FMOP identifiers from the fmop\_db\_handle\_t given.

Parameters \[in\]databaseA successfully initialized fmop\_db\_handle\_t data object \[in\]data\_typeThe data type in question \[in,out\]num\_identsAn already initialized scalar data object. Contains the number of FMOP idents, aka the size of the fmop\_idents char\* array \[\] Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the database or fmop\_idents arguments is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the num\_idents pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a08f0951d2b7615c16e72341e13bad704"></a>## [◆ ](#a08f0951d2b7615c16e72341e13bad704)FMOP\_getModelParamIdent()

 DYNARDO\_FMOP\_API const char\* FMOP\_getModelParamIdent  ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    size\_t  *num\_param*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in\]num\_paramDefines the position in the fmop\_idents char\* array \[\]. Notice that the first element has a position of 0 ReturnsOn success the parameter identifier at array position num\_ident from the database given, othewise an empty string. The returned string will be overwritten by this function at the next call and will be destroyed on program termination NoteCalling this function changes the error number to:- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the database or fmop\_idents arguments is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the param\_ident pointer does not hold a NULL pointer on input
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the value of num\_param given is greater than, or equal to the size of the param\_idents char\* array \[\]
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise. Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation

Assumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a485827623b3d01cf3157c0a16559908f"></a>## [◆ ](#a485827623b3d01cf3157c0a16559908f)FMOP\_getModelParamIdents()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getModelParamIdents  ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    char \*\*\*const  *param\_idents*,    size\_t \*  *num\_params*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[out\]param\_identsRequires a NULL pointer on input. On return contains all active scalar input parameters used in the fmop handle given. Pointer ownership is up to the caller after return. Call [FMOP\_releaseIdents()](fmop__solver_8h.xhtml#a37bdee678571cd855ac0bb10675b1d8c "An auxiliary function to releases an array of char arrays and dedicated memory.") at the end of life \[in,out\]num\_paramsAn already initialized scalar data object. Contains the number of active scalar input parameters used in the fmop handle given, aka the size of the param\_idents char\* array \[\] Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop or param\_idents arguments is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the param\_idents pointer does not hold a NULL pointer on input
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the num\_params pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success Many languages offers the possiblity to call functions from an external C-library, e.g. Java, python and Matlab. If you are running in some limitations due to our tripple pointer requirement, please use the wrapper functions [FMOP\_getModelParamIdentsDim()](fmop__solver_8h.xhtml#adabef430a391d15eb077fe30e134f368 "Returns the total number of active parameter identifiers from the fmop handle given.") followed by [FMOP\_getModelParamIdent()](fmop__solver_8h.xhtml#a08f0951d2b7615c16e72341e13bad704 "Returns the n-th active parameter identifier from the fmop handle given.") to query known idents one by one 



<a id="adabef430a391d15eb077fe30e134f368"></a>## [◆ ](#adabef430a391d15eb077fe30e134f368)FMOP\_getModelParamIdentsDim()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getModelParamIdentsDim  ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    size\_t \*  *num\_params*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in,out\]num\_paramsAn already initialized scalar data object. Contains the number of active scalar input parameters used in the fmop handle given, aka the size of the param\_idents char\* array \[\] Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop or param\_idents arguments is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the num\_params pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a1ff6f33cf199015b78c5837e40d90f42"></a>## [◆ ](#a1ff6f33cf199015b78c5837e40d90f42)FMOP\_getModelTotalAvgFCoP()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getModelTotalAvgFCoP  ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    double \*  *fcop*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in,out\]fcopAn already initialized scalar data object on input. On output contains the total average Field Coefficient of Prognosis Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the fcop pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a03080c2458b8c03eb85ce9eb97926711"></a>## [◆ ](#a03080c2458b8c03eb85ce9eb97926711)FMOP\_getNodesAtElement()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getNodesAtElement  ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    unsigned int  *element\_idx*,    unsigned int \*  *nodes*   ) 

Identifies the nodes connected to a given element.

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in\]element\_idxthe element index (0.. numElements). This element index refers to the index in the FMOP data vectors. \[in,out\]nodesAn already initialized array of size as returned by [FMOP\_getNumNodesAtElement()](fmop__solver_8h.xhtml#a031be0f125c4fbeb450f03bb960e207d "Identifies the nodes connected to a given element."). On output contains the internal node ID that are connected to the given element. Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the item\_id pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representationNoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a4413f3e2bc5f893b9030631aceb03c54"></a>## [◆ ](#a4413f3e2bc5f893b9030631aceb03c54)FMOP\_getNumElementsAtNode()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getNumElementsAtNode  ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    unsigned int  *node\_idx*,    unsigned int \*  *num\_elements*   ) 

Identifies the elements connected to a given node.

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in\]node\_idxthe node index (0.. numNodes). This node index refers to the index in the FMOP data vectors. \[in,out\]num\_elementsa pointer to an unsigned integer number. On output it will contain the number of connected elements. Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the item\_id pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representationNoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a031be0f125c4fbeb450f03bb960e207d"></a>## [◆ ](#a031be0f125c4fbeb450f03bb960e207d)FMOP\_getNumNodesAtElement()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getNumNodesAtElement  ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    unsigned int  *element\_idx*,    unsigned int \*  *num\_nodes*   ) 

Identifies the nodes connected to a given element.

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in\]element\_idxthe element index (0.. numElements). This element index refers to the index in the FMOP data vectors. \[in,out\]num\_nodesa pointer to an unsigned integer number. On output it will contain the number of connected nodes. Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the item\_id pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representationNoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="abaed2ac2af6a304f8356e51b9cb98442"></a>## [◆ ](#abaed2ac2af6a304f8356e51b9cb98442)FMOP\_getParamLowerBounds()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getParamLowerBounds  ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    double \*  *lower\_bounds*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in,out\]lower\_boundsAn already initialized array of size num\_params as returned by [FMOP\_getModelParamIdents()](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f "Returns all active scalar inputer parameters for the fmop handle given.") On output contains the vector of lower bound values of all active scalar input parameters used to train the FMOP, e.g. lower\_bounds[j](j..index%20of%20the%20active%20scalar%20input%20parameter). Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the lower\_bounds pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation NoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a301cfcf26e28ec7ba4b2c730facb679c"></a>## [◆ ](#a301cfcf26e28ec7ba4b2c730facb679c)FMOP\_getParamUpperBounds()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_getParamUpperBounds  ( const [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    double \*  *upper\_bounds*   ) 

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

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in,out\]upper\_boundsAn already initialized array of size num\_params as returned by [FMOP\_getModelParamIdents()](fmop__solver_8h.xhtml#a485827623b3d01cf3157c0a16559908f "Returns all active scalar inputer parameters for the fmop handle given.") On output contains the vector of upper bound values of all active scalar input parameters used to train the FMOP, e.g. upper\_bounds[j](j..index%20of%20the%20active%20scalar%20input%20parameter). Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the upper\_bounds pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise.

Call FMOP\_getErrnoString to get a human readable representation NoteAssumes that [FMOP\_getModel()](fmop__solver_8h.xhtml#aae65fdf242dba6c37b9de818be7c9dcc "Loads a fmop_handle_t data object from the database given.") returned fmop\_success 



<a id="a1ff1451cc5f1c6cefa7a67c6a906d653"></a>## [◆ ](#a1ff1451cc5f1c6cefa7a67c6a906d653)FMOP\_isNodePartOfBoundary()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_isNodePartOfBoundary  ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef)  *fmop*,    unsigned int  *node\_idx*,    unsigned int \*  *is\_part\_of\_boundary*   ) 

Identifies if the given node is on the surface.

Parameters \[in\]fmopA successfully initialized fmop\_handle\_t data object \[in\]node\_idxthe node index (0.. numNodes). This node index refers to the index in the FMOP data vectors. \[in,out\]is\_part\_of\_boundarya pointer to an unsigned integer number. On output it will contain- 1 if the node is on the boundary
- 0 if the node is not on the boundary

Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the fmop argument is a NULL pointer
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the item\_id pointer is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation 



<a id="adf36057836bc12095f01665fa068ba4c"></a>## [◆ ](#adf36057836bc12095f01665fa068ba4c)FMOP\_loadDbFile()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_loadDbFile  ( [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) \*  *database*,    const char \*  *path*   ) 

Initializes a fmop\_db\_handle\_t object from a previously saved Statistics on Structures (SoS) database.

Parameters \[in,out\]databaseOn input *\*database* must point to NULL. Returns an initialized handle to the loaded database on ouptut. The database of the returned handle has been set to the content of the file path given. Pointer ownership is up to the caller after return. Call FMOP\_releaseDb (fmop\_db\_handle\_t \*) at the end of lifetime. \[in\]pathThe path to the SoS database file as a NULL terminated character array Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the database argument does not hold a NULL pointer on input
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the path argument doesn't point to an existing file
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to load a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") if the fmop\_db\_handle\_t has been initialized successfully

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation. 



<a id="ab3f6b6b4a84878f3c774a12a2b4cf958"></a>## [◆ ](#ab3f6b6b4a84878f3c774a12a2b4cf958)FMOP\_loadDbFileWMesh()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_loadDbFileWMesh  ( [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) \*  *database*,    const char \*  *path*   ) 

Initializes a fmop\_db\_handle\_t object from a previously saved Statistics on Structures (SoS) database This function also builds up all internal data structures needed to represent FEM meshes. Hence it may need more CPU time and RAM.

Parameters \[in,out\]databaseOn input *\*database* must point to NULL. Returns an initialized handle to the loaded database on ouptut. The database of the returned handle has been set to the content of the file path given. Pointer ownership is up to the caller after return. Call FMOP\_releaseDb (fmop\_db\_handle\_t \*) at the end of lifetime. \[in\]pathThe path to the SoS database file as a NULL terminated character array Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the database argument does not hold a NULL pointer on input
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the path argument doesn't point to an existing file
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to load a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") if the fmop\_db\_handle\_t has been initialized successfully

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation. 



<a id="af36d28d4c5c718284a0f4236f2740e06"></a>## [◆ ](#af36d28d4c5c718284a0f4236f2740e06)FMOP\_releaseDb()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_releaseDb  ( [fmop\_db\_handle\_t](fmop__solver_8h.xhtml#a4f3b1f4672b1b913e04f95def14d3572) \*  *database*) 

Releases a fmop\_db\_handle\_t object and dedicated memory.

Parameters \[in,out\]databaseThe fmop\_db\_handle\_t to be released. Set to NULLptr on return. Returns- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation 



<a id="a37bdee678571cd855ac0bb10675b1d8c"></a>## [◆ ](#a37bdee678571cd855ac0bb10675b1d8c)FMOP\_releaseIdents()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_releaseIdents  ( char \*\*\*const  *idents*,    const size\_t \*  *num\_idents*   ) 

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

Parameters \[in,out\]identsA pointer to an array of char arrays. Set to NULLptr on return. \[in\]num\_identsAn already initialized scalar data object. Contains the number of idents in the char\*\* array \[\] given Returns- [fmop\_invalid\_handle](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacef5c059b0dd649f97d5404db95c3ccf "The function got an unexpected NULL pointer.") if the array argument is a NULL pointer or if \*array points to NULL
- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far
- [fmop\_settings\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca4040927e4d05d13e93b9f2c7373ca0cd "Input argument(s) is invalid or missing.") if the num\_idents argument is a NULL pointer
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation 



<a id="a3ad01c460ed6e409b79e258a523d0bf9"></a>## [◆ ](#a3ad01c460ed6e409b79e258a523d0bf9)FMOP\_releaseModel()

 DYNARDO\_FMOP\_API [fmop\_error\_t](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8bec) FMOP\_releaseModel  ( [fmop\_handle\_t](fmop__solver_8h.xhtml#aed65d1ae14f8c298a702ad5b828a70ef) \*  *fmop*) 

Releases a fmop\_handle\_t object and dedicated memory.

Parameters \[in,out\]fmopThe fmop\_handle\_t to be released. Set to NULLptr on return. Returns- [fmop\_license\_error](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becacf8dfe2eaba2eada73a26e487a04f8fe "No valid license available.") if a license error occurs, e.g. no license has been acquired so far or one tries to release a 3D mesh but acquired a SoS license for 1D meshes, e.g. signals, only
- [fmop\_exception\_occurred](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8becadac3d9086cdab852d265dc924070c198 "An internal error occurred. Request log messages.") if any other failure get invoked
- [fmop\_success](sos__capi__common_8h.xhtml#a4847f3fa2943ffd694eb6cbe169a8beca41a0a2e83b0ac20d414f4b015522ce55 "Function execution returned successfully.") elsewise

Call [FMOP\_getErrnoString()](sos__capi__common_8h.xhtml#a7e820b85d2ef2596b00bc82445dcf650 "Returns a string description for the error number given.") to get a human readable representation