#include <jacobian.hpp>
|
| JacGenerator () |
|
| ~JacGenerator ()=default |
|
void | init (SB::Deps::SetVertex vertex) |
|
void | end () |
|
void | postProcess (SB::Deps::SetVertex vertex) |
|
void | visitF (SB::Deps::SetVertex vertex, SB::Deps::VariableDep var_dep) |
|
void | visitF (SB::Deps::SetVertex vertex, SB::Deps::VariableDep var_dep, SB::Deps::SetVertex gen_vertex) |
|
void | visitG (SB::Deps::SetVertex v_vertex, SB::Deps::SetVertex g_vertex, SB::Deps::VariableDep var_dep, int index_shift) |
|
void | visitG (SB::Deps::SetVertex v_vertex, SB::Deps::SetVertex g_vertex, SB::PWLMap use_map, SB::Deps::LMapExp use_map_exp, Expression use_exp, SB::PWLMap def_map, SB::Deps::LMapExp def_map_exp, SB::Set intersection) |
|
void | initG (SB::Deps::SetVertex vertex, SB::Deps::SetEdge edge) |
|
JacDef | def () |
|
void | setup (EquationTable algebraics) |
|
EquationTable | config () |
|
|
IR::Expression | generateExp (string var_name, vector< string > indices) |
|
void | dependencyPrologue (Equation eq, SB::Deps::VariableDep var_dep, std::string guard="") |
|
void | dependencyEpilogue (Equation eq, SB::Deps::VariableDep var_dep) |
|
void | updateMatrix (std::map< std::string, std::set< std::string >> &matrix) |
|
void | generatePos (int id, EQUATION::Type type, std::string row="c_row", std::string col="col") |
|
void | generateEquation (int id, EQUATION::Type type) |
|
void | generateEquation (int v_id, int g_id, EQUATION::Type type) |
|
std::string | getVariableIndexes (Equation eq) |
|
std::string | guard (SB::Set dom, int offset, std::string var_name, SB::Deps::LMapExp map, Equation v_eq) |
|
void | Fvisitor (SB::Deps::SetVertex vertex, SB::Deps::VariableDep var_dep, int eq_id) |
|
Definition at line 71 of file jacobian.hpp.
◆ JacGenerator()
MicroModelica::IR::JacGenerator::JacGenerator |
( |
| ) |
|
◆ ~JacGenerator()
MicroModelica::IR::JacGenerator::~JacGenerator |
( |
| ) |
|
|
default |
◆ config()
◆ def()
JacDef MicroModelica::IR::JacGenerator::def |
( |
| ) |
|
◆ dependencyEpilogue()
void MicroModelica::IR::JacGenerator::dependencyEpilogue |
( |
Equation |
eq, |
|
|
SB::Deps::VariableDep |
var_dep |
|
) |
| |
|
protected |
◆ dependencyPrologue()
void MicroModelica::IR::JacGenerator::dependencyPrologue |
( |
Equation |
eq, |
|
|
SB::Deps::VariableDep |
var_dep, |
|
|
std::string |
guard = "" |
|
) |
| |
|
protected |
◆ end()
void MicroModelica::IR::JacGenerator::end |
( |
| ) |
|
◆ Fvisitor()
void MicroModelica::IR::JacGenerator::Fvisitor |
( |
SB::Deps::SetVertex |
vertex, |
|
|
SB::Deps::VariableDep |
var_dep, |
|
|
int |
eq_id |
|
) |
| |
|
protected |
◆ generateEquation() [1/2]
void MicroModelica::IR::JacGenerator::generateEquation |
( |
int |
id, |
|
|
EQUATION::Type |
type |
|
) |
| |
|
protected |
◆ generateEquation() [2/2]
void MicroModelica::IR::JacGenerator::generateEquation |
( |
int |
v_id, |
|
|
int |
g_id, |
|
|
EQUATION::Type |
type |
|
) |
| |
|
protected |
◆ generateExp()
IR::Expression MicroModelica::IR::JacGenerator::generateExp |
( |
string |
var_name, |
|
|
vector< string > |
indices |
|
) |
| |
|
protected |
◆ generatePos()
void MicroModelica::IR::JacGenerator::generatePos |
( |
int |
id, |
|
|
EQUATION::Type |
type, |
|
|
std::string |
row = "c_row" , |
|
|
std::string |
col = "col" |
|
) |
| |
|
protected |
◆ getVariableIndexes()
string MicroModelica::IR::JacGenerator::getVariableIndexes |
( |
Equation |
eq | ) |
|
|
protected |
◆ guard()
std::string MicroModelica::IR::JacGenerator::guard |
( |
SB::Set |
dom, |
|
|
int |
offset, |
|
|
std::string |
var_name, |
|
|
SB::Deps::LMapExp |
map, |
|
|
Equation |
v_eq |
|
) |
| |
|
protected |
Definition at line 94 of file jacobian.cpp.
References _tabs, MicroModelica::IR::Expression::generate(), MicroModelica::IR::Range::getDimensionVars(), MicroModelica::IR::Equation::hasRange(), MicroModelica::Util::Utils::instance(), MicroModelica::IR::FunctionPrinter::jacMacrosAccess(), MicroModelica::IR::Equation::LHSVariable(), MicroModelica::IR::Index::print(), MicroModelica::IR::Equation::range(), TAB, and MicroModelica::Util::Utils::tabs().
Referenced by dependencyPrologue().
◆ init()
void MicroModelica::IR::JacGenerator::init |
( |
SB::Deps::SetVertex |
vertex | ) |
|
◆ initG()
void MicroModelica::IR::JacGenerator::initG |
( |
SB::Deps::SetVertex |
vertex, |
|
|
SB::Deps::SetEdge |
edge |
|
) |
| |
◆ postProcess()
void MicroModelica::IR::JacGenerator::postProcess |
( |
SB::Deps::SetVertex |
vertex | ) |
|
◆ setup()
void MicroModelica::IR::JacGenerator::setup |
( |
EquationTable |
algebraics | ) |
|
|
inline |
◆ updateMatrix()
void MicroModelica::IR::JacGenerator::updateMatrix |
( |
std::map< std::string, std::set< std::string >> & |
matrix | ) |
|
|
protected |
◆ visitF() [1/2]
void MicroModelica::IR::JacGenerator::visitF |
( |
SB::Deps::SetVertex |
vertex, |
|
|
SB::Deps::VariableDep |
var_dep |
|
) |
| |
◆ visitF() [2/2]
void MicroModelica::IR::JacGenerator::visitF |
( |
SB::Deps::SetVertex |
vertex, |
|
|
SB::Deps::VariableDep |
var_dep, |
|
|
SB::Deps::SetVertex |
gen_vertex |
|
) |
| |
◆ visitG() [1/2]
void MicroModelica::IR::JacGenerator::visitG |
( |
SB::Deps::SetVertex |
v_vertex, |
|
|
SB::Deps::SetVertex |
g_vertex, |
|
|
SB::Deps::VariableDep |
var_dep, |
|
|
int |
index_shift |
|
) |
| |
◆ visitG() [2/2]
void MicroModelica::IR::JacGenerator::visitG |
( |
SB::Deps::SetVertex |
v_vertex, |
|
|
SB::Deps::SetVertex |
g_vertex, |
|
|
SB::PWLMap |
use_map, |
|
|
SB::Deps::LMapExp |
use_map_exp, |
|
|
Expression |
use_exp, |
|
|
SB::PWLMap |
def_map, |
|
|
SB::Deps::LMapExp |
def_map_exp, |
|
|
SB::Set |
intersection |
|
) |
| |
◆ _algebraics
◆ _jac_def
JacDef MicroModelica::IR::JacGenerator::_jac_def |
|
protected |
◆ _tabs
int MicroModelica::IR::JacGenerator::_tabs |
|
protected |
The documentation for this class was generated from the following files: