FEDEM Solver  R8.0
Source code of the dynamics solver
FFaFunctionProperties.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 
13 #ifndef FFA_FUNCTION_PROPERTIES_H
14 #define FFA_FUNCTION_PROPERTIES_H
15 
16 #include <string>
17 #include <vector>
18 
19 
33  SPLINE_p = 6,
37  LIN_VAR_p = 10,
38  RAMP_p = 11,
39  STEP_p = 12,
41  DIRAC_PULS_p = 14,
42  CONSTANT_p = 15,
43  LIM_RAMP_p = 16,
44  SCALE_p = 17,
48  SMOOTH_TRAJ_p = 22
49 };
50 
51 
53 {
55  int getTypeID(const std::string& functionType);
56 
65  int getSmartPoints(int funcType, double start, double stop, int extrap,
66  const std::vector<double>& realVars,
67  std::vector<double>& x, std::vector<double>& y);
68 
75  int getValue(int baseID,
76  const std::vector<int>& intVars,
77  const std::vector<double>& realVars,
78  double x, double& value);
79 }
80 
81 #endif
FFaFunctionType
Function type enum values.
Definition: FFaFunctionProperties.H:26
@ COMPL_SINUS_p
Two-wave sine function with delay.
Definition: FFaFunctionProperties.H:29
@ WAVE_EMBEDDED_p
Irregular waves with embedded streamlines.
Definition: FFaFunctionProperties.H:36
@ SQUARE_PULS_p
Square pulse function.
Definition: FFaFunctionProperties.H:40
@ UNDEFINED_p
Unknown or undefined function.
Definition: FFaFunctionProperties.H:27
@ WAVE_STREAMLINE_p
Nonlinear streamline wave function.
Definition: FFaFunctionProperties.H:35
@ LIM_RAMP_p
Extended ramp function.
Definition: FFaFunctionProperties.H:43
@ RAMP_p
Ramp function.
Definition: FFaFunctionProperties.H:38
@ SINUSOIDAL_p
Simple sine function.
Definition: FFaFunctionProperties.H:28
@ DELAYED_COMPL_SINUS_p
Two-wave sine function with delay.
Definition: FFaFunctionProperties.H:30
@ MATH_EXPRESSION_p
General match expression function.
Definition: FFaFunctionProperties.H:46
@ WAVE_STOKES5_p
5th order Stokes wave function
Definition: FFaFunctionProperties.H:34
@ LIN_VAR_p
Piece-wise linear function.
Definition: FFaFunctionProperties.H:37
@ STEP_p
Step function.
Definition: FFaFunctionProperties.H:39
@ USER_DEFINED_p
User-defined function (from plug-in)
Definition: FFaFunctionProperties.H:47
@ WAVE_SINUS_p
Complex multi-component sine function.
Definition: FFaFunctionProperties.H:31
@ LIN_VEL_VAR_p
Servo simulator function.
Definition: FFaFunctionProperties.H:32
@ SCALE_p
Linear scaling function.
Definition: FFaFunctionProperties.H:44
@ CONSTANT_p
Constant function.
Definition: FFaFunctionProperties.H:42
@ SPLINE_p
Spline function.
Definition: FFaFunctionProperties.H:33
@ DIRAC_PULS_p
Dirac pulse function.
Definition: FFaFunctionProperties.H:41
@ SMOOTH_TRAJ_p
Smooth trajectory function.
Definition: FFaFunctionProperties.H:48
@ DEVICE_FUNCTION_p
External device function.
Definition: FFaFunctionProperties.H:45
Explicit function properties.
Definition: FFaFunctionProperties.H:53
int getTypeID(const std::string &functionType)
Returns the function type ID for a given functionType name.
Definition: FFaFunctionProperties.C:440
int getValue(int baseID, const std::vector< int > &intVars, const std::vector< double > &realVars, double x, double &value)
Evaluates an explicit function.
Definition: FFaFunctionProperties.C:407
int getSmartPoints(int funcType, double start, double stop, int extrap, const std::vector< double > &realVars, std::vector< double > &x, std::vector< double > &y)
Finds the so-called smart points of an explicit function.
Definition: FFaFunctionProperties.C:44