Show / Hide Table of Contents

Class FrequencySimulation

A template for frequency-dependent analysis.

Inheritance
object
ParameterSet
ParameterSetCollection
Simulation
BiasingSimulation
FrequencySimulation
AC
Noise
Implements
IStateful<TemperatureSimulationState>
IStateful<IIterationSimulationState>
IBehavioral<IBiasingUpdateBehavior>
IParameterized<BiasingParameters>
IFrequencySimulation
IBiasingSimulation
ISimulation<IVariable<double>>
ITemperatureSimulation
IStateful<ITemperatureSimulationState>
IBehavioral<ITemperatureBehavior>
IBehavioral<IBiasingBehavior>
IBehavioral<IConvergenceBehavior>
IStateful<IBiasingSimulationState>
ISimulation<IVariable<Complex>>
ISimulation
IParameterSetCollection
IParameterSet
IBehavioral<IFrequencyBehavior>
IStateful<IComplexSimulationState>
IStateful
IBehavioral<IFrequencyUpdateBehavior>
IBehavioral
IParameterized<FrequencyParameters>
Inherited Members
BiasingSimulation.AfterTemperature
BiasingSimulation.ProblemVariable
BiasingSimulation.BiasingParameters
BiasingSimulation.Iteration
BiasingSimulation.BeforeLoad
BiasingSimulation.AfterLoad
BiasingSimulation.Finish()
BiasingSimulation.Op(int)
BiasingSimulation.IterateGminStepping(int, int)
BiasingSimulation.IterateDiagonalGminStepping(int, int)
BiasingSimulation.IterateSourceStepping(int, int)
BiasingSimulation.Iterate(int)
BiasingSimulation.StoreSolution()
BiasingSimulation.Load()
BiasingSimulation.LoadNodeSets(object, LoadStateEventArgs)
BiasingSimulation.IsConvergent()
BiasingSimulation.OnBeforeLoad(LoadStateEventArgs)
BiasingSimulation.OnAfterLoad(LoadStateEventArgs)
Simulation.Exports
Simulation.Actions
Simulation.AfterSetup
Simulation.AfterValidation
Simulation.BeforeExecute
Simulation.AfterExecute
Simulation.Status
Simulation.States
Simulation.Behaviors
Simulation.Name
Simulation.CurrentRun
Simulation.Repeat
Simulation.EntityBehaviors
Simulation.Run(IEntityCollection, int)
Simulation.Rerun(int)
Simulation.Validate(IRules, IEntityCollection)
Simulation.UsesBehaviors<B>()
Simulation.UsesBehavior(Type)
Simulation.GetState<S>()
Simulation.TryGetState<S>(out S)
Simulation.UsesState<S>()
ParameterSetCollection.GetParameterSet<P>()
ParameterSetCollection.TryGetParameterSet<P>(out P)
ParameterSetCollection.ParameterSets
ParameterSetCollection.SetParameter<P>(string, P)
ParameterSetCollection.TrySetParameter<P>(string, P)
ParameterSetCollection.GetProperty<P>(string)
ParameterSetCollection.TryGetProperty<P>(string, out P)
ParameterSetCollection.CreateParameterSetter<P>(string)
ParameterSetCollection.CreatePropertyGetter<P>(string)
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: SpiceSharp.Simulations
Assembly: SpiceSharp.dll
Syntax
public abstract class FrequencySimulation : BiasingSimulation, IStateful<TemperatureSimulationState>, IStateful<IIterationSimulationState>, IBehavioral<IBiasingUpdateBehavior>, IParameterized<BiasingParameters>, IFrequencySimulation, IBiasingSimulation, ISimulation<IVariable<double>>, ITemperatureSimulation, IStateful<ITemperatureSimulationState>, IBehavioral<ITemperatureBehavior>, IBehavioral<IBiasingBehavior>, IBehavioral<IConvergenceBehavior>, IStateful<IBiasingSimulationState>, ISimulation<IVariable<Complex>>, ISimulation, IParameterSetCollection, IParameterSet, IBehavioral<IFrequencyBehavior>, IStateful<IComplexSimulationState>, IStateful, IBehavioral<IFrequencyUpdateBehavior>, IBehavioral, IParameterized<FrequencyParameters>

Constructors

FrequencySimulation(string)

Initializes a new instance of the FrequencySimulation class.

Declaration
protected FrequencySimulation(string name)
Parameters
Type Name Description
string name

The name of the simulation.

Exceptions
Type Condition
ArgumentNullException

Thrown if name is null.

FrequencySimulation(string, IEnumerable<double>)

Initializes a new instance of the FrequencySimulation class.

Declaration
protected FrequencySimulation(string name, IEnumerable<double> frequencySweep)
Parameters
Type Name Description
string name

The name of the simulation.

IEnumerable<double> frequencySweep

The frequency points.

Exceptions
Type Condition
ArgumentNullException

Thrown if name is null.

Properties

FrequencyParameters

Gets the frequency parameters.

Declaration
public FrequencyParameters FrequencyParameters { get; }
Property Value
Type Description
FrequencyParameters

The frequency parameters.

Statistics

Gets the statistics.

Declaration
public ComplexSimulationStatistics Statistics { get; }
Property Value
Type Description
ComplexSimulationStatistics

The statistics.

Methods

AcIterate()

Iterate small-signal matrix and vector.

Declaration
protected void AcIterate()
Exceptions
Type Condition
SpiceSharpException

Thrown if a behavior cannot load the complex matrix and/or right hand side vector.

SingularException

Thrown if the equation matrix is singular.

CreateBehaviors(IEntityCollection)

Creates all behaviors for the simulation.

Declaration
protected override void CreateBehaviors(IEntityCollection entities)
Parameters
Type Name Description
IEntityCollection entities

The entities.

Overrides
BiasingSimulation.CreateBehaviors(IEntityCollection)
Exceptions
Type Condition
ArgumentNullException

Thrown if entities is null.

CreateStates()

Creates all the simulation states for the simulation.

Declaration
protected override void CreateStates()
Overrides
BiasingSimulation.CreateStates()

Execute(int)

Executes the simulation.

Declaration
protected override IEnumerable<int> Execute(int mask = 65535)
Parameters
Type Name Description
int mask

A bit mask for simulation export identifiers.

Returns
Type Description
IEnumerable<int>
Overrides
BiasingSimulation.Execute(int)
Exceptions
Type Condition
SpiceSharpException

Thrown if the simulation can't continue.

FrequencyLoad()

Loads the Y-matrix and right hand side vector.

Declaration
protected void FrequencyLoad()
Exceptions
Type Condition
SpiceSharpException

Thrown if a behavior cannot load the complex matrix and/or right hand side vector.

InitializeAcParameters()

Initializes the small-signal parameters.

Declaration
protected void InitializeAcParameters()

LoadFrequencyBehaviors()

Loads the Y-matrix and right hand side vector.

Declaration
protected virtual void LoadFrequencyBehaviors()
Exceptions
Type Condition
SpiceSharpException

Thrown if a behavior cannot load the complex matrix and/or right hand side vector.

OnAfterFrequencyLoad(LoadStateEventArgs)

Raises the AfterFrequencyLoad event.

Declaration
protected virtual void OnAfterFrequencyLoad(LoadStateEventArgs args)
Parameters
Type Name Description
LoadStateEventArgs args

The LoadStateEventArgs instance containing the event data.

OnBeforeFrequencyLoad(LoadStateEventArgs)

Raises the BeforeFrequencyLoad event.

Declaration
protected virtual void OnBeforeFrequencyLoad(LoadStateEventArgs args)
Parameters
Type Name Description
LoadStateEventArgs args

The LoadStateEventArgs instance containing the event data.

Validate(IEntityCollection)

Validates the input.

Declaration
protected override void Validate(IEntityCollection entities)
Parameters
Type Name Description
IEntityCollection entities

The entities.

Overrides
BiasingSimulation.Validate(IEntityCollection)
Exceptions
Type Condition
ArgumentNullException

Thrown if entities is null.

ValidationFailedException

Thrown if the validation failed.

Events

AfterFrequencyLoad

Occurs after loading the matrix and right-hand side vector.

Declaration
public event EventHandler<LoadStateEventArgs> AfterFrequencyLoad
Event Type
Type Description
EventHandler<LoadStateEventArgs>
Remarks

For better performance you can also create an entity with a low priority that generates a frequency behavior.

BeforeFrequencyLoad

Occurs before loading the matrix and right-hand side vector.

Declaration
public event EventHandler<LoadStateEventArgs> BeforeFrequencyLoad
Event Type
Type Description
EventHandler<LoadStateEventArgs>
Remarks

For better performance you can also create an entity with a high priority that generates a frequency behavior.

Implements

IStateful<S>
IStateful<S>
IBehavioral<B>
IParameterized<P>
IFrequencySimulation
IBiasingSimulation
ISimulation<V>
ITemperatureSimulation
IStateful<S>
IBehavioral<B>
IBehavioral<B>
IBehavioral<B>
IStateful<S>
ISimulation<V>
ISimulation
IParameterSetCollection
IParameterSet
IBehavioral<B>
IStateful<S>
IStateful
IBehavioral<B>
IBehavioral
IParameterized<P>

Extension Methods

Documentation.ParameterValues<T>(IParameterSet, bool)
Documentation.Parameters(IParameterSet)
Documentation.ParameterValues<T>(IParameterSetCollection, bool)
Documentation.Parameters(IParameterSetCollection)
Utility.ThrowIfNull<T>(T, string)
SimulationHelper.GetComplexCurrent(ISimulation, Reference)
SimulationHelper.GetComplexProperty(ISimulation, Reference, string)
SimulationHelper.GetComplexVoltage(ISimulation, Reference)
SimulationHelper.GetComplexVoltage(ISimulation, Reference, Reference)
SimulationHelper.GetCurrent(ISimulation, Reference)
SimulationHelper.GetProperty(ISimulation, Reference, string)
SimulationHelper.GetVoltage(ISimulation, Reference)
SimulationHelper.GetVoltage(ISimulation, Reference, Reference)
SimulationHelper.RunToEnd(ISimulation, IEntityCollection, IDictionary<int, Action>)
SimulationHelper.TryGetComplexCurrent(ISimulation, Reference, out Complex)
SimulationHelper.TryGetComplexProperty(ISimulation, Reference, string, out Complex)
SimulationHelper.TryGetComplexVoltage(ISimulation, Reference, Reference, out Complex)
SimulationHelper.TryGetComplexVoltage(ISimulation, Reference, out Complex)
SimulationHelper.TryGetCurrent(ISimulation, Reference, out double)
SimulationHelper.TryGetProperty(ISimulation, Reference, string, out double)
SimulationHelper.TryGetVoltage(ISimulation, Reference, Reference, out double)
SimulationHelper.TryGetVoltage(ISimulation, Reference, out double)

See Also

BiasingSimulation
IFrequencySimulation
IBehavioral<B>
IFrequencyUpdateBehavior
IParameterized<P>
FrequencyParameters
In this article
Back to top Generated by DocFX