Public Member Functions | |
abstract Grid | cloneGrid () |
Clones this grid. | |
abstract GridGeomInfo | getGeomInfo () |
final double | getBaseMinX () |
final double | getBaseMaxX () |
final double | getLocationX () |
Gets the location of the point with index 0. | |
GridIterator | getXIterator () |
abstract double | getSizeX () |
Gets the grid width. | |
abstract int | getLeftmostI () |
abstract int | getRightmostI () |
abstract boolean | isPeriodic () |
abstract double | getLocationX (int i) |
Gets the location of the point with index i. | |
final int | getIndexFromX (double x, double maxerr) throws IllegalArgumentException |
final int | getLocationI () |
Gets the location of the origin relative to the parent grid's origin. | |
final double | getDeltaX () |
final void | setTime (double t) |
final double | getTime () |
final void | setTimeStepCount (int tsc) |
final int | getTimeStepCount () |
final int | getLastErrorCheckTime () |
final int | getNumComponents () |
Gets the number of components of the field. | |
final int | getRefinementRatio () |
Gets the refinement ratio. | |
abstract int | getMarginLeft (int ir) |
Gets the left margin size. | |
abstract int | getMarginRight (int ir) |
Gets the right margin size. | |
final int | getMaxI () |
Gets the maximum grid index. | |
int | getNumPointsAboveMaxX () |
Gets number of grid points above infinity (Xmax). | |
final int | getLevel () |
Gets the level in the tree. | |
final Grid | getParent () |
Gets the parent grid. | |
final Grid | getOffspring () |
Gets the first offspring. | |
final Grid | getNextSibling () |
Gets the sibling grid. | |
final boolean | containsLeftBound () |
final boolean | containsRightBound () |
abstract int | distanceFromLeft (int i) |
Gets the distance from the left edge. | |
abstract int | distanceFromRight (int i) |
Gets the distance from the right edge. | |
final int | getAbsoluteIndex (int i) |
final void | getField (int i, FieldWrapper f) |
Gets the field value at the specified grid point. | |
final void | get (int i, double[] v) |
Gets the field value at the specified grid point. | |
final void | setEnergyLosses (double[] e, PDE pde) |
final double | getEnergyFlow (int i) |
Gets the energy flow in a grid point. | |
final double | getEnergyLoss (int i) |
Gets the integrated energy flow in a grid point. | |
final void | addTo (int i, double[] v) |
Add field values to the components of an array. | |
final void | addMultipliedTo (int i, double c, double[] v) |
Add field values multiplied by a scalar to the components of an array. | |
final void | addMultipliedTo (int i, int exclude, double c, double[] arr, double[] v) |
Add field values multiplied by a scalar to the components of an array. | |
final void | get (int i, double[] v, int off) |
Gets the field value at the specified grid point. | |
final void | set (int i, double[] v) |
Sets the field value at the specified grid point. | |
final double | getComponent (int i, int k) |
Gets a field component at the specified grid point. | |
abstract void | initRefinedDataExistenceArray () |
Initializes the refinedDataExists array. | |
int | getRefinedMaxI () |
Gets the maximum index on refined grid. | |
abstract boolean | hasRefinedData (int i) |
Tests whether refined data at the specified index exists or not. | |
final int | getRefinedDataExistence (int i, int n, PDE pde) |
Tests the existence of refined data at the specified indices. | |
Grid | getSubgridAt (int i) |
Gets the refined data at the specified grid point if exists. | |
Grid | getFinestSubgridAt (double x) |
Gets the finest subgrid at the specified location. | |
abstract void | getRefinedData (int i, double[] yout) |
Gets the refined data at the specified grid point if exists. | |
void | setZero () |
Sets all the grid values to zero. | |
Regridder | getRegridder () |
void | setRegridder (Regridder r) |
final boolean | hasUncoveredFlaggedPoint (int margin) |
Checks if there exists any flagged point which is not covered by a refined subgrid. | |
abstract Grid | createTemporaryGrid (int dmargin_L, int dmargin_R, double xshift) |
final void | setTemporaryGridShift (Grid p, double xshift) |
Sets the shift for a temporary grid. | |
abstract void | setTemporaryGridMargins (Grid p, int dmargin_L, int dmargin_R) |
Sets the margins and the shift for a temporary grid. | |
final Integrator | getIntegrator () |
Gets the grid integrator method. | |
final void | injectFineToCoarse (PDE pde) |
Sets this "coarse" grid's values from values on the finer subgrids. | |
final void | checkErrors (double critical) |
Flag points where error is larger than critical. | |
final int | generateRefinedGrids (int minLevel, int maxLevel, int numVelocity, int bufzoneradius, int thislevel, int gridi) |
Generates a list of new subgrids from the flagged points. | |
final void | interpolateNewSubgrids (PDE pde) |
Set the new grid's initial values by interpolation. | |
void | initConstraints (PDE pde, FieldWrapper tmp, int opts) |
final boolean | isEnergyLossStored () |
double[][] | getDensityData (PDE.DensityQuantity q, double xmin, double xmax) |
String | getDataAsString () |
String | toString () |
String | sprintHierarchy () |
abstract void | interpolateMargins (PDE pde) |
Static Public Member Functions | |
static String | toString (Grid[][] grids) |
Static Public Attributes | |
static int | LEFT_BOUND_FLAG = 1 |
static int | RIGHT_BOUND_FLAG = 2 |
static final int | IC_CONSTR_MASK = 3 |
Constraints mask in options. | |
static final int | IC_CONSTR_NONE = 0 |
Constraints are not applied in the points of the new subgrid. | |
static final int | IC_CONSTR_INTERPOLATED_ONLY = 1 |
Constraints are applied in the interpolated points of the new subgrid. | |
static final int | IC_CONSTR_ALL = 2 |
Constraints are applied in all points of the new subgrid. | |
Protected Member Functions | |
Grid (Grid g) | |
Copy constructor. | |
Grid (double minx, double maxx, int maxi, int nc, Regridder refproto, int r, double dx) | |
Creates a base grid. | |
Grid (Grid p, double xshift) | |
Creates a temporary grid. | |
Grid (Grid p, int r1, int loci, int maxi, int margin, int vmargin, int minLevel) | |
Creates a refined grid. | |
void | copy (Grid orig, HashMap< Grid, Grid > gridmap) |
Copy fields of class Grid. | |
abstract int | getAbsoluteIndex (int i, int mul) |
abstract int | getInternalIndex (int i) |
Gets the internal array index. | |
int | getRealIndex (int i) |
Gets the "real" index. | |
abstract int | getSubgridIndexFromIndex (Grid g, int i) |
abstract int | getIndexFromSubgridIndex (Grid g, int i) |
abstract void | fillRefinedDataArray () |
Fills the refinedData array. | |
abstract Grid | createRefinedGrid (IntervalList iv, int margin, int vmargin, int minLevel, int r1) |
Creates a refined grid. | |
final void | init (Integrator proto, Sigma sigma, int n) |
Initialization of the integrator and the field data array. | |
void | initConstraints (PDE pde, int left, int right, FieldWrapper tmp, int opts) |
final void | initEnergyLoss (PDE pde) |
final void | updateEnergyLoss (PDE pde, int j, Grid baseg, int jbase, double epsilon) |
abstract void | blur (byte[] pf, int i) |
Both neighbors of points with the specified value in an array are set to value plus 1. | |
abstract int | getFirstIndexForRefinement (byte[] pf) |
Gets the first point to start refinement interval searching. | |
abstract int | findIntervalEndForRefinement (byte[] pf, int i) |
Finds the right edge of an interval that needs refinement. | |
abstract int | intervalRefinedSize (IntervalList iv, int r) |
abstract int | gridIndexLeftOf (int i, int dmax) |
abstract int | gridIndexRightOf (int i, int dmax) |
abstract void | fixSubgridNearBounds (IntervalList l, IntervalList r, int margin) |
abstract int | calcNewSubSubgridLocation (int ssloc, int osloc, int nsloc) |
Calculates the new location of a sub-subgrid (relative to the parent) if its parent (a subgrid) changed. | |
Protected Attributes | |
int | flags = 0 |
double[] | theData |
Grid data. | |
boolean[] | refinedDataExists = null |
Package Attributes | |
int | timeStepCount = 0 |
Number of time steps performed. | |
Classes | |
interface | Interpolator |
Interpolates margin points using values from the parent grid. More... |
gridripper::amr1d::Grid::Grid | ( | Grid | g | ) | [inline, protected] |
Copy constructor.
All fields are copied except those of class Grid.
g | the grid to copy |
gridripper::amr1d::Grid::Grid | ( | Grid | p, | |
double | xshift | |||
) | [inline, protected] |
Creates a temporary grid.
p | the parent grid | |
xshift | the shift |
gridripper::amr1d::Grid::Grid | ( | Grid | p, | |
int | r1, | |||
int | loci, | |||
int | maxi, | |||
int | margin, | |||
int | vmargin, | |||
int | minLevel | |||
) | [inline, protected] |
Creates a refined grid.
p | the parent grid | |
r1 | refinement ratio for the refined grid's future subgrids | |
loci | location of origin in parent grid | |
maxi | maximum grid index | |
margin | the margin size | |
vmargin | numerical error propagation velocity | |
minLevel | set grandparent's sub-subgrid list if its level is larger than or equal to minLevel |
abstract Grid gridripper::amr1d::Grid::cloneGrid | ( | ) | [pure virtual] |
Clones this grid.
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
abstract double gridripper::amr1d::Grid::getSizeX | ( | ) | [pure virtual] |
Gets the grid width.
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
abstract double gridripper::amr1d::Grid::getLocationX | ( | int | i | ) | [pure virtual] |
Gets the location of the point with index i.
i | the point index |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
final int gridripper::amr1d::Grid::getNumComponents | ( | ) | [inline] |
Gets the number of components of the field.
final int gridripper::amr1d::Grid::getRefinementRatio | ( | ) | [inline] |
Gets the refinement ratio.
abstract int gridripper::amr1d::Grid::getMarginLeft | ( | int | ir | ) | [pure virtual] |
Gets the left margin size.
ir | step count |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
abstract int gridripper::amr1d::Grid::getMarginRight | ( | int | ir | ) | [pure virtual] |
Gets the right margin size.
ir | step count |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
final int gridripper::amr1d::Grid::getMaxI | ( | ) | [inline] |
Gets the maximum grid index.
int gridripper::amr1d::Grid::getNumPointsAboveMaxX | ( | ) | [inline] |
Gets number of grid points above infinity (Xmax).
Reimplemented in gridripper::amr1d::BoundedGrid.
final int gridripper::amr1d::Grid::getLevel | ( | ) | [inline] |
Gets the level in the tree.
The base grid is at level 0.
final Grid gridripper::amr1d::Grid::getParent | ( | ) | [inline] |
Gets the parent grid.
final Grid gridripper::amr1d::Grid::getOffspring | ( | ) | [inline] |
Gets the first offspring.
final Grid gridripper::amr1d::Grid::getNextSibling | ( | ) | [inline] |
Gets the sibling grid.
abstract int gridripper::amr1d::Grid::distanceFromLeft | ( | int | i | ) | [pure virtual] |
Gets the distance from the left edge.
i | grid point index |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
abstract int gridripper::amr1d::Grid::distanceFromRight | ( | int | i | ) | [pure virtual] |
Gets the distance from the right edge.
i | grid point index |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
abstract int gridripper::amr1d::Grid::getInternalIndex | ( | int | i | ) | [protected, pure virtual] |
Gets the internal array index.
The internal array index is the sum of the "real" index and the left margin size if present.
i | the index |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
int gridripper::amr1d::Grid::getRealIndex | ( | int | i | ) | [inline, protected] |
Gets the "real" index.
The real index is normally equal to the argument i, it only differs in case of a periodic grid.
i | the index |
Reimplemented in gridripper::amr1d::PeriodicGrid.
final void gridripper::amr1d::Grid::getField | ( | int | i, | |
FieldWrapper | f | |||
) | [inline] |
Gets the field value at the specified grid point.
i | grid point index | |
v | put the field values into this array |
final void gridripper::amr1d::Grid::get | ( | int | i, | |
double[] | v | |||
) | [inline] |
Gets the field value at the specified grid point.
i | grid point index | |
v | put the field values into this array |
final double gridripper::amr1d::Grid::getEnergyFlow | ( | int | i | ) | [inline] |
Gets the energy flow in a grid point.
Energy flow is always calculated if energy loss is calculated.
i | the grid point index |
final double gridripper::amr1d::Grid::getEnergyLoss | ( | int | i | ) | [inline] |
Gets the integrated energy flow in a grid point.
i | the grid point index |
final void gridripper::amr1d::Grid::addTo | ( | int | i, | |
double[] | v | |||
) | [inline] |
Add field values to the components of an array.
i | grid point index | |
v | target array |
final void gridripper::amr1d::Grid::addMultipliedTo | ( | int | i, | |
double | c, | |||
double[] | v | |||
) | [inline] |
Add field values multiplied by a scalar to the components of an array.
i | grid point index | |
c | multiplier | |
v | target array |
final void gridripper::amr1d::Grid::addMultipliedTo | ( | int | i, | |
int | exclude, | |||
double | c, | |||
double[] | arr, | |||
double[] | v | |||
) | [inline] |
Add field values multiplied by a scalar to the components of an array.
i | grid point index | |
exclude | do not add the specified components | |
c | multiplier | |
arr | array of multipliers | |
v | target array |
final void gridripper::amr1d::Grid::get | ( | int | i, | |
double[] | v, | |||
int | off | |||
) | [inline] |
Gets the field value at the specified grid point.
i | grid point index | |
v | put the field values into this array | |
off | offset in output array |
final void gridripper::amr1d::Grid::set | ( | int | i, | |
double[] | v | |||
) | [inline] |
Sets the field value at the specified grid point.
i | grid point index | |
v | the field vector |
final double gridripper::amr1d::Grid::getComponent | ( | int | i, | |
int | k | |||
) | [inline] |
Gets a field component at the specified grid point.
i | grid point index | |
k | the field component index |
abstract void gridripper::amr1d::Grid::fillRefinedDataArray | ( | ) | [protected, pure virtual] |
Fills the refinedData array.
Should only be called after interpolateMargins!
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
int gridripper::amr1d::Grid::getRefinedMaxI | ( | ) | [inline] |
Gets the maximum index on refined grid.
abstract boolean gridripper::amr1d::Grid::hasRefinedData | ( | int | i | ) | [pure virtual] |
Tests whether refined data at the specified index exists or not.
i | refined grid index |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
final int gridripper::amr1d::Grid::getRefinedDataExistence | ( | int | i, | |
int | n, | |||
PDE | pde | |||
) | [inline] |
Tests the existence of refined data at the specified indices.
i | start index on refined grid | |
n | number of refined grid points to test |
Grid gridripper::amr1d::Grid::getSubgridAt | ( | int | i | ) | [inline] |
Gets the refined data at the specified grid point if exists.
i | refined grid index | |
yout | the output array |
Grid gridripper::amr1d::Grid::getFinestSubgridAt | ( | double | x | ) | [inline] |
Gets the finest subgrid at the specified location.
x | the location |
abstract void gridripper::amr1d::Grid::getRefinedData | ( | int | i, | |
double[] | yout | |||
) | [pure virtual] |
Gets the refined data at the specified grid point if exists.
i | refined grid index | |
yout | the output array |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
void gridripper::amr1d::Grid::setZero | ( | ) | [inline] |
Sets all the grid values to zero.
final boolean gridripper::amr1d::Grid::hasUncoveredFlaggedPoint | ( | int | margin | ) | [inline] |
Checks if there exists any flagged point which is not covered by a refined subgrid.
final void gridripper::amr1d::Grid::setTemporaryGridShift | ( | Grid | p, | |
double | xshift | |||
) | [inline] |
Sets the shift for a temporary grid.
p | the parent grid | |
xshift | the shift |
abstract void gridripper::amr1d::Grid::setTemporaryGridMargins | ( | Grid | p, | |
int | dmargin_L, | |||
int | dmargin_R | |||
) | [pure virtual] |
Sets the margins and the shift for a temporary grid.
p | the parent grid | |
dmargin_L | the left margin | |
dmargin_R | the right margin |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
abstract Grid gridripper::amr1d::Grid::createRefinedGrid | ( | IntervalList | iv, | |
int | margin, | |||
int | vmargin, | |||
int | minLevel, | |||
int | r1 | |||
) | [protected, pure virtual] |
Creates a refined grid.
p | the parent grid | |
iv | the left and right edge in the parent grid | |
margin | margin size | |
vmargin | numerical error propagation velocity | |
minLevel | set grandparent's sub-subgrid list if its level is larger than or equal to minLevel | |
r1 | the refinement ratio value if the created grid can be refined further, 1 otherwise |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
final void gridripper::amr1d::Grid::init | ( | Integrator | proto, | |
Sigma | sigma, | |||
int | n | |||
) | [inline, protected] |
Initialization of the integrator and the field data array.
proto | integrator prototype | |
sigma | the dissipation term multiplier | |
n | total grid size |
final Integrator gridripper::amr1d::Grid::getIntegrator | ( | ) | [inline] |
Gets the grid integrator method.
final void gridripper::amr1d::Grid::injectFineToCoarse | ( | PDE | pde | ) | [inline] |
Sets this "coarse" grid's values from values on the finer subgrids.
final void gridripper::amr1d::Grid::checkErrors | ( | double | critical | ) | [inline] |
final int gridripper::amr1d::Grid::generateRefinedGrids | ( | int | minLevel, | |
int | maxLevel, | |||
int | numVelocity, | |||
int | bufzoneradius, | |||
int | thislevel, | |||
int | gridi | |||
) | [inline] |
Generates a list of new subgrids from the flagged points.
minLevel | the minimum level to regrid, larger than or equal to zero and smaller than Integer.MAX_VALUE if the grids are regenerated, Integer.MAX_VALUE at the first generation | |
maxLevel | the maximum allowed refinement level | |
numVelocity | the error propagation velocity | |
bufzoneradius | size of the buffer zone |
abstract void gridripper::amr1d::Grid::blur | ( | byte[] | pf, | |
int | i | |||
) | [protected, pure virtual] |
Both neighbors of points with the specified value in an array are set to value plus 1.
pf | nonzero values in this array indicate the need of refinement | |
i | the value |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
abstract int gridripper::amr1d::Grid::getFirstIndexForRefinement | ( | byte[] | pf | ) | [protected, pure virtual] |
Gets the first point to start refinement interval searching.
pf | nonzero values in this array indicate the need of refinement |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
abstract int gridripper::amr1d::Grid::findIntervalEndForRefinement | ( | byte[] | pf, | |
int | i | |||
) | [protected, pure virtual] |
Finds the right edge of an interval that needs refinement.
pf | nonzero values in this array indicate the need of refinement | |
i | the left edge index |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
abstract int gridripper::amr1d::Grid::calcNewSubSubgridLocation | ( | int | ssloc, | |
int | osloc, | |||
int | nsloc | |||
) | [protected, pure virtual] |
Calculates the new location of a sub-subgrid (relative to the parent) if its parent (a subgrid) changed.
ssloc | old sub-subgrid's (relative) location | |
osloc | its old parent's location (relative to this grid) | |
nsloc | new parent's location (relative to this grid) |
Implemented in gridripper::amr1d::BoundedGrid, and gridripper::amr1d::PeriodicGrid.
final int gridripper::amr1d::Grid::IC_CONSTR_MASK = 3 [static] |
Constraints mask in options.
final int gridripper::amr1d::Grid::IC_CONSTR_NONE = 0 [static] |
Constraints are not applied in the points of the new subgrid.
final int gridripper::amr1d::Grid::IC_CONSTR_INTERPOLATED_ONLY = 1 [static] |
Constraints are applied in the interpolated points of the new subgrid.
final int gridripper::amr1d::Grid::IC_CONSTR_ALL = 2 [static] |
Constraints are applied in all points of the new subgrid.
double [] gridripper::amr1d::Grid::theData [protected] |
Grid data.
int gridripper::amr1d::Grid::timeStepCount = 0 [package] |
Number of time steps performed.