SmartLUSolver¶
-
class
SmartLUSolver¶
Extends Solver class
Properties¶
-
timeIndex¶
Time index where simulation will start and where fattimeIndex is defined.
-
fattimeIndex¶
Distribution function that will be used to simulate next timestep and is thus defined at timeIndex.
-
nSaves¶
How many saves to do when invoking takeTimeSteps()
-
saveIndices¶
Which indecies will be saved.
Initialized after nSaves have been set and is set when invoking takeTimeSteps() with initsaveIndices().
-
factor_L¶
L factor in LU factorization for last taken step in time.
-
factor_U¶
U factor in LU factorization for last taken step in time.
-
factor_P¶
P factor in LU factorization for last taken step in time.
-
factor_Q¶
Q factor in LU factorization for last taken step in time.
Functions¶
-
this = SmartLUSolver(state,eqSettings)
Construct a new instance of this class
-
output = takeTimeSteps(this,output)
Takes the remaining timesteps, starts from timeIndex and ends at end of TimeGrid object in State object in this class.
If output is supplied, this will be modified by adding new output to it, usefull when extending the distributions. Remember that this is pointers, so you if you supply a output class you only need to write takeTimeSteps(output); (e.i. no assignment as it is a handle class).
Setters¶
-
setf(this, distribution, momentumGrid)¶
Sets the fattimeIndex to the distribution (is a Distribution object).
If momentumGrid (MomentumGrid object) is supplied then it interpolates the distribution function from distribution to the supplied momentumGrid object.
-
setTime(this, time, timeUnit)¶
Sets the timeIndex to last index where time is greater than the timesteps in TimeGrid object in state.
-
setnSaves(this, nSaves)¶
Set how many steps will be returned. Must be greater than 2.
initializing functions¶
-
initsaveIndices(this)¶
Sets what indices to save.
Is called by takeTimeSteps.
Always saves first and last index
-
clearf(this)¶
Reset the distribution function fattimeIndex to be empty.
-
setftoZero(this)¶
Set the distribution function fattimeIndex to all zeroes.
-
resettimeIndex(this)¶
Sets the timeIndex to be one, e.i. restart the simulation from first timestep.
-
setftoMaxmellian(this)¶
Sets the distribution function fattimeIndex to be Maxmellian.
-
rhs0 = enforceParticleAndHeat(this)
this adds a particle and heat source dependent on what settings are used in eqSetings. These are added to the 0th Legandre Mode.