API / geotoolkit3d / data / reservoir / hexahedral / ReservoirData / ReservoirData
hexahedral.ReservoirData.ReservoirData
This class host the Reservoir data using hexahedral (8 corner per cell) cell structure.
One value per cell can be added for both filtering and render coloration purpose.
Additionally, multiple additional data can be defined per cell to be used along user-defined filters, allowing for very customizable cell filtering.
The cell data format expected by the ReservoirData constructor:
- The reservoir data format require 8 vertices per cell.
- Cells do not need to be cubes or have parallel faces.
- Neighboring cells do not need to share the same corners (useful to represent faults).
x values are [xA, xB, xC, xD, xE, xF, xG, xH],
y values are [yA, ..., yH]
and z values are [zA, ..., zH]
Example
I |------>
A ------- B __
|\ |\ \
| \ | \ \ J
| C ------- D _ v
E -|----- F | |
\ | \ | | K
\| \| |
G ------- H v↳
ReservoirData
Constructors
Methods
Methods
▸ computeCellsVolume(): void
Compute the reservoir cells volume, and enable volume data in ReservoirData#getCellData() method.
void
▸ dispose(): void
Dispose this reservoir data to allow for garbage collection.
void
▸ getCellData(ijk): CellData
Returns the Cell Data from the given IJK index.
| Name | Type | Description |
|---|---|---|
ijk | number[] | IJKIndex | the ijk position of the cell data to retrieve. |
the cell data, or null if the cell is not found.
▸ getCellDataByIndex(index): CellData
Returns the Cell Data from the given cell index.
| Name | Type | Description |
|---|---|---|
index | number | the index of the cell data to retrieve. |
the cell data, or null if the cell is not found.
▸ getCellIJKbyIndex(index): [i: number, j: number, k: number]
Return the IJK index of the cell identified by the given position in the reservoir.
| Name | Type | Description |
|---|---|---|
index | number | the cell index in the reservoir. Index start at 0, and must be inferior to the total number of cells. |
[i: number, j: number, k: number]
▸ getClassName(): string
string
AbstractReservoirData.getClassName
▸ getIJKCount(): IJKIndex
Returns the ijk count for this reservoir data.
▸ getIndexForCell(i, j, k): number
Returns the index for the reservoir cell based on the given i j k index
| Name | Type |
|---|---|
i | number |
j | number |
k | number |
number
index for this i j k cell (null if the cell doesn't exist)
▸ getMetaData(): ReservoirMetaData
Returns the metadata of the reservoir
AbstractReservoirData.getMetaData
▸ getNumberOfCells(): number
Returns the number of cells in the data object.
number
number of cells
AbstractReservoirData.getNumberOfCells
▸ getReservoirFullVolume(): number
Returns the total volume measure of this reservoir.
Computed by the sum of the volume of every cells, filters are ignored.
The unit of the volume measurement is based on the unit used in cells coordinates, to user discretion. (ex: if cells coordinates are in meters, then the volume will be in cubic meters. If feet, then cubic feet, and so on.)
number
▸ isCellIndexValid(index): boolean
Return true if the given cell index match an existing cell, false if not. Ignore user filters.
| Name | Type | Description |
|---|---|---|
index | number | the cell index to check the validity of. |
boolean
true if the cell index is valid, false if the index is out of bounds.
▸ Static checkDuplicateIJK(ijk): void
This utility will check for duplicate IJK indices in the reservoirData.
Each cell must have an identical IJK index, this tool is made to verify this.
Depending on the number of cells this can be VERY slow, so please use only when debugging.
| Name | Type | Description |
|---|---|---|
ijk | IJKArray | the IJK typed array. |
void
▸ Static getClassName(): string
string