예제 #1
0
        /// <summary>Registeres the equation system coefficient proxies into the stamper.</summary>
        /// <param name="adapter">The equation system adapter.</param>
        /// <param name="anode">Index of anode terminal.</param>
        /// <param name="cathode">Index of cathode terminal.</param>
        public void Register(IEquationSystemAdapter adapter, int anode, int cathode)
        {
            voltage.Register(adapter, anode, cathode);
            currentStamper.Register(adapter, anode, cathode);
            n13 = adapter.GetMatrixCoefficientProxy(anode, BranchVariable);
            n23 = adapter.GetMatrixCoefficientProxy(cathode, BranchVariable);
            n33 = adapter.GetMatrixCoefficientProxy(BranchVariable, BranchVariable);

            r3 = adapter.GetRightHandSideCoefficientProxy(BranchVariable);
        }
예제 #2
0
        /// <summary>Registeres the equation system coefficient proxies into the stamper.</summary>
        /// <param name="adapter">The equation system adapter.</param>
        /// <param name="anode">Index of anode terminal.</param>
        /// <param name="cathode">Index of cathode terminal.</param>
        public void Register(IEquationSystemAdapter adapter, int anode, int cathode)
        {
            n13 = adapter.GetMatrixCoefficientProxy(anode, BranchVariable);
            n23 = adapter.GetMatrixCoefficientProxy(cathode, BranchVariable);
            n31 = adapter.GetMatrixCoefficientProxy(BranchVariable, anode);
            n32 = adapter.GetMatrixCoefficientProxy(BranchVariable, cathode);

            br = adapter.GetRightHandSideCoefficientProxy(BranchVariable);

            solution = adapter.GetSolutionProxy(BranchVariable);
        }
예제 #3
0
        /// <summary>Registeres the equation system coefficient proxies into the stamper.</summary>
        /// <param name="adapter">The equation system adapter.</param>
        /// <param name="anode">Index of anode terminal.</param>
        /// <param name="cathode">Index of cathode terminal.</param>
        public void Register(IEquationSystemAdapter adapter, int anode, int cathode)
        {
            nba = adapter.GetMatrixCoefficientProxy(BranchVariable, anode);
            nbc = adapter.GetMatrixCoefficientProxy(BranchVariable, cathode);
            nab = adapter.GetMatrixCoefficientProxy(anode, BranchVariable);
            ncb = adapter.GetMatrixCoefficientProxy(cathode, BranchVariable);
            nbb = adapter.GetMatrixCoefficientProxy(BranchVariable, BranchVariable);

            nb = adapter.GetRightHandSideCoefficientProxy(BranchVariable);

            sol = adapter.GetSolutionProxy(BranchVariable);
        }
예제 #4
0
 /// <summary>Registeres the equation system coefficient proxies into the stamper.</summary>
 /// <param name="adapter">The equation system adapter.</param>
 /// <param name="anode">Index of anode terminal.</param>
 /// <param name="cathode">Index of cathode terminal.</param>
 public void Register(IEquationSystemAdapter adapter, int anode, int cathode)
 {
     this.anode   = adapter.GetRightHandSideCoefficientProxy(anode);
     this.cathode = adapter.GetRightHandSideCoefficientProxy(cathode);
 }
예제 #5
0
 /// <summary>Returns proxy class for coefficient at given row in the right hand side vector.</summary>
 /// <param name="row">Row coordinate.</param>
 /// <returns></returns>
 public IEquationSystemCoefficientProxy GetRightHandSideCoefficientProxy(int row)
 {
     return(decoreated.GetRightHandSideCoefficientProxy(GetMappedIndex(row)));
 }