    

 ## On this page

  

 

 # /home/lgraenin/develop/optiSLang/protos/mopsolver/mopsolver\_api.h File Reference

 Last update: 16.07.2025 

`#include "mopsolver_api_shared.h"`  


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

## <a id="func-members" name="func-members"></a>Functions

DYNARDO\_MOPSOLVER\_API int [dmop\_hasSurrogate](mopsolver__api_8h.xhtml#a25df2ddd6172194afab9ed8ee0b36387) (const char \*\_omdbfile) DYNARDO\_MOPSOLVER\_API int [dmop\_getDimensions](mopsolver__api_8h.xhtml#a05681e0a24f0aa4edde06acfc34830a5) (const char \*\_omdbfile, int \*\_num\_inputs, int \*\_num\_responses) DYNARDO\_MOPSOLVER\_API int [dmop\_solve\_extrapolate](mopsolver__api_8h.xhtml#a0fa8a013f592ec0bad8b5fb3a6e95b0b) (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, double \*\_responses, int \_extrapolate) DYNARDO\_MOPSOLVER\_API int [dmop\_solve](mopsolver__api_8h.xhtml#a265f1dcd9f39d4123da745a42bf07dc9) (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, double \*\_responses) DYNARDO\_MOPSOLVER\_API int [dmop\_gradients\_per\_response\_extrapolate](mopsolver__api_8h.xhtml#ab816352747ec004979bdb233db495669) (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_gradients, int \_extrapolate) DYNARDO\_MOPSOLVER\_API int [dmop\_gradients\_per\_response](mopsolver__api_8h.xhtml#ad230a17d9e463faf2f05950871ca9809) (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_gradients) DYNARDO\_MOPSOLVER\_API int [dmop\_errors\_per\_response\_extrapolate](mopsolver__api_8h.xhtml#ad58195cba96bfbdd71b064f691fa25be) (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_errors, int \_extrapolate) DYNARDO\_MOPSOLVER\_API int [dmop\_errors\_per\_response](mopsolver__api_8h.xhtml#acc93f43c201bd74d26e24647600600b7) (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_errors) DYNARDO\_MOPSOLVER\_API int [dmop\_density\_per\_response\_extrapolate](mopsolver__api_8h.xhtml#a7a7a61f3064296a1c57b130fb2ba1cb8) (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_density, unsigned int \_size\_density, int \_extrapolate) DYNARDO\_MOPSOLVER\_API int [dmop\_density\_per\_response](mopsolver__api_8h.xhtml#aff6e88ab02e69ca95e341b65e7d12246) (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_density, unsigned int \_size\_density) DYNARDO\_MOPSOLVER\_API int [dmop\_getInputNames](mopsolver__api_8h.xhtml#a0d9c56750bbf39ef6e01feeeaf568b37) (const char \*\_omdbfile, char \*\*\_input\_names) DYNARDO\_MOPSOLVER\_API int [dmop\_getInputNamesWithDelimiter](mopsolver__api_8h.xhtml#a5e1f4c22ed4444a6a456da441e63286a) (const char \*\_omdbfile, char \*\*\_input\_names, const char \*\_delimiter) DYNARDO\_MOPSOLVER\_API int [dmop\_getOutputNames](mopsolver__api_8h.xhtml#a293a88f3b04524c4f57558c35e1c9154) (const char \*\_omdbfile, char \*\*\_response\_names) DYNARDO\_MOPSOLVER\_API int [dmop\_getOutputNamesWithDelimiter](mopsolver__api_8h.xhtml#ac35cea243a38a73791305f2cdf3b7885) (const char \*\_omdbfile, char \*\*\_response\_names, const char \*\_delimiter) DYNARDO\_MOPSOLVER\_API int [dmop\_getInputBounds](mopsolver__api_8h.xhtml#aa49bc13d0597df9c099ec27f26a8533c) (const char \*\_omdbfile, double \*\_limits) DYNARDO\_MOPSOLVER\_API int [dmop\_getInputBoundsPerParameter](mopsolver__api_8h.xhtml#ae52a44cc51e99fdae284c3832243b5e8) (const char \*\_omdbfile, const char \*\_param\_name, double \*\_limits) DYNARDO\_MOPSOLVER\_API int [dmop\_getReferenceValuePerParameter](mopsolver__api_8h.xhtml#a550899662f7dcd4551a98ce6ad7b9bf7) (const char \*\_omdbfile, const char \*\_param\_name, double \*\_ref\_val) DYNARDO\_MOPSOLVER\_API int [dmop\_getCoPValuesPerResponse](mopsolver__api_8h.xhtml#a5a651f6f7ad0cc305eb95da2bae241da) (const char \*\_omdbfile, const char \*\_response\_name, double \*\_cop\_vals) DYNARDO\_MOPSOLVER\_API int [dmop\_getFilteredStatesPerResponse](mopsolver__api_8h.xhtml#ae4303398502f14c096bd4f7995f824c0) (const char \*\_omdbfile, const char \*\_response\_name, int \*\_filtered\_states) DYNARDO\_MOPSOLVER\_API const char \* [dmop\_getLastError](mopsolver__api_8h.xhtml#afd899e90ed1d65bc3d4a6877e2b24600) () DYNARDO\_MOPSOLVER\_API int [dmop\_allocate\_and\_getInputBounds](mopsolver__api_8h.xhtml#aafb7d0650e3a68f467e6a4146967bcb2) (const char \*\_omdbfile, double \*\*\_limits) <a id="a9217ae7682d9333a548261003f1ae8f9" name="a9217ae7682d9333a548261003f1ae8f9"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_getInputBoundsPerParameter** (const char \*\_omdbfile, const char \*\_param\_name, double \*\*\_limits) <a id="a8f30162e2626e077e8b8fcde803e2a08" name="a8f30162e2626e077e8b8fcde803e2a08"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_getCoPValuesPerResponse** (const char \*\_omdbfile, const char \*\_response\_name, double \*\*\_cop\_vals) <a id="a3f097648135b5bfcba00dfd49b24d1db" name="a3f097648135b5bfcba00dfd49b24d1db"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_getFilteredStatesPerResponse** (const char \*\_omdbfile, const char \*\_response\_name, int \*\*\_filtered\_states) <a id="a0d34573f1b2ba0561fe1c07edc019116" name="a0d34573f1b2ba0561fe1c07edc019116"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_solve\_extrapolate** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, double \*\*\_responses, int \_extrapolate) <a id="a32575949d201fca2f20bfa959ab410e8" name="a32575949d201fca2f20bfa959ab410e8"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_solve** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, double \*\*\_responses) DYNARDO\_MOPSOLVER\_API int [dmop\_hasSurrogate\_hash](mopsolver__api_8h.xhtml#a9ff389215cf9d81a1540e2711af36d5b) (const char \*\_omdbfile, const char \*\_hash) <a id="adabde23250f94b7b08c88b3646c09b9c" name="adabde23250f94b7b08c88b3646c09b9c"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_getDimensions\_hash** (const char \*\_omdbfile, int \*\_num\_inputs, int \*\_num\_responses, const char \*\_hash) <a id="a587bfe84c7f6e6ba9b15ca6e73ee790f" name="a587bfe84c7f6e6ba9b15ca6e73ee790f"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_solve\_extrapolate\_hash** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, double \*\_responses, int \_extrapolate, const char \*\_hash) <a id="a96eca0fbc5c04f37751e006694aaecb8" name="a96eca0fbc5c04f37751e006694aaecb8"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_solve\_extrapolate\_hash** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, double \*\*\_responses, int \_extrapolate, const char \*\_hash) <a id="a88eacb01722b4ae4adf9c2d5fdd7b8f0" name="a88eacb01722b4ae4adf9c2d5fdd7b8f0"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_solve\_hash** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, double \*\_responses, const char \*\_hash) <a id="af36f31c31d060b2fa1cc97503dad95b2" name="af36f31c31d060b2fa1cc97503dad95b2"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_gradients\_per\_response\_extrapolate\_hash** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_gradients, int \_extrapolate, const char \*\_hash) <a id="a1130ac08987bb1c86a8dee2df31507c3" name="a1130ac08987bb1c86a8dee2df31507c3"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_gradients\_per\_response\_hash** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_gradients, const char \*\_hash) <a id="a22c9684d49d498d7e0be12ec59ba7d18" name="a22c9684d49d498d7e0be12ec59ba7d18"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_errors\_per\_response\_extrapolate\_hash** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_errors, int \_extrapolate, const char \*\_hash) <a id="a6d14d88c3fde7c3d0576af2a7936990f" name="a6d14d88c3fde7c3d0576af2a7936990f"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_errors\_per\_response\_hash** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_errors, const char \*\_hash) <a id="acabdf65edc2a5d46ccd202e3d79c7848" name="acabdf65edc2a5d46ccd202e3d79c7848"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_density\_per\_response\_extrapolate\_hash** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_density, unsigned int \_size\_density, int \_extrapolate, const char \*\_hash) <a id="a2bb700eec918a77ecd60181200c18e79" name="a2bb700eec918a77ecd60181200c18e79"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_density\_per\_response\_hash** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, const char \*\_response\_name, double \*\_density, unsigned int \_size\_density, const char \*\_hash) <a id="afba1cda3a266910ff3ce49d523692df3" name="afba1cda3a266910ff3ce49d523692df3"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_solve\_hash** (const char \*\_omdbfile, unsigned int \_num\_designs, const double \*\_inputs, double \*\*\_responses, const char \*\_hash) <a id="a4d43819bb6fe2611f97de169262ea541" name="a4d43819bb6fe2611f97de169262ea541"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_getInputNames\_hash** (const char \*\_omdbfile, char \*\*\_input\_names, const char \*\_hash) <a id="ac7db2ff3adac1eca0b7767b37d7e2600" name="ac7db2ff3adac1eca0b7767b37d7e2600"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_getInputNamesWithDelimiter\_hash** (const char \*\_omdbfile, char \*\*\_input\_names, const char \*\_delimiter, const char \*\_hash) <a id="a80e483d65b2ffb202c38e95e566a732f" name="a80e483d65b2ffb202c38e95e566a732f"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_getOutputNames\_hash** (const char \*\_omdbfile, char \*\*\_response\_names, const char \*\_hash) <a id="af7dd3ea32b93e4ab854858dd835f8097" name="af7dd3ea32b93e4ab854858dd835f8097"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_getOutputNamesWithDelimiter\_hash** (const char \*\_omdbfile, char \*\*\_response\_names, const char \*\_delimiter, const char \*\_hash) <a id="ac4618243a4f378b33de8e09aea790543" name="ac4618243a4f378b33de8e09aea790543"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_getInputBounds\_hash** (const char \*\_omdbfile, double \*\_limits, const char \*\_hash) <a id="a2053e29441f535e67f0d94458fe8c9c1" name="a2053e29441f535e67f0d94458fe8c9c1"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_getInputBounds\_hash** (const char \*\_omdbfile, double \*\*\_limits, const char \*\_hash) <a id="a48c0b28a2f04728fc8d75aa082f94a14" name="a48c0b28a2f04728fc8d75aa082f94a14"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_getInputBoundsPerParameter\_hash** (const char \*\_omdbfile, const char \*\_param\_name, double \*\_limits, const char \*\_hash) <a id="abdc08855de99fd9f30c59dbf04e68f39" name="abdc08855de99fd9f30c59dbf04e68f39"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_getInputBoundsPerParameter\_hash** (const char \*\_omdbfile, const char \*\_param\_name, double \*\*\_limits, const char \*\_hash) <a id="a0ab53c49bf6192ca121dddf91f8c09bd" name="a0ab53c49bf6192ca121dddf91f8c09bd"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_getReferenceValuePerParameter\_hash** (const char \*\_omdbfile, const char \*\_param\_name, double \*\_ref\_val, const char \*\_hash) <a id="ab4984ba8b9f61f2d5f1bd6c9e7b8dcb1" name="ab4984ba8b9f61f2d5f1bd6c9e7b8dcb1"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_getCoPValuesPerResponse\_hash** (const char \*\_omdbfile, const char \*\_response\_name, double \*\_cop\_vals, const char \*\_hash) <a id="a4fac367a01c492d231e68da091280cd7" name="a4fac367a01c492d231e68da091280cd7"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_getCoPValuesPerResponse\_hash** (const char \*\_omdbfile, const char \*\_response\_name, double \*\*\_cop\_vals, const char \*\_hash) <a id="ade2a06892d291b1e6504507e32661fe8" name="ade2a06892d291b1e6504507e32661fe8"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_getFilteredStatesPerResponse\_hash** (const char \*\_omdbfile, const char \*\_response\_name, int \*\_filtered\_states, const char \*\_hash) <a id="a4541a9707aa0d7b64c0d49aec961d50c" name="a4541a9707aa0d7b64c0d49aec961d50c"></a>DYNARDO\_MOPSOLVER\_API int **dmop\_allocate\_and\_getFilteredStatesPerResponse\_hash** (const char \*\_omdbfile, const char \*\_response\_name, int \*\*\_filtered\_states, const char \*\_hash) DYNARDO\_MOPSOLVER\_API const char \* [dmop\_get\_version\_str](mopsolver__api_8h.xhtml#aef089009bf01e630485b835d28339b23) () DYNARDO\_MOPSOLVER\_API int [dmop\_cleanup](mopsolver__api_8h.xhtml#a1e20adf4d59744ee53958b84f6061f0c) () DYNARDO\_MOPSOLVER\_API int [dmop\_set\_paths\_for\_custom\_interface](mopsolver__api_8h.xhtml#a2efd4dcee48cfca4046498c55fb44dde) (const char \*\_program\_path, const char \*\_python\_home, const char \*const \*\_python\_paths, unsigned int \_num\_python\_paths, const char \*const \*\_script\_paths, unsigned int \_num\_script\_paths, const char \*\_oop\_path) <a id="details" name="details"></a>## Detailed Description

Version$Rev$ 

## Function Documentation

<a id="aafb7d0650e3a68f467e6a4146967bcb2" name="aafb7d0650e3a68f467e6a4146967bcb2"></a>## [◆ ](#aafb7d0650e3a68f467e6a4146967bcb2)dmop\_allocate\_and\_getInputBounds()

 DYNARDO\_MOPSOLVER\_API int dmop\_allocate\_and\_getInputBounds  ( const char \*  *\_omdbfile*,    double \*\*  *\_limits*   ) 

some functionalities also exist with the possibility of internal memory allocation management data put to given pointer is valid up to next call of any dmop\_ function (except a call of [dmop\_getLastError()](mopsolver__api_8h.xhtml#afd899e90ed1d65bc3d4a6877e2b24600))





<a id="a1e20adf4d59744ee53958b84f6061f0c" name="a1e20adf4d59744ee53958b84f6061f0c"></a>## [◆ ](#a1e20adf4d59744ee53958b84f6061f0c)dmop\_cleanup()

 DYNARDO\_MOPSOLVER\_API int dmop\_cleanup  ( ) 

cleans-up all the memory allocated by the API, use this after you've finished using the API. Objects pointing to memory provided by this API are going to be invalidated.

Returnszero 



<a id="aff6e88ab02e69ca95e341b65e7d12246" name="aff6e88ab02e69ca95e341b65e7d12246"></a>## [◆ ](#aff6e88ab02e69ca95e341b65e7d12246)dmop\_density\_per\_response()

 DYNARDO\_MOPSOLVER\_API int dmop\_density\_per\_response  ( const char \*  *\_omdbfile*,    unsigned int  *\_num\_designs*,    const double \*  *\_inputs*,    const char \*  *\_response\_name*,    double \*  *\_density*,    unsigned int  *\_size\_density*   ) 

calculates the density based on the best metamodels for any given design point

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_num\_designsnumber of design points for which density should be calculated \[in\]\_inputspointer to array of consecutive input values per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_inputs ) \[in\]\_response\_namezero terminated character string containing the name of the response \[out\]\_densitypointer to array of consecutive density calculated per design point. The length of the array is to be expected as ( \_num\_designs ) \[in\]\_size\_densitylength of the \_density array. Expected to be \_num\_designs Returnszero if the calculation succeeded 



<a id="a7a7a61f3064296a1c57b130fb2ba1cb8" name="a7a7a61f3064296a1c57b130fb2ba1cb8"></a>## [◆ ](#a7a7a61f3064296a1c57b130fb2ba1cb8)dmop\_density\_per\_response\_extrapolate()

 DYNARDO\_MOPSOLVER\_API int dmop\_density\_per\_response\_extrapolate  ( const char \*  *\_omdbfile*,    unsigned int  *\_num\_designs*,    const double \*  *\_inputs*,    const char \*  *\_response\_name*,    double \*  *\_density*,    unsigned int  *\_size\_density*,    int  *\_extrapolate*   ) 

calculates the density based on the best metamodels for any given design point

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_num\_designsnumber of design points for which density should be calculated \[in\]\_inputspointer to array of consecutive input values per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_inputs ) \[in\]\_response\_namezero terminated character string containing the name of the response \[out\]\_densitypointer to array of consecutive density calculated per design point. The length of the array is to be expected as ( \_num\_designs ) \[in\]\_size\_densitylength of the \_density array. Expected to be \_num\_designs \[in\]\_extrapolateone or zero to make the mop solver extrapolate the data Returnszero if the calculation succeeded 



<a id="acc93f43c201bd74d26e24647600600b7" name="acc93f43c201bd74d26e24647600600b7"></a>## [◆ ](#acc93f43c201bd74d26e24647600600b7)dmop\_errors\_per\_response()

 DYNARDO\_MOPSOLVER\_API int dmop\_errors\_per\_response  ( const char \*  *\_omdbfile*,    unsigned int  *\_num\_designs*,    const double \*  *\_inputs*,    const char \*  *\_response\_name*,    double \*  *\_errors*   ) 

calculates the errors based on the best metamodels for any given design point

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_num\_designsnumber of design points for which errors should be calculated \[in\]\_inputspointer to array of consecutive input values per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_inputs ) \[in\]\_response\_namezero terminated character string containing the name of the response \[out\]\_errorspointer to array of consecutive errors calculated per design point. The length of the array is to be expected as ( \_num\_designs \* 4 ) Returnszero if the calculation succeeded 



<a id="ad58195cba96bfbdd71b064f691fa25be" name="ad58195cba96bfbdd71b064f691fa25be"></a>## [◆ ](#ad58195cba96bfbdd71b064f691fa25be)dmop\_errors\_per\_response\_extrapolate()

 DYNARDO\_MOPSOLVER\_API int dmop\_errors\_per\_response\_extrapolate  ( const char \*  *\_omdbfile*,    unsigned int  *\_num\_designs*,    const double \*  *\_inputs*,    const char \*  *\_response\_name*,    double \*  *\_errors*,    int  *\_extrapolate*   ) 

calculates the errors based on the best metamodels for any given design point

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_num\_designsnumber of design points for which errors should be calculated \[in\]\_inputspointer to array of consecutive input values per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_inputs ) \[in\]\_response\_namezero terminated character string containing the name of the response \[out\]\_errorspointer to array of consecutive errors calculated per design point. The length of the array is to be expected as ( \_num\_designs \* 4 ) \[in\]\_extrapolateone or zero to make the mop solver extrapolate the data Returnszero if the calculation succeeded 



<a id="aef089009bf01e630485b835d28339b23" name="aef089009bf01e630485b835d28339b23"></a>## [◆ ](#aef089009bf01e630485b835d28339b23)dmop\_get\_version\_str()

 DYNARDO\_MOPSOLVER\_API const char \* dmop\_get\_version\_str  ( ) 

