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