/// <summary> /// Create states /// </summary> /// <param name="method"></param> public void CreateStates(IntegrationMethod method) { if (method == null) { throw new ArgumentNullException(nameof(method)); } QCap = method.CreateDerivative(); }
/// <summary> /// Create states /// </summary> /// <param name="states">States</param> public override void CreateStates(StatePool states) { if (states == null) { throw new ArgumentNullException(nameof(states)); } _flux = states.CreateDerivative(); }
/// <summary> /// Constructor /// </summary> /// <param name="inductance">Inductor</param> /// <param name="current">Current</param> /// <param name="flux">Flux</param> /// <param name="state">State</param> public UpdateFluxEventArgs(double inductance, double current, StateDerivative flux, BaseSimulationState state) { flux.ThrowIfNull(nameof(flux)); Inductance = inductance; Current = current; OriginalFlux = flux.Current; Flux = flux; State = state ?? throw new ArgumentNullException(nameof(state)); }
/// <summary> /// Setup the behavior /// </summary> public override void Bind(Simulation simulation, BindingContext context) { base.Bind(simulation, context); _load = context.GetBehavior <BiasingBehavior>(); _load.TranBehavior = this; var method = ((TimeSimulation)simulation).Method; Qb = method.CreateDerivative(); Qg = method.CreateDerivative(); Qd = method.CreateDerivative(); }
/// <summary> /// Constructor /// </summary> /// <param name="inductance">Inductor</param> /// <param name="current">Current</param> /// <param name="flux">Flux</param> /// <param name="state">State</param> public UpdateFluxEventArgs(double inductance, double current, StateDerivative flux, RealState state) { if (flux == null) { throw new ArgumentNullException(nameof(flux)); } Inductance = inductance; Current = current; OriginalFlux = flux.Current; Flux = flux; State = state ?? throw new ArgumentNullException(nameof(state)); }
/// <summary> /// Setup the behavior /// </summary> public override void Bind(Simulation simulation, BindingContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } _load = context.GetBehavior <BiasingBehavior>(); _load.TranBehavior = this; var method = ((TimeSimulation)simulation).Method; Qb = method.CreateDerivative(); Qg = method.CreateDerivative(); Qd = method.CreateDerivative(); }
/// <summary> /// Bind the behavior. /// </summary> /// <param name="simulation">The simulation.</param> /// <param name="context">The context.</param> public override void Bind(Simulation simulation, BindingContext context) { base.Bind(simulation, context); _state = ((BaseSimulation)simulation).RealState; var solver = _state.Solver; PosPosPtr = solver.GetMatrixElement(PosNode, PosNode); NegNegPtr = solver.GetMatrixElement(NegNode, NegNode); NegPosPtr = solver.GetMatrixElement(NegNode, PosNode); PosNegPtr = solver.GetMatrixElement(PosNode, NegNode); PosPtr = solver.GetRhsElement(PosNode); NegPtr = solver.GetRhsElement(NegNode); var method = ((TimeSimulation)simulation).Method; QCap = method.CreateDerivative(); }
/// <summary> /// Create states /// </summary> /// <param name="states">States</param> public override void CreateStates(StatePool states) { if (states == null) { throw new ArgumentNullException(nameof(states)); } VoltageBs = states.CreateHistory(); VoltageGs = states.CreateHistory(); VoltageDs = states.CreateHistory(); CapGs = states.CreateHistory(); CapGd = states.CreateHistory(); CapGb = states.CreateHistory(); ChargeGs = states.CreateDerivative(); ChargeGd = states.CreateDerivative(); ChargeGb = states.CreateDerivative(); ChargeBd = states.CreateDerivative(); ChargeBs = states.CreateDerivative(); }
/// <summary> /// Create states /// </summary> /// <param name="method"></param> public override void CreateStates(IntegrationMethod method) { if (method == null) { throw new ArgumentNullException(nameof(method)); } _vgs = method.CreateHistory(); _vds = method.CreateHistory(); _vbs = method.CreateHistory(); _capgs = method.CreateHistory(); _capgd = method.CreateHistory(); _capgb = method.CreateHistory(); _qgs = method.CreateDerivative(); _qgd = method.CreateDerivative(); _qgb = method.CreateDerivative(); _qbd = method.CreateDerivative(); _qbs = method.CreateDerivative(); }
/// <summary> /// Create states /// </summary> /// <param name="method"></param> public override void CreateStates(IntegrationMethod method) { if (method == null) { throw new ArgumentNullException(nameof(method)); } VoltageBs = method.CreateHistory(); VoltageGs = method.CreateHistory(); VoltageDs = method.CreateHistory(); CapGs = method.CreateHistory(); CapGd = method.CreateHistory(); CapGb = method.CreateHistory(); ChargeGs = method.CreateDerivative(); ChargeGd = method.CreateDerivative(); ChargeGb = method.CreateDerivative(); ChargeBd = method.CreateDerivative(); ChargeBs = method.CreateDerivative(); }
/// <summary> /// Create states /// </summary> /// <param name="states">States</param> public override void CreateStates(StatePool states) { if (states == null) { throw new ArgumentNullException(nameof(states)); } _vgs = states.CreateHistory(); _vds = states.CreateHistory(); _vbs = states.CreateHistory(); _capgs = states.CreateHistory(); _capgd = states.CreateHistory(); _capgb = states.CreateHistory(); _qgs = states.CreateDerivative(); _qgd = states.CreateDerivative(); _qgb = states.CreateDerivative(); _qbd = states.CreateDerivative(); _qbs = states.CreateDerivative(); }
/// <summary> /// Bind behavior. /// </summary> /// <param name="simulation">The simulation.</param> /// <param name="context">Data provider</param> public override void Bind(Simulation simulation, BindingContext context) { base.Bind(simulation, context); // Clear all events if (UpdateFlux != null) { foreach (var inv in UpdateFlux.GetInvocationList()) { UpdateFlux -= (EventHandler <UpdateFluxEventArgs>)inv; } } var solver = State.Solver; BranchBranchPtr = solver.GetMatrixElement(BranchEq, BranchEq); BranchPtr = solver.GetRhsElement(BranchEq); var method = ((TimeSimulation)simulation).Method; _flux = method.CreateDerivative(); }
/// <summary> /// Create states /// </summary> /// <param name="method"></param> public void CreateStates(IntegrationMethod method) { method.ThrowIfNull(nameof(method)); QCap = method.CreateDerivative(); }