00001 #include "ElectricalModel.h" 00002 using namespace adevs; 00003 00004 static const double ERR_TOL = 1E-8; 00005 00006 ElectricalModel::ElectricalModel(ElectricalModelEqns* eqns, double h_max): 00007 Hybrid<PortValue<BasicEvent*> >( 00008 eqns, 00009 new rk_45<PortValue<BasicEvent*> >(eqns,ERR_TOL,h_max), 00010 new linear_event_locator<PortValue<BasicEvent*> >(eqns,ERR_TOL) 00011 ), 00012 eqns(eqns) 00013 { 00014 } 00015 00016 double ElectricalModel::getErrTol() const { return ERR_TOL; } 00017 00018 double ElectricalModel::getBusAngle(unsigned bus) 00019 { 00020 return arg(getVoltage(bus)); 00021 } 00022 00023 Complex ElectricalModel::getVoltage(unsigned bus) 00024 { 00025 return eqns->getVoltage(bus); 00026 } 00027 00028 ElectricalModel::~ElectricalModel() 00029 { 00030 }