Last updated

API / geotoolkit3d / data / reservoir / hexahedral / ReservoirData / ReservoirData

Class: 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).
The geometrical data are expected in a regular order, see example
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

Hierarchy

Table of contents

Constructors
Methods

Contents

Constructors

new ReservoirData(options)

new ReservoirData(options)

Parameters

Name Type
optionsOptions

Overrides

AbstractReservoirData.constructor

Methods

computeCellsVolume

computeCellsVolume(): void

Compute the reservoir cells volume, and enable volume data in ReservoirData#getCellData() method.

Returns

void


dispose

dispose(): void

Dispose this reservoir data to allow for garbage collection.

Returns

void


getCellData

getCellData(ijk): CellData

Returns the Cell Data from the given IJK index.

Parameters

Name Type Description
ijknumber[] | IJKIndexthe ijk position of the cell data to retrieve.

Returns

CellData

the cell data, or null if the cell is not found.


getCellDataByIndex

getCellDataByIndex(index): CellData

Returns the Cell Data from the given cell index.

Parameters

Name Type Description
indexnumberthe index of the cell data to retrieve.

Returns

CellData

the cell data, or null if the cell is not found.


getCellIJKbyIndex

getCellIJKbyIndex(index): [i: number, j: number, k: number]

Return the IJK index of the cell identified by the given position in the reservoir.

Parameters

Name Type Description
indexnumberthe cell index in the reservoir. Index start at 0, and must be inferior to the total number of cells.

Returns

[i: number, j: number, k: number]


getClassName

getClassName(): string

Returns

string

Inherited from

AbstractReservoirData.getClassName


getIJKCount

getIJKCount(): IJKIndex

Returns the ijk count for this reservoir data.

Returns

IJKIndex


getIndexForCell

getIndexForCell(i, j, k): number

Returns the index for the reservoir cell based on the given i j k index

Parameters

Name Type
inumber
jnumber
knumber

Returns

number

index for this i j k cell (null if the cell doesn't exist)


getMetaData

getMetaData(): ReservoirMetaData

Returns the metadata of the reservoir

Returns

ReservoirMetaData

Overrides

AbstractReservoirData.getMetaData


getNumberOfCells

getNumberOfCells(): number

Returns the number of cells in the data object.

Returns

number

number of cells

Overrides

AbstractReservoirData.getNumberOfCells


getReservoirFullVolume

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.)

Returns

number


isCellIndexValid

isCellIndexValid(index): boolean

Return true if the given cell index match an existing cell, false if not. Ignore user filters.

Parameters

Name Type Description
indexnumberthe cell index to check the validity of.

Returns

boolean

true if the cell index is valid, false if the index is out of bounds.


checkDuplicateIJK

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.

Parameters

Name Type Description
ijkIJKArraythe IJK typed array.

Returns

void


getClassName

Static getClassName(): string

Returns

string

Inherited from

AbstractReservoirData.getClassName