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

Field Summary
private  CircField bias
          Potential sources between a node and the node it is connected to by a source potential source potential which is maintained in the reduced matrices
private  Matrix capa
          capacitances of capacitor network
private  Matrix conduct
          conductances of resistor network
private  int nodeNb
          Electrical node number
private  CircField pot
          potential at circuit nodes
private  Matrix projMatrix
          Projection matrix
private  Matrix projMatrixTransp
          Transposed Projection matrix
private  Matrix redCapa
          capacitances of reduced capacitor network
private  CircField redCharge
          charge at reduced circuit nodes
private  Matrix redMatrix
          Reduction matrix (nodes connected by a potential sources are merged)
private  Matrix redMatrixTransp
          Transposed reduction matrix
private  int redNodeNb
          Reduced electrical node number
private  CircField redPot
          potential at reduced circuit nodes
private  CircField tmpN
          temporary cricuit fields (on non-reduced node set) stored to avoid heavy memory allocations/deallocations
private  CircField tmpR
          temporary circuit field (on reduced node set) stored to avoid heavy memory allocations/deallocations
 
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nodeNb

private int nodeNb
Electrical node number


conduct

private Matrix conduct
conductances of resistor network


capa

private Matrix capa
capacitances of capacitor network


redCapa

private Matrix redCapa
capacitances of reduced capacitor network


redMatrix

private Matrix redMatrix
Reduction matrix (nodes connected by a potential sources are merged)


redMatrixTransp

private Matrix redMatrixTransp
Transposed reduction matrix


projMatrix

private Matrix projMatrix
Projection matrix


projMatrixTransp

private Matrix projMatrixTransp
Transposed Projection matrix


redNodeNb

private int redNodeNb
Reduced electrical node number


bias

private CircField bias
Potential sources between a node and the node it is connected to by a source potential source potential which is maintained in the reduced matrices


pot

private CircField pot
potential at circuit nodes


redPot

private CircField redPot
potential at reduced circuit nodes


redCharge

private CircField redCharge
charge at reduced circuit nodes


tmpR

private CircField tmpR
temporary circuit field (on reduced node set) stored to avoid heavy memory allocations/deallocations


tmpN

private CircField tmpN
temporary cricuit fields (on non-reduced node set) stored to avoid heavy memory allocations/deallocations

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