97 VirtualCurrent(
const std::string& simObjectName, ISimObjectCreator*
const creator);
99 void FinalSetup(
const double T,
const double*
const X, ISimObjectCreator*
const creator);
100 void InitialConditionSetup(
const double T,
const double*
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
101 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const;
106 void SetOutputPortValues(
const double T,
const double*
const X)
const;
107 const double* PlanarCurrent(
const double T,
const double*
const X,
int layer);
110 ICommonComputation* m_SetOutputPortValues;
111 double m_Pp, m_Pd, m_Pi, m_IntegralSaturation, m_DerivativeTInv;
112 int m_CurrentIndex, m_IntegralIndex, m_DerivativeIndex, m_layers;
114 std::unique_ptr<double[]> m_PlanarCurrents;
115 environment::EnvironmentProvider* Environment =
nullptr;
116 std::shared_ptr<VirtualCurrentField> m_CurrentField = std::make_shared<VirtualCurrentField>();
119 std::vector<int> m_CurrentIndices, m_IntegralIndices, m_DerivativeIndices;
120 std::unique_ptr<double[]> m_Depths;
122 double m_MaximumCurrent;
127#ifdef FH_VISUALIZATION
128 Ogre::SceneNode* m_RenderNode;