spis.Circ.Circ
Class RCCabsCirc

java.lang.Object
  extended byspis.Circ.Circ.Circ
      extended byspis.Circ.Circ.RCCabsCirc

public class RCCabsCirc
extends Circ

Class Name : RCCabsCirc (generic spacecraft Circuit class)
Project ref : SPIS project
File name : Circ.java
File type : class
Copyright : ONERA, 2 Av. E. Belin, 31055 Toulouse cedex, France http://www.onecert.fr
Status : under development
Creation : 25/08/2003
Modification :

Description : spacecraft Circuit class described by:
- a network of resistors and capacitors (RC) between SC surfaces (nodes)
- an absolute spacecraft capacitance (Cabs) explicitly defined by the user
The matrix indices for the RC network are the node indices of the circuit (same as for a circuit field).
In principle the connected nodes (grounded or connected conductors) should not be described as connected with zero resistance (or infinite capacitance), but handled as one single circuit node (and several SurfMesh nodes) through the mesh/circuit mapping services provided by the spacecraft class.
In this specialisation, state variables are potential and charge, but more of them may be needed in some cases, as e.g. when involving inductance (intensity, or d(charge)/dt), which may be implemented in other specialisations of the generic Circ class or in classes derived from this one.

Versions and anomalies correction :

Version numberAuthor (name, e-mail) Corrections/Modifications
0.1 JF Roussel, roussel@onecert.frCreation


Version:
0.1
Author:
JF Roussel

Constructor Summary
RCCabsCirc(Matrix conductM, Matrix capaM, int nodeN)
          Default constructor
RCCabsCirc(Matrix conductM, Matrix capaM, int nodeN, java.util.Vector potentialSources)
          Constructor with electric components to be inserted between electric super nodes
 
Method Summary
 Matrix getC()
          gets the capacitance matrix (a pointer to)
 Matrix getG()
          gets the resistance matrix (a pointer to)
 int getNodeNb()
          Provides the potential on the circuit nodes
 CircField getPot()
          Returns the potential on the circuit nodes (pointer).
 void integrate(float dt, CircField intensity)
          performs one step of time integration over time dt, based on the net current collection intensity.
 void setC(Matrix C)
          sets the capacitance matrix (through a pointer, no copy)
 void setG(Matrix G)
          sets the resistance matrix (through a pointer, no copy)
 void setPot(CircField potential)
          sets the potential to the provided values, and also initialises what can be deduced form the potential: charges and reduced versions of potentials and charges (one reduced value per group of nodes connected by a potential source, internal data to the class).
 void setPot(CircField potential, java.util.Vector potSources)
          sets the potential to the provided values, and also initialises what can be deduced form the potential: charges and reduced versions of potentials and charges (one reduced value per group of nodes connected by a potential source, internal data to the class).
 void setPotSources(java.util.Vector potSources, int potSourceNb)
          Defines potential sources:
potential deltaV[i] is set between electrical node elec1[i] and elec2[i], for i = 0 to sourceNb-1 (arrays may be larger, not smaller!).
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RCCabsCirc

public RCCabsCirc(Matrix conductM,
                  Matrix capaM,
                  int nodeN)
Default constructor

Parameters:
conductM - conductance matrix
capaM - capacitance matrix
nodeN - electric node number (should be the size of the square matrices)

RCCabsCirc

public RCCabsCirc(Matrix conductM,
                  Matrix capaM,
                  int nodeN,
                  java.util.Vector potentialSources)
Constructor with electric components to be inserted between electric super nodes

Parameters:
conductM - conductance matrix
capaM - capacitance matrix
nodeN - electric node number (should be the size of the square matrices)
potentialSources - electric components between super nodes
Method Detail

setPotSources

public void setPotSources(java.util.Vector potSources,
                          int potSourceNb)
Defines potential sources:
potential deltaV[i] is set between electrical node elec1[i] and elec2[i], for i = 0 to sourceNb-1 (arrays may be larger, not smaller!).
The relationship is V1 - V2 = deltaV.
NB: this initialisation might be included in the constructor to insure potential sources are defined, but for now it is allowed to have none, if this routine is not invoked: everything is defined correctly in the constructor in that case (reduced matrices point to full matrices).


integrate

public void integrate(float dt,
                      CircField intensity)
performs one step of time integration over time dt, based on the net current collection intensity.
The internal state variables are updated: charge on nodes after redistribution, and potentials.
At routine start potentials and charges are assumed to consistent with one another (schematically Q = C.V), whichever was derived from the other. This is true after:
- a previous integrate() step (Q is incremented, V updated)
- setPot (V is set, Q is updated)
but not after a simple contructor or setPotSources, which only
define the circuit connectivity.

Specified by:
integrate in class Circ

setPot

public void setPot(CircField potential)
sets the potential to the provided values, and also initialises what can be deduced form the potential: charges and reduced versions of potentials and charges (one reduced value per group of nodes connected by a potential source, internal data to the class). Since potential is provided on all nodes, the biasing voltages are also updated, preserving yet the potential source structure (if Vi - Vj was previously defined as fixed by a potential source to the value Vij, it remains fixed, but with an updated value Vij = Vi - Vj). This is a way to update biasing potentials.


setPot

public void setPot(CircField potential,
                   java.util.Vector potSources)
sets the potential to the provided values, and also initialises what can be deduced form the potential: charges and reduced versions of potentials and charges (one reduced value per group of nodes connected by a potential source, internal data to the class). Since potential is provided on all nodes, the biasing voltages are also updated, preserving yet the potential source structure (if Vi - Vj was previously defined as fixed by a potential source to the value Vij, it remains fixed, but with an updated value Vij = Vi - Vj). This is a way to update biasing potentials.


getG

public Matrix getG()
gets the resistance matrix (a pointer to)


setG

public void setG(Matrix G)
sets the resistance matrix (through a pointer, no copy)


getC

public Matrix getC()
gets the capacitance matrix (a pointer to)


setC

public void setC(Matrix C)
sets the capacitance matrix (through a pointer, no copy)


getPot

public CircField getPot()
Returns the potential on the circuit nodes (pointer).

Specified by:
getPot in class Circ

getNodeNb

public int getNodeNb()
Description copied from class: Circ
Provides the potential on the circuit nodes

Specified by:
getNodeNb in class Circ
Returns:
node number