MicroModelicaCCompiler  4.5.3
MicroModelica::Generator::ModelInstance Class Referenceabstract

#include <model_instance.hpp>

Inheritance diagram for MicroModelica::Generator::ModelInstance:
Collaboration diagram for MicroModelica::Generator::ModelInstance:

Public Member Functions

 ModelInstance ()
 
 ModelInstance (IR::Model &model, Util::CompileFlags &flags, WriterPtr writer)
 
virtual ~ModelInstance ()=default
 
void include ()
 
virtual void initializeDataStructures ()=0
 
void zeroCrossing ()
 
void handler ()
 
void settings ()
 
void inputs ()
 
void output ()
 
virtual Graph computationalGraph ()
 
void initialCode ()
 
virtual void header ()
 
virtual void generate ()
 
void jacobian ()
 

Protected Member Functions

virtual void definition ()=0
 
std::string componentDefinition (MODEL_INSTANCE::Component c)
 
void allocateOutput ()
 
void configOutput ()
 
void configEvents ()
 
void allocateVectors () const
 
void freeVectors () const
 
std::string allocateModel ()
 
void allocateVector (std::string name, int size) const
 
void freeVector (std::string name, int size) const
 
template<class DM >
void initializeMatrix (DM vdm, WRITER::Section alloc, WRITER::Section init, int size)
 
template<class Builder >
void generateDef (IR::EquationTable eqs, WRITER::Section model_def, WRITER::Section simple, WRITER::Section generic)
 

Private Attributes

IR::Model _model
 
Util::CompileFlags _flags
 
WriterPtr _writer
 

Detailed Description

Definition at line 90 of file model_instance.hpp.

Constructor & Destructor Documentation

◆ ModelInstance() [1/2]

MicroModelica::Generator::ModelInstance::ModelInstance ( )

Definition at line 86 of file model_instance.cpp.

◆ ModelInstance() [2/2]

MicroModelica::Generator::ModelInstance::ModelInstance ( IR::Model model,
Util::CompileFlags flags,
WriterPtr  writer 
)

Definition at line 88 of file model_instance.cpp.

◆ ~ModelInstance()

virtual MicroModelica::Generator::ModelInstance::~ModelInstance ( )
virtualdefault

Member Function Documentation

◆ allocateModel()

string MicroModelica::Generator::ModelInstance::allocateModel ( )
protected

◆ allocateOutput()

void MicroModelica::Generator::ModelInstance::allocateOutput ( )
protected

Definition at line 116 of file model_instance.cpp.

◆ allocateVector()

void MicroModelica::Generator::ModelInstance::allocateVector ( std::string  name,
int  size 
) const
protected

Definition at line 449 of file model_instance.cpp.

References MicroModelica::IR::Jacobian::build(), and MicroModelica::Generator::WRITER::Jacobian.

Here is the call graph for this function:

◆ allocateVectors()

void MicroModelica::Generator::ModelInstance::allocateVectors ( ) const
protected

◆ componentDefinition()

string MicroModelica::Generator::ModelInstance::componentDefinition ( MODEL_INSTANCE::Component  c)
protected

Definition at line 357 of file model_instance.cpp.

◆ computationalGraph()

virtual Graph MicroModelica::Generator::ModelInstance::computationalGraph ( )
inlinevirtual

Reimplemented in MicroModelica::Generator::QSSModelInstance.

Definition at line 102 of file model_instance.hpp.

◆ configEvents()

void MicroModelica::Generator::ModelInstance::configEvents ( )
protected

Definition at line 224 of file model_instance.cpp.

References MicroModelica::Generator::Macros::coeffMultipliers(), and MicroModelica::Generator::WRITER::Model_Header.

Here is the call graph for this function:

◆ configOutput()

void MicroModelica::Generator::ModelInstance::configOutput ( )
protected

◆ definition()

virtual void MicroModelica::Generator::ModelInstance::definition ( )
protectedpure virtual

◆ freeVector()

void MicroModelica::Generator::ModelInstance::freeVector ( std::string  name,
int  size 
) const
protected

Definition at line 458 of file model_instance.cpp.

◆ freeVectors()

void MicroModelica::Generator::ModelInstance::freeVectors ( ) const
protected

◆ generate()

void MicroModelica::Generator::ModelInstance::generate ( )
virtual

◆ generateDef()

template<class Builder >
void MicroModelica::Generator::ModelInstance::generateDef ( IR::EquationTable  eqs,
WRITER::Section  model_def,
WRITER::Section  simple,
WRITER::Section  generic 
)
inlineprotected

Definition at line 131 of file model_instance.hpp.

◆ handler()

void MicroModelica::Generator::ModelInstance::handler ( )

Definition at line 196 of file model_instance.cpp.

◆ header()

void MicroModelica::Generator::ModelInstance::header ( )
virtual

◆ include()

void MicroModelica::Generator::ModelInstance::include ( )

Definition at line 90 of file model_instance.cpp.

◆ initialCode()

void MicroModelica::Generator::ModelInstance::initialCode ( )

Definition at line 402 of file model_instance.cpp.

◆ initializeDataStructures()

virtual void MicroModelica::Generator::ModelInstance::initializeDataStructures ( )
pure virtual

◆ initializeMatrix()

template<class DM >
void MicroModelica::Generator::ModelInstance::initializeMatrix ( DM  vdm,
WRITER::Section  alloc,
WRITER::Section  init,
int  size 
)
inlineprotected

◆ inputs()

void MicroModelica::Generator::ModelInstance::inputs ( )

◆ jacobian()

void MicroModelica::Generator::ModelInstance::jacobian ( )

Definition at line 485 of file model_instance.cpp.

◆ output()

void MicroModelica::Generator::ModelInstance::output ( )

Definition at line 186 of file model_instance.cpp.

◆ settings()

void MicroModelica::Generator::ModelInstance::settings ( )

Definition at line 233 of file model_instance.cpp.

◆ zeroCrossing()

void MicroModelica::Generator::ModelInstance::zeroCrossing ( )

Definition at line 191 of file model_instance.cpp.

References MicroModelica::Generator::WRITER::Init_Data.

Member Data Documentation

◆ _flags

Util::CompileFlags MicroModelica::Generator::ModelInstance::_flags
private

Definition at line 148 of file model_instance.hpp.

◆ _model

IR::Model MicroModelica::Generator::ModelInstance::_model
private

Definition at line 147 of file model_instance.hpp.

◆ _writer

WriterPtr MicroModelica::Generator::ModelInstance::_writer
private

Definition at line 149 of file model_instance.hpp.


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