FEDEM Solver  R8.0
Source code of the dynamics solver
FFaUserFuncPlugin.H
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: 2023 SAP SE
2 //
3 // SPDX-License-Identifier: Apache-2.0
4 //
5 // This file is part of FEDEM - https://openfedem.org
7 
8 #ifndef FFA_USER_FUNC_PLUGIN_H
9 #define FFA_USER_FUNC_PLUGIN_H
10 
13 
14 
16  public FFaSingelton<FFaUserFuncPlugin>
17 {
18 protected:
20  virtual ~FFaUserFuncPlugin() {}
21 
22 public:
23  bool validate(const std::string& libName, int nchar = 0, char* sign = NULL);
24  bool getSign(int nchar, char* sign) const;
25 
26  int getFuncs(int maxUF, int* funcId, bool silence = false) const;
27  int getFuncName(int id, int nchar = 0, char* name = NULL) const;
28  int getParName(int id, int ipar = 1, int nchar = 0, char* name = NULL) const;
29  double getDefaultParVal(int id, int ipar) const;
30  const char** getPixmap(int id) const;
31  int getFlag(int id) const;
32 
33  double getValue(int bId, int fId, const double* params,
34  double x, int& ierr) const;
35  double getValue(int bId, int fId, const double* params,
36  const double* args, int& err) const;
37  double getDiff(int bId, int fId, int ia, const double* params,
38  const double* args, int& err) const;
39  int wave(int bId, int fId, double d, double g,
40  const double* params, const double* args,
41  double& h, double* u, double* du) const;
42 
43 private:
44  friend class FFaSingelton<FFaUserFuncPlugin>;
45 };
46 
47 #endif
Management of dynamic loading of shared object libraries.
Base class for dynamic loading of shared object libraries.
Definition: FFaDynamicLibraryBase.H:37
Template class for singleton classes.
Definition: FFaSingelton.H:20
Definition: FFaUserFuncPlugin.H:17
bool validate(const std::string &libName, int nchar=0, char *sign=NULL)
Definition: FFaUserFuncPlugin.C:24
double getDefaultParVal(int id, int ipar) const
Definition: FFaUserFuncPlugin.C:164
int wave(int bId, int fId, double d, double g, const double *params, const double *args, double &h, double *u, double *du) const
Definition: FFaUserFuncPlugin.C:344
int getParName(int id, int ipar=1, int nchar=0, char *name=NULL) const
Definition: FFaUserFuncPlugin.C:132
FFaUserFuncPlugin()
Definition: FFaUserFuncPlugin.H:19
const char ** getPixmap(int id) const
Definition: FFaUserFuncPlugin.C:194
int getFlag(int id) const
Definition: FFaUserFuncPlugin.C:241
int getFuncName(int id, int nchar=0, char *name=NULL) const
Definition: FFaUserFuncPlugin.C:98
double getDiff(int bId, int fId, int ia, const double *params, const double *args, int &err) const
Definition: FFaUserFuncPlugin.C:309
int getFuncs(int maxUF, int *funcId, bool silence=false) const
Definition: FFaUserFuncPlugin.C:69
virtual ~FFaUserFuncPlugin()
Definition: FFaUserFuncPlugin.H:20
bool getSign(int nchar, char *sign) const
Definition: FFaUserFuncPlugin.C:40
double getValue(int bId, int fId, const double *params, double x, int &ierr) const
Definition: FFaUserFuncPlugin.C:269
integer(ptr), save, private x
Definition: extCtrlSysRoutinesModule.f90:16
real(dp), save, private g
Definition: FNVwaveForceModule.f90:42
real(dp), dimension(:,:), allocatable u
Definition: inverseModule.f90:20
real(dp), dimension(:), allocatable, save err
Definition: timeStepModule.f90:17