DPsim
Loading...
Searching...
No Matches
CPS::Task Class Referenceabstract

Tasks to be defined by every component. More...

#include <Task.h>

Inherited by CPS::DP::Ph1::AvVoltageSourceInverterDQ::ControlPreStep, CPS::DP::Ph1::AvVoltageSourceInverterDQ::ControlStep, CPS::DP::Ph1::Capacitor::MnaPostStepHarm, CPS::DP::Ph1::Capacitor::MnaPreStepHarm, CPS::DP::Ph1::Inductor::MnaPostStepHarm, CPS::DP::Ph1::Inductor::MnaPreStepHarm, CPS::DP::Ph1::Inverter::MnaPostStepHarm, CPS::DP::Ph1::Inverter::MnaPreStepHarm, CPS::DP::Ph1::ProfileVoltageSource::MnaPostStepHarm, CPS::DP::Ph1::ProfileVoltageSource::MnaPreStepHarm, CPS::DP::Ph1::Resistor::MnaPostStepHarm, CPS::DP::Ph1::SynchronGeneratorTrStab::AddBStep, CPS::DP::Ph1::VoltageSource::MnaPostStepHarm, CPS::DP::Ph1::VoltageSource::MnaPreStepHarm, CPS::DP::Ph3::SynchronGeneratorDQODE::ODEPreStep, CPS::EMT::Ph3::AvVoltageSourceInverterDQ::ControlPreStep, CPS::EMT::Ph3::AvVoltageSourceInverterDQ::ControlStep, CPS::EMT::Ph3::SynchronGeneratorDQODE::ODEPreStep, CPS::EMT::Ph3::SynchronGeneratorTrStab::AddBStep, CPS::MNASimPowerComp< VarType >::MnaPostStep, CPS::MNASimPowerComp< VarType >::MnaPreStep, CPS::SP::Ph1::AvVoltageSourceInverterDQ::ControlPreStep, CPS::SP::Ph1::AvVoltageSourceInverterDQ::ControlStep, CPS::SP::Ph1::SynchronGeneratorTrStab::AddBStep, CPS::Signal::DecouplingLine::PostStep, CPS::Signal::DecouplingLine::PreStep, CPS::Signal::DecouplingLineEMT::PostStep, CPS::Signal::DecouplingLineEMT::PreStep, CPS::Signal::FIRFilter::Step, CPS::Signal::Integrator::PreStep, CPS::Signal::Integrator::Step, CPS::Signal::PLL::PreStep, CPS::Signal::PLL::Step, CPS::Signal::PowerControllerVSI::PreStep, CPS::Signal::PowerControllerVSI::Step, CPS::SimNode< VarType >::MnaPostStepHarm, DPsim::BarrierTask, DPsim::DataLogger::Step, DPsim::DiakopticsSolver< VarType >::LogTask, DPsim::DiakopticsSolver< VarType >::PostSolveTask, DPsim::DiakopticsSolver< VarType >::PreSolveTask, DPsim::DiakopticsSolver< VarType >::SolveTask, DPsim::DiakopticsSolver< VarType >::SubnetSolveTask, DPsim::InterfaceQueued::PostStep, DPsim::InterfaceQueued::PreStep, DPsim::InterfaceVillasQueueless::PostStep, DPsim::InterfaceVillasQueueless::PreStep, DPsim::MnaSolverDirect< VarType >::LogTask, DPsim::MnaSolverDirect< VarType >::SolveTask, DPsim::MnaSolverDirect< VarType >::SolveTaskHarm, DPsim::MnaSolverDirect< VarType >::SolveTaskRecomp, DPsim::MnaSolverPlugin< VarType >::LogTask, DPsim::MnaSolverPlugin< VarType >::SolveTask, DPsim::ODESolver::SolveTask, DPsim::PFSolver::SolveTask, DPsim::RealTimeDataLogger::Step, and DPsim::Scheduler::Root.

Public Types

typedef std::shared_ptr< TaskPtr
 
typedef std::vector< Ptr > List
 

Public Member Functions

virtual void execute (Real time, Int timeStepCount)=0
 
virtual String toString () const
 
const std::vector< AttributeBase::Ptr > & getAttributeDependencies ()
 
const std::vector< AttributeBase::Ptr > & getModifiedAttributes ()
 
const std::vector< AttributeBase::Ptr > & getPrevStepDependencies ()
 

Protected Member Functions

 Task (const std::string &name)
 

Protected Attributes

std::string mName
 
std::vector< AttributeBase::PtrmAttributeDependencies
 
std::vector< AttributeBase::PtrmModifiedAttributes
 
std::vector< AttributeBase::PtrmPrevStepDependencies
 

Detailed Description

Tasks to be defined by every component.

Each component has to specify its tasks so that the scheduler can use this information. Tasks declare the attributes that are required or modified. The component declares Tasks derived from this general task class. Then, these tasks need to be pushed into the task list of each component so that the scheduler can collect them.

Definition at line 25 of file Task.h.

Member Typedef Documentation

◆ List

typedef std::vector<Ptr> CPS::Task::List

Definition at line 28 of file Task.h.

◆ Ptr

typedef std::shared_ptr<Task> CPS::Task::Ptr

Definition at line 27 of file Task.h.

Constructor & Destructor Documentation

◆ Task() [1/2]

CPS::Task::Task ( )
inline

Definition at line 30 of file Task.h.

◆ ~Task()

virtual CPS::Task::~Task ( )
inlinevirtual

Definition at line 31 of file Task.h.

◆ Task() [2/2]

CPS::Task::Task ( const std::string & name)
inlineprotected

Definition at line 50 of file Task.h.

Member Function Documentation

◆ getAttributeDependencies()

const std::vector< AttributeBase::Ptr > & CPS::Task::getAttributeDependencies ( )
inline

Definition at line 37 of file Task.h.

◆ getModifiedAttributes()

const std::vector< AttributeBase::Ptr > & CPS::Task::getModifiedAttributes ( )
inline

Definition at line 41 of file Task.h.

◆ getPrevStepDependencies()

const std::vector< AttributeBase::Ptr > & CPS::Task::getPrevStepDependencies ( )
inline

Definition at line 45 of file Task.h.

◆ toString()

virtual String CPS::Task::toString ( ) const
inlinevirtual

Definition at line 35 of file Task.h.

Member Data Documentation

◆ mAttributeDependencies

std::vector<AttributeBase::Ptr> CPS::Task::mAttributeDependencies
protected

Definition at line 52 of file Task.h.

◆ mModifiedAttributes

std::vector<AttributeBase::Ptr> CPS::Task::mModifiedAttributes
protected

Definition at line 53 of file Task.h.

◆ mName

std::string CPS::Task::mName
protected

Definition at line 51 of file Task.h.

◆ mPrevStepDependencies

std::vector<AttributeBase::Ptr> CPS::Task::mPrevStepDependencies
protected

Definition at line 54 of file Task.h.


The documentation for this class was generated from the following file: