Fix indentation. (nw)

This commit is contained in:
couriersud 2019-03-18 00:10:47 +01:00
parent 9534a0233c
commit 76b92133dd

View File

@ -13,12 +13,12 @@
namespace netlist namespace netlist
{ {
namespace analog namespace analog
{
class diode
{ {
public:
class diode
{
public:
diode() : m_Is(1e-15), m_VT(0.0258), m_VT_inv(1.0 / m_VT) {} diode() : m_Is(1e-15), m_VT(0.0258), m_VT_inv(1.0 / m_VT) {}
diode(const nl_double Is, const nl_double n) diode(const nl_double Is, const nl_double n)
{ {
@ -37,15 +37,15 @@ public:
nl_double V(const nl_double I) const { return std::log1p(I / m_Is) * m_VT; } // log1p(x)=log(1.0 + x) nl_double V(const nl_double I) const { return std::log1p(I / m_Is) * m_VT; } // log1p(x)=log(1.0 + x)
nl_double gI(const nl_double I) const { return m_VT_inv * (I + m_Is); } nl_double gI(const nl_double I) const { return m_VT_inv * (I + m_Is); }
private: private:
nl_double m_Is; nl_double m_Is;
nl_double m_VT; nl_double m_VT;
nl_double m_VT_inv; nl_double m_VT_inv;
}; };
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// nld_Q - Base classes // nld_Q - Base classes
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
/*! Class representing the bjt model paramers. /*! Class representing the bjt model paramers.
* *
@ -124,9 +124,9 @@ private:
// Have a common start for transistors // Have a common start for transistors
NETLIB_OBJECT(Q) NETLIB_OBJECT(Q)
{ {
public: public:
enum q_type { enum q_type {
BJT_NPN, BJT_NPN,
BJT_PNP BJT_PNP
@ -146,33 +146,33 @@ public:
q_type qtype() const { return m_qtype; } q_type qtype() const { return m_qtype; }
bool is_qtype(q_type atype) const { return m_qtype == atype; } bool is_qtype(q_type atype) const { return m_qtype == atype; }
void set_qtype(q_type atype) { m_qtype = atype; } void set_qtype(q_type atype) { m_qtype = atype; }
protected: protected:
bjt_model_t m_model; bjt_model_t m_model;
private: private:
q_type m_qtype; q_type m_qtype;
}; };
NETLIB_OBJECT_DERIVED(QBJT, Q) NETLIB_OBJECT_DERIVED(QBJT, Q)
{ {
public: public:
NETLIB_CONSTRUCTOR_DERIVED(QBJT, Q) NETLIB_CONSTRUCTOR_DERIVED(QBJT, Q)
{ } { }
protected: protected:
private: private:
}; };
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// nld_QBJT_switch // nld_QBJT_switch
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
/* /*
* + - C * + - C
* B ----VVV----+ | * B ----VVV----+ |
* | | * | |
@ -185,8 +185,8 @@ private:
* E * E
*/ */
NETLIB_OBJECT_DERIVED(QBJT_switch, QBJT) NETLIB_OBJECT_DERIVED(QBJT_switch, QBJT)
{ {
NETLIB_CONSTRUCTOR_DERIVED(QBJT_switch, QBJT) NETLIB_CONSTRUCTOR_DERIVED(QBJT_switch, QBJT)
, m_RB(*this, "m_RB", true) , m_RB(*this, "m_RB", true)
, m_RC(*this, "m_RC", true) , m_RC(*this, "m_RC", true)
@ -215,7 +215,7 @@ NETLIB_OBJECT_DERIVED(QBJT_switch, QBJT)
NETLIB_UPDATE_PARAMI(); NETLIB_UPDATE_PARAMI();
NETLIB_UPDATE_TERMINALSI(); NETLIB_UPDATE_TERMINALSI();
private: private:
nld_twoterm m_RB; nld_twoterm m_RB;
nld_twoterm m_RC; nld_twoterm m_RC;
@ -228,17 +228,17 @@ private:
nl_double m_V; // internal voltage source nl_double m_V; // internal voltage source
state_var<unsigned> m_state_on; state_var<unsigned> m_state_on;
private: private:
}; };
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// nld_QBJT_EB // nld_QBJT_EB
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
NETLIB_OBJECT_DERIVED(QBJT_EB, QBJT) NETLIB_OBJECT_DERIVED(QBJT_EB, QBJT)
{ {
public: public:
NETLIB_CONSTRUCTOR_DERIVED(QBJT_EB, QBJT) NETLIB_CONSTRUCTOR_DERIVED(QBJT_EB, QBJT)
, m_gD_BC(*this, "m_D_BC") , m_gD_BC(*this, "m_D_BC")
, m_gD_BE(*this, "m_D_BE") , m_gD_BE(*this, "m_D_BE")
@ -271,14 +271,14 @@ public:
} }
} }
protected: protected:
NETLIB_RESETI(); NETLIB_RESETI();
NETLIB_UPDATEI(); NETLIB_UPDATEI();
NETLIB_UPDATE_PARAMI(); NETLIB_UPDATE_PARAMI();
NETLIB_UPDATE_TERMINALSI(); NETLIB_UPDATE_TERMINALSI();
private: private:
generic_diode m_gD_BC; generic_diode m_gD_BC;
generic_diode m_gD_BE; generic_diode m_gD_BE;
@ -292,25 +292,25 @@ private:
NETLIB_SUBXX(analog, C) m_CJE; NETLIB_SUBXX(analog, C) m_CJE;
NETLIB_SUBXX(analog, C) m_CJC; NETLIB_SUBXX(analog, C) m_CJC;
}; };
// ---------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------
// nld_Q // nld_Q
// ---------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------
NETLIB_UPDATE(Q) NETLIB_UPDATE(Q)
{ {
// netlist().solver()->schedule1(); // netlist().solver()->schedule1();
} }
// ---------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------
// nld_QBJT_switch // nld_QBJT_switch
// ---------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------
NETLIB_RESET(QBJT_switch) NETLIB_RESET(QBJT_switch)
{ {
NETLIB_NAME(Q)::reset(); NETLIB_NAME(Q)::reset();
m_state_on = 0; m_state_on = 0;
@ -320,21 +320,21 @@ NETLIB_RESET(QBJT_switch)
m_BC_dummy.set_G_V_I(exec().gmin() / 10.0, 0.0, 0.0); m_BC_dummy.set_G_V_I(exec().gmin() / 10.0, 0.0, 0.0);
} }
NETLIB_UPDATE(QBJT_switch) NETLIB_UPDATE(QBJT_switch)
{ {
if (!m_RB.m_P.net().isRailNet()) if (!m_RB.m_P.net().isRailNet())
m_RB.m_P.solve_now(); // Basis m_RB.m_P.solve_now(); // Basis
else if (!m_RB.m_N.net().isRailNet()) else if (!m_RB.m_N.net().isRailNet())
m_RB.m_N.solve_now(); // Emitter m_RB.m_N.solve_now(); // Emitter
else if (!m_RC.m_P.net().isRailNet()) else if (!m_RC.m_P.net().isRailNet())
m_RC.m_P.solve_now(); // Collector m_RC.m_P.solve_now(); // Collector
} }
NETLIB_UPDATE_PARAM(QBJT_switch) NETLIB_UPDATE_PARAM(QBJT_switch)
{ {
nl_double IS = m_model.m_IS; nl_double IS = m_model.m_IS;
nl_double BF = m_model.m_BF; nl_double BF = m_model.m_BF;
nl_double NF = m_model.m_NF; nl_double NF = m_model.m_NF;
@ -360,10 +360,10 @@ NETLIB_UPDATE_PARAM(QBJT_switch)
if (m_gB < exec().gmin()) if (m_gB < exec().gmin())
m_gB = exec().gmin(); m_gB = exec().gmin();
m_gC = d.gI(0.005); // very rough estimate m_gC = d.gI(0.005); // very rough estimate
} }
NETLIB_UPDATE_TERMINALS(QBJT_switch) NETLIB_UPDATE_TERMINALS(QBJT_switch)
{ {
const nl_double m = (is_qtype( BJT_NPN) ? 1 : -1); const nl_double m = (is_qtype( BJT_NPN) ? 1 : -1);
const unsigned new_state = (m_RB.deltaV() * m > m_V ) ? 1 : 0; const unsigned new_state = (m_RB.deltaV() * m > m_V ) ? 1 : 0;
@ -377,26 +377,26 @@ NETLIB_UPDATE_TERMINALS(QBJT_switch)
m_RC.set_G_V_I(gc, 0.0, 0.0); m_RC.set_G_V_I(gc, 0.0, 0.0);
m_state_on = new_state; m_state_on = new_state;
} }
} }
// ---------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------
// nld_Q - Ebers Moll // nld_Q - Ebers Moll
// ---------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------
NETLIB_UPDATE(QBJT_EB) NETLIB_UPDATE(QBJT_EB)
{ {
if (!m_D_EB.m_P.net().isRailNet()) if (!m_D_EB.m_P.net().isRailNet())
m_D_EB.m_P.solve_now(); // Basis m_D_EB.m_P.solve_now(); // Basis
else if (!m_D_EB.m_N.net().isRailNet()) else if (!m_D_EB.m_N.net().isRailNet())
m_D_EB.m_N.solve_now(); // Emitter m_D_EB.m_N.solve_now(); // Emitter
else else
m_D_CB.m_N.solve_now(); // Collector m_D_CB.m_N.solve_now(); // Collector
} }
NETLIB_RESET(QBJT_EB) NETLIB_RESET(QBJT_EB)
{ {
NETLIB_NAME(Q)::reset(); NETLIB_NAME(Q)::reset();
if (m_CJE) if (m_CJE)
{ {
@ -409,10 +409,10 @@ NETLIB_RESET(QBJT_EB)
m_CJC->m_C.setTo(m_model.m_CJC); m_CJC->m_C.setTo(m_model.m_CJC);
} }
} }
NETLIB_UPDATE_TERMINALS(QBJT_EB) NETLIB_UPDATE_TERMINALS(QBJT_EB)
{ {
const nl_double polarity = (qtype() == BJT_NPN ? 1.0 : -1.0); const nl_double polarity = (qtype() == BJT_NPN ? 1.0 : -1.0);
m_gD_BE.update_diode(-m_D_EB.deltaV() * polarity); m_gD_BE.update_diode(-m_D_EB.deltaV() * polarity);
@ -433,11 +433,11 @@ NETLIB_UPDATE_TERMINALS(QBJT_EB)
gec - gcc, gcc - gce, Ic); gec - gcc, gcc - gce, Ic);
m_D_EC.set_mat( 0, -gec, 0, m_D_EC.set_mat( 0, -gec, 0,
-gce, 0, 0); -gce, 0, 0);
} }
NETLIB_UPDATE_PARAM(QBJT_EB) NETLIB_UPDATE_PARAM(QBJT_EB)
{ {
nl_double IS = m_model.m_IS; nl_double IS = m_model.m_IS;
nl_double BF = m_model.m_BF; nl_double BF = m_model.m_BF;
nl_double NF = m_model.m_NF; nl_double NF = m_model.m_NF;
@ -452,13 +452,13 @@ NETLIB_UPDATE_PARAM(QBJT_EB)
m_gD_BE.set_param(IS / m_alpha_f, NF, exec().gmin()); m_gD_BE.set_param(IS / m_alpha_f, NF, exec().gmin());
m_gD_BC.set_param(IS / m_alpha_r, NR, exec().gmin()); m_gD_BC.set_param(IS / m_alpha_r, NR, exec().gmin());
} }
} //namespace analog } // namespace analog
namespace devices { namespace devices {
NETLIB_DEVICE_IMPL_NS(analog, QBJT_EB, "QBJT_EB", "MODEL") NETLIB_DEVICE_IMPL_NS(analog, QBJT_EB, "QBJT_EB", "MODEL")
NETLIB_DEVICE_IMPL_NS(analog, QBJT_switch, "QBJT_SW", "MODEL") NETLIB_DEVICE_IMPL_NS(analog, QBJT_switch, "QBJT_SW", "MODEL")
} // namespace devices } // namespace devices
} // namespace netlist } // namespace netlist