get current api version info

Returnsversion info as string 



<a id="a5a651f6f7ad0cc305eb95da2bae241da" name="a5a651f6f7ad0cc305eb95da2bae241da"></a>## [◆ ](#a5a651f6f7ad0cc305eb95da2bae241da)dmop\_getCoPValuesPerResponse()

 DYNARDO\_MOPSOLVER\_API int dmop\_getCoPValuesPerResponse  ( const char \*  *\_omdbfile*,    const char \*  *\_response\_name*,    double \*  *\_cop\_vals*   ) 

retrieves the CoP values for given response.

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_response\_namezero terminated character string containing the name of the response \[out\]\_cop\_valspointer to array of CoP values, containing single CoP values for each parameter plus the total CoP. The length of the array is to be expected dmop\_getDimensions.\_num\_inputs+1. Returnszero if the name arrays were created and filled 



<a id="a05681e0a24f0aa4edde06acfc34830a5" name="a05681e0a24f0aa4edde06acfc34830a5"></a>## [◆ ](#a05681e0a24f0aa4edde06acfc34830a5)dmop\_getDimensions()

 DYNARDO\_MOPSOLVER\_API int dmop\_getDimensions  ( const char \*  *\_omdbfile*,    int \*  *\_num\_inputs*,    int \*  *\_num\_responses*   ) 

retrieves problem dimensions i.e. number of active inputs and responses

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[out\]\_num\_inputspointer to an integer variable into which the number of active inputs should be written \[out\]\_num\_responsespointer to an integer variable into which the number of active responses of type scalar should be written Returnszero if the dimensions could be determined 



<a id="ae4303398502f14c096bd4f7995f824c0" name="ae4303398502f14c096bd4f7995f824c0"></a>## [◆ ](#ae4303398502f14c096bd4f7995f824c0)dmop\_getFilteredStatesPerResponse()

 DYNARDO\_MOPSOLVER\_API int dmop\_getFilteredStatesPerResponse  ( const char \*  *\_omdbfile*,    const char \*  *\_response\_name*,    int \*  *\_filtered\_states*   ) 

retrieves the filtered states for given response.

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_response\_namezero terminated character string containing the name of the response \[out\]\_filtered\_statespointer to array of filtered states, 0 is not filtered, 1 is filtered, if the last entry is 1 this means that there is no total CoP. The length of the array is to be expected dmop\_getDimensions.\_num\_inputs+1. Returnszero if the name arrays were created and filled 



<a id="aa49bc13d0597df9c099ec27f26a8533c" name="aa49bc13d0597df9c099ec27f26a8533c"></a>## [◆ ](#aa49bc13d0597df9c099ec27f26a8533c)dmop\_getInputBounds()

 DYNARDO\_MOPSOLVER\_API int dmop\_getInputBounds  ( const char \*  *\_omdbfile*,    double \*  *\_limits*   ) 

retrieves the sampling bounds for all parameters. The array size depends on the number of inputs.

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[out\]\_limitspointer to array of parameter limits, been given alternetly min1, max1, min2, max2 ... . The length of the array is to be expected as ( 2 \* dmop\_getDimensions.\_num\_inputs ). Returnszero if the name arrays were created and filled 



<a id="ae52a44cc51e99fdae284c3832243b5e8" name="ae52a44cc51e99fdae284c3832243b5e8"></a>## [◆ ](#ae52a44cc51e99fdae284c3832243b5e8)dmop\_getInputBoundsPerParameter()

 DYNARDO\_MOPSOLVER\_API int dmop\_getInputBoundsPerParameter  ( const char \*  *\_omdbfile*,    const char \*  *\_param\_name*,    double \*  *\_limits*   ) 

retrieves the sampling bounds for given parameters.

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_param\_namezero terminated character string containing the name of the parameter \[out\]\_limitspointer to array of parameter limits, first element is min, second is max. The length of the array is 2. Returnszero if the name arrays were created and filled 



<a id="a0d9c56750bbf39ef6e01feeeaf568b37" name="a0d9c56750bbf39ef6e01feeeaf568b37"></a>## [◆ ](#a0d9c56750bbf39ef6e01feeeaf568b37)dmop\_getInputNames()

 DYNARDO\_MOPSOLVER\_API int dmop\_getInputNames  ( const char \*  *\_omdbfile*,    char \*\*  *\_input\_names*   ) 

retrieves the names of all active, scalar inputs. The array sizes depend on the number of inputs determined in [dmop\_getDimensions](mopsolver__api_8h.xhtml#a05681e0a24f0aa4edde06acfc34830a5)

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[out\]\_input\_namespointer to an array of zero-terminated C-strings. The array is going to be created internally Returnszero if the name arrays were created and filled 



<a id="a5e1f4c22ed4444a6a456da441e63286a" name="a5e1f4c22ed4444a6a456da441e63286a"></a>## [◆ ](#a5e1f4c22ed4444a6a456da441e63286a)dmop\_getInputNamesWithDelimiter()

 DYNARDO\_MOPSOLVER\_API int dmop\_getInputNamesWithDelimiter  ( const char \*  *\_omdbfile*,    char \*\*  *\_input\_names*,    const char \*  *\_delimiter*   ) 

retrieves the names of all active, scalar inputs. The array sizes depend on the number of inputs determined in [dmop\_getDimensions](mopsolver__api_8h.xhtml#a05681e0a24f0aa4edde06acfc34830a5)

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[out\]\_input\_namespointer to an array of zero-terminated C-strings. The array is going to be created internally \[in\]\_delimiterCharacter to use as a delimiter for the different variable names. Can be used to achieve connectivity to different programs which cannot handle '\\0' properly. Passing an empty string will use '\\0'. Returnszero if the name arrays were created and filled 



<a id="afd899e90ed1d65bc3d4a6877e2b24600" name="afd899e90ed1d65bc3d4a6877e2b24600"></a>## [◆ ](#afd899e90ed1d65bc3d4a6877e2b24600)dmop\_getLastError()

 DYNARDO\_MOPSOLVER\_API const char \* dmop\_getLastError  ( ) 

Calling a solver API function will reset the string, so you'll need to check for errors immediately after the function call.

ReturnsString describing last error or `nullptr` if no error occured. 



<a id="a293a88f3b04524c4f57558c35e1c9154" name="a293a88f3b04524c4f57558c35e1c9154"></a>## [◆ ](#a293a88f3b04524c4f57558c35e1c9154)dmop\_getOutputNames()

 DYNARDO\_MOPSOLVER\_API int dmop\_getOutputNames  ( const char \*  *\_omdbfile*,    char \*\*  *\_response\_names*   ) 

retrieves the names of all responses. The array sizes depend on the number of inputs and responses determined in [dmop\_getDimensions](mopsolver__api_8h.xhtml#a05681e0a24f0aa4edde06acfc34830a5)

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[out\]\_response\_namespointer to an array of zero-terminated C-strings. The array is going to be created internally Returnszero if the name arrays were created and filled 



<a id="ac35cea243a38a73791305f2cdf3b7885" name="ac35cea243a38a73791305f2cdf3b7885"></a>## [◆ ](#ac35cea243a38a73791305f2cdf3b7885)dmop\_getOutputNamesWithDelimiter()

 DYNARDO\_MOPSOLVER\_API int dmop\_getOutputNamesWithDelimiter  ( const char \*  *\_omdbfile*,    char \*\*  *\_response\_names*,    const char \*  *\_delimiter*   ) 

retrieves the names of all responses. The array sizes depend on the number of responses determined in [dmop\_getDimensions](mopsolver__api_8h.xhtml#a05681e0a24f0aa4edde06acfc34830a5)

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[out\]\_response\_namespointer to an array of zero-terminated C-strings. The array is going to be created internally \[in\]\_delimiterCharacter to use as a delimiter for the different variable names. Can be used to achieve connectivity to different programs which cannot handle '\\0' properly. Passing an empty string will use '\\0'. Returnszero if the name arrays were created and filled 



<a id="a550899662f7dcd4551a98ce6ad7b9bf7" name="a550899662f7dcd4551a98ce6ad7b9bf7"></a>## [◆ ](#a550899662f7dcd4551a98ce6ad7b9bf7)dmop\_getReferenceValuePerParameter()

 DYNARDO\_MOPSOLVER\_API int dmop\_getReferenceValuePerParameter  ( const char \*  *\_omdbfile*,    const char \*  *\_param\_name*,    double \*  *\_ref\_val*   ) 

retrieves the Reference Value for given parameter.

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_param\_namezero terminated character string containing the name of the parameter \[out\]\_ref\_valpointer to reference value. Returnszero if the name arrays were created and filled 



<a id="ad230a17d9e463faf2f05950871ca9809" name="ad230a17d9e463faf2f05950871ca9809"></a>## [◆ ](#ad230a17d9e463faf2f05950871ca9809)dmop\_gradients\_per\_response()

 DYNARDO\_MOPSOLVER\_API int dmop\_gradients\_per\_response  ( const char \*  *\_omdbfile*,    unsigned int  *\_num\_designs*,    const double \*  *\_inputs*,    const char \*  *\_response\_name*,    double \*  *\_gradients*   ) 

calculates the gradients based on the best metamodels for any given design point

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_num\_designsnumber of design points for which gradients should be calculated \[in\]\_inputspointer to array of consecutive input values per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_inputs ) \[in\]\_response\_namezero terminated character string containing the name of the response \[out\]\_gradientspointer to array of consecutive gradients calculated per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_inputs ) Returnszero if the calculation succeeded 



<a id="ab816352747ec004979bdb233db495669" name="ab816352747ec004979bdb233db495669"></a>## [◆ ](#ab816352747ec004979bdb233db495669)dmop\_gradients\_per\_response\_extrapolate()

 DYNARDO\_MOPSOLVER\_API int dmop\_gradients\_per\_response\_extrapolate  ( const char \*  *\_omdbfile*,    unsigned int  *\_num\_designs*,    const double \*  *\_inputs*,    const char \*  *\_response\_name*,    double \*  *\_gradients*,    int  *\_extrapolate*   ) 

calculates the gradients based on the best metamodels for any given design point

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_num\_designsnumber of design points for which gradients should be calculated \[in\]\_inputspointer to array of consecutive input values per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_inputs ) \[in\]\_response\_namezero terminated character string containing the name of the response \[out\]\_gradientspointer to array of consecutive gradients calculated per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_inputs ) \[in\]\_extrapolateone or zero to make the mop solver extrapolate the data Returnszero if the calculation succeeded 



<a id="a25df2ddd6172194afab9ed8ee0b36387" name="a25df2ddd6172194afab9ed8ee0b36387"></a>## [◆ ](#a25df2ddd6172194afab9ed8ee0b36387)dmop\_hasSurrogate()

 DYNARDO\_MOPSOLVER\_API int dmop\_hasSurrogate  ( const char \*  *\_omdbfile*) 

test binfile if it contains Surrogate Data

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang database file (\*.omdb) containing MOP Returnszero if Surrogate is found 



<a id="a9ff389215cf9d81a1540e2711af36d5b" name="a9ff389215cf9d81a1540e2711af36d5b"></a>## [◆ ](#a9ff389215cf9d81a1540e2711af36d5b)dmop\_hasSurrogate\_hash()

 DYNARDO\_MOPSOLVER\_API int dmop\_hasSurrogate\_hash  ( const char \*  *\_omdbfile*,    const char \*  *\_hash*   ) 

each functionality which needs a file path also exists with a signature check of the given file to ensure that the file was not exchanged by comparing the given value with the internally calculated





<a id="a2efd4dcee48cfca4046498c55fb44dde" name="a2efd4dcee48cfca4046498c55fb44dde"></a>## [◆ ](#a2efd4dcee48cfca4046498c55fb44dde)dmop\_set\_paths\_for\_custom\_interface()

 DYNARDO\_MOPSOLVER\_API int dmop\_set\_paths\_for\_custom\_interface  ( const char \*  *\_program\_path*,    const char \*  *\_python\_home*,    const char \*const \*  *\_python\_paths*,    unsigned int  *\_num\_python\_paths*,    const char \*const \*  *\_script\_paths*,    unsigned int  *\_num\_script\_paths*,    const char \*  *\_oop\_path*   ) 

set up custom interface application-wide





<a id="a265f1dcd9f39d4123da745a42bf07dc9" name="a265f1dcd9f39d4123da745a42bf07dc9"></a>## [◆ ](#a265f1dcd9f39d4123da745a42bf07dc9)dmop\_solve()

 DYNARDO\_MOPSOLVER\_API int dmop\_solve  ( const char \*  *\_omdbfile*,    unsigned int  *\_num\_designs*,    const double \*  *\_inputs*,    double \*  *\_responses*   ) 

approximates the active response values based on their best metamodel for any given design point

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_num\_designsnumber of design points for which response values should be approximated \[in\]\_inputspointer to array of consecutive input values per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_inputs ) \[out\]\_responsespointer to array of consecutive response values approximated per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_responses ) Returnszero if the approximation succeeded 



<a id="a0fa8a013f592ec0bad8b5fb3a6e95b0b" name="a0fa8a013f592ec0bad8b5fb3a6e95b0b"></a>## [◆ ](#a0fa8a013f592ec0bad8b5fb3a6e95b0b)dmop\_solve\_extrapolate()

 DYNARDO\_MOPSOLVER\_API int dmop\_solve\_extrapolate  ( const char \*  *\_omdbfile*,    unsigned int  *\_num\_designs*,    const double \*  *\_inputs*,    double \*  *\_responses*,    int  *\_extrapolate*   ) 

approximates the active response values based on their best metamodel for any given design point

Parameters \[in\]\_omdbfilezero terminated character string containing the filesystem path to the optiSLang monitoring database file (\*.omdb) containing MOP \[in\]\_num\_designsnumber of design points for which response values should be approximated \[in\]\_inputsarray of consecutive input values per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_inputs ) \[out\]\_responsesarray of consecutive response values approximated per design point. The length of the array is to be expected as ( \_num\_designs \* dmop\_getDimensions.\_num\_responses ) \[in\]\_extrapolateone or zero to make the mop solver extrapolate the data Returnszero if the aproximation succeeded