1
/***************************************************************************
2
* Copyright (C) 2012 by santiago González *
3
* santigoro@gmail.com *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 2 of the License, or *
8
* (at your option) any later version. *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, see <http://www.gnu.org/licenses/>. *
18
***************************************************************************/
20
#include "e-battery.h"
21
#include "simulator.h"
25
eBattery::eBattery( QString id )
31
eBattery::~eBattery(){
32
//qDebug() << "eBattery::~eBattery deleting" << QString::fromStdString( m_elmId );
35
void eBattery::stamp()
37
m_ePin[0]->setEnodeComp( m_ePin[1]->getEnode() );
38
m_ePin[1]->setEnodeComp( m_ePin[0]->getEnode() );
39
m_ePin[0]->stampAdmitance( 1/cero_doub );
40
m_ePin[1]->stampAdmitance( 1/cero_doub );
41
m_ePin[0]->stampCurrent( m_volt/cero_doub );
42
m_ePin[1]->stampCurrent(-m_volt/cero_doub );
44
//qDebug() << "eBattery::initialize"<<QString::fromStdString(m_elmId)<<m_volt;
47
void eBattery::initialize()
49
m_accuracy = Simulator::self()->NLaccuracy();
53
double eBattery::volt()
58
void eBattery::setVolt( double volt )
60
bool pauseSim = Simulator::self()->isRunning();
61
if( pauseSim ) Simulator::self()->pauseSim();
63
if( volt < 1e-12 ) volt = 1e-12;
66
if( pauseSim ) Simulator::self()->resumeSim();