FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CLowPass.h
1#ifndef CLowPass_H
2#define CLowPass_H
3
57#include "../math/SignalBlock.h"
58#include <fhsim/simobject/SimObject.h>
59#include <string>
60#include <vector>
61
63{
64 public:
66 CLowPass(std::string sSimObjectName, ISimObjectCreator* pCreator);
67 ~CLowPass();
68
69 void InitialConditionSetup(const double T, const double* const currentIC, double* const updatedIC, ISimObjectCreator* const creator);
70
71 void OdeFcn(const double dT, const double* const adX, double* const adXDot) const;
72
73 bool HasJacobians() const override;
74 void OdeJacobian(double T, const double* X, double* J, int nStates) override;
75 int GetJacobianSparsity(int nStates, int* rowPtr, int* colIdx) override;
76
77 bool HasPortJacobians() const override;
78 void OutputPortJacobian(const std::string& portName, double T, const double* X,
79 double* dPort_dX, int portSize, int nStates, int index = -1) override;
80 void InputPortJacobian(const std::string& portName, double T, const double* X,
81 double* dF_dInput, int portSize, int nStates) override;
82
83 const double* Output(const double T, const double* const X);
84
85
86
87 protected:
88 bool m_bIsUniform;
89 ISignalPort* m_Input;
90 std::vector<double> m_dConvergenceTimeConstantInv;
91 int m_current_signal;
92};
93
94
95#endif
Definition CLowPass.h:63
CLowPass(std::string sSimObjectName, ISimObjectCreator *pCreator)
The constructor sets the pointer to the output object and the parser object.
Definition SignalBlock.h:18