Class to set RHS for double module RLC circuit with discharging capacitor, resistance, and inductance, out of each module.
More...
Class to set RHS for double module RLC circuit with discharging capacitor, resistance, and inductance, out of each module.
This also includes a line inductance in the load branch along with a load. This circuit looks like the following:
R2 R1 L_line
L2 L1 V_load
C2 C1 | | | |
|I2 (up) |I1 (up) |
| Ground
Each module can be switched on based on at different times. When the first line is on, we have the simple series RLC circuit with Vload (see series_rlc_with_load_rhs.h). When the second module is turned on, we can solve using 3 equations for 3 unknowns: 1) KCL -> I0 = I1 + I2 2) KVL -> V_C1 - V_R1 - V_L1 - V_L_line - V_load = 0 3) KVL -> V_C2 - V_R2 - V_L2 - V_L_line - V_load = 0 This leads to a system of first order ODEs to solve for q = [Q1, Qdot1, Q2, Qdot2] where Qdot1 = -I1, Qdot2 = -I2 where we solve dqdt = [Qdot1, Qdouble_dot1, // Qdot2, Qdouble_dot2] = RHS derived from Eqs. 1-3
|
| DoubleModuleRLCWithLoadRHS () |
| Constructor.
|
|
| ~DoubleModuleRLCWithLoadRHS () override |
| Destructor.
|
|
void | setup (const WxCryptSet &wxc) override |
| Setup.
|
|
const std::vector< int > & | getInputVariableIndexes (int flag) const override |
| Grab input variable indices.
|
|
const std::vector< int > & | getAuxiliaryVariableIndexes (int flag) const override |
| Grab auxiliary variable indices.
|
|
const std::vector< int > & | getOutputVariableIndexes (int flag) const override |
| Grab output variable indices.
|
|
void | evaluate_function (const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override |
| Redefinition of the function evaluator.
|
|
| WmApplication () |
|
virtual | ~WmApplication ()=default |
|
virtual void | setup (const WxCryptSet &wxc) |
|
virtual const std::vector< int > & | getAuxiliaryVariableIndexes (int flag=WMAPPLICATIONFLAG_NONE) const |
|
virtual const std::vector< int > & | getCrossVariableIndexes (int flag=WMAPPLICATIONFLAG_NONE) const |
|
const std::vector< std::string > & | getBoundaryNames () const |
|
bool | isOnBoundary (const std::string &boundaryName) const |
|
bool | has (int flag) const |
|
virtual real | numerical_flux (const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const |
|
virtual real | internal_flux (const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const |
|
virtual real | source (const real *q, const real *aux, const elementGeometry_t *pEG, real *source) const |
|
virtual void | bc_q (const real *q_in, const real *aux_in, const real *aux_out, const solverVariables_t *pFV, real *q_out) const |
| Boundary Condition Application which sets the boundary condition on ghost nodes.
|
|
virtual real | bcNumericalFlux (const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const |
|
virtual void | conserved_to_primitive (const real *q, const real *aux, real *w) const |
|
virtual void | primitive_to_conserved (const real *w, const real *aux, real *q) const |
|
virtual void | evaluate_function (const real *q, const real *aux, const solverVariables_t *pSV, real *result) const |
|
virtual void | bc_q_kinetic (const real *q_in, const real *aux_in, const solverVariables_t *pFV, real *q_out) const |
|
std::shared_ptr< std::string > | app_name () |
|
virtual const std::vector< int > & | getInputVariableIndexes (int flag=0) const |
|
virtual const std::vector< int > & | getOutputVariableIndexes (int flag=0) const |
|