Class SubcircuitSolverState<T, S>
A subcircuit simulation state with a solver.
Implements
Inherited Members
Namespace: SpiceSharp.Components.Subcircuits
Assembly: SpiceSharp.dll
Syntax
public abstract class SubcircuitSolverState<T, S> : ISolverSimulationState<T>, ISimulationState, IVariableFactory<IVariable<T>>, IVariableDictionary<IVariable<T>>, IReadOnlyDictionary<string, IVariable<T>>, IReadOnlyCollection<KeyValuePair<string, IVariable<T>>>, IEnumerable<KeyValuePair<string, IVariable<T>>>, IEnumerable where S : ISolverSimulationState<T>
Type Parameters
Name | Description |
---|---|
T | The base value type. |
S | The parent simulation state type. |
Constructors
SubcircuitSolverState(string, S)
Initializes a new instance of the SubcircuitSolverState<T, S> class.
Declaration
protected SubcircuitSolverState(string name, S parent)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name. |
S | parent | The parent. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
Fields
Name
The name of the subcircuit.
Declaration
protected readonly string Name
Field Value
Type | Description |
---|---|
string |
Parent
The parent simulation state.
Declaration
protected readonly S Parent
Field Value
Type | Description |
---|---|
S |
Properties
Comparer
Gets the comparer used for comparing variable names.
Declaration
public IEqualityComparer<string> Comparer { get; }
Property Value
Type | Description |
---|---|
IEqualityComparer<string> | The comparer. |
Count
Gets the number of elements in the collection.
Declaration
public int Count { get; }
Property Value
Type | Description |
---|---|
int | The number of elements in the collection. |
this[string]
Gets the IVariable<T> with the specified key.
Declaration
public IVariable<T> this[string key] { get; }
Parameters
Type | Name | Description |
---|---|---|
string | key | The key. |
Property Value
Type | Description |
---|---|
IVariable<T> | The IVariable<T>. |
Keys
Gets an enumerable collection that contains the keys in the dictionary.
Declaration
public IEnumerable<string> Keys { get; }
Property Value
Type | Description |
---|---|
IEnumerable<string> |
Map
Gets the IVariableMap that maps variables to indices for the solver.
Declaration
public abstract IVariableMap Map { get; }
Property Value
Type | Description |
---|---|
IVariableMap | The variable map. |
Solution
Gets the solution to the solved equations.
Declaration
public abstract IVector<T> Solution { get; }
Property Value
Type | Description |
---|---|
IVector<T> | The solution. |
Solver
Gets the solver used to solve the system of equations.
Declaration
public abstract ISparsePivotingSolver<T> Solver { get; }
Property Value
Type | Description |
---|---|
ISparsePivotingSolver<T> | The solver. |
Values
Gets an enumerable collection that contains the values in the dictionary.
Declaration
public IEnumerable<IVariable<T>> Values { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IVariable<T>> |
Methods
Add(string, IVariable<T>)
Adds a variable to the dictionary.
Declaration
public void Add(string id, IVariable<T> variable)
Parameters
Type | Name | Description |
---|---|---|
string | id | The identifier. |
IVariable<T> | variable | The variable. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
ArgumentException | Thrown if a variable with the same identifier already exists. |
ContainsKey(string)
Determines whether the dictionary contains an element that has the specified key.
Declaration
public bool ContainsKey(string key)
Parameters
Type | Name | Description |
---|---|---|
string | key | The key to locate. |
Returns
Type | Description |
---|---|
bool |
|
CreatePrivateVariable(string, IUnit)
Creates a variable that is private to whoever requested it. The factory will not shared this variable with anyone else, and the name is only used for display purposes.
Declaration
public abstract IVariable<T> CreatePrivateVariable(string name, IUnit unit)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the private variable. |
IUnit | unit | The unit of the variable. |
Returns
Type | Description |
---|---|
IVariable<T> | The private variable. |
GetEnumerator()
Returns an enumerator that iterates through the collection.
Declaration
public IEnumerator<KeyValuePair<string, IVariable<T>>> GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator<KeyValuePair<string, IVariable<T>>> | An enumerator that can be used to iterate through the collection. |
GetSharedVariable(string)
Gets a variable that can be shared with other behaviors by the factory. If another variable already exists with the same name, that is returned instead.
Declaration
public abstract IVariable<T> GetSharedVariable(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the shared variable. |
Returns
Type | Description |
---|---|
IVariable<T> | The shared variable. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
TryGetValue(string, out IVariable<T>)
Gets the value that is associated with the specified key.
Declaration
public bool TryGetValue(string key, out IVariable<T> value)
Parameters
Type | Name | Description |
---|---|---|
string | key | The key to locate. |
IVariable<T> | value | When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the |
Returns
Type | Description |
---|---|
bool |
|