fluid.propagation {RGeostats} | R Documentation |
Propagation of fluids within a 3-D Facies matrix
fluid.propagation(db, facies = 1, fluid = 2, perm = 0, poro = 0, nfacies = 1, nfluids = 1, speeds=NA, seed = 32143, niter=1, flag.show = FALSE, verbose = 0, number.max = NA, volume.max = NA, radix= "Fluid", modify.target = db.locmod())
db |
The |
facies |
Rank of the attribute containing the facies information. The valid facies must be numbered 1, 2, ... up to 'nfacies'. 0 should be assigned to a facies which does not receive any fluid (Shale) |
fluid |
Rank of the attribute containing the initial fluid information. Fluids should be numbered 1, 2, ... 'nfluids'.0 should be assigned to the cells where the fluid is not informed. The fluids should be ordered by increasing wieghts. |
perm |
Rank of the attribute containing the Permeability information. A Permeability value is used as an INTEGER coefficient which divides the velocity tensor attached to the cell. Warning: any permeability with value below 1 will be assigned to 0: such a cell will never contain any fluid. If this rank is set to 0, a constant permeability is defaulted. |
poro |
Rank of the attribute containing the Porosity information. A Porosity value is used as an REAL coefficient which multiplies the volume of a cell invaded by a fluid. Warning: a porosity must lie between 0 and 1. A value outside this interval will be brought back to the interval bounds. If this rank is set to 0, a constant porosity equal to 1 is defaulted. |
nfacies |
Total number of facies (starting from 1 and 0 excluded) |
nfluids |
Total number of fluids (starting from 1 and 0 excluded) |
speeds |
Array giving the relative velocities of each fluid within each facies per direction (read as integer). This array is dimensionned to 6 * nfacies * nfluids. The indexing is given by the following formula: idir + 6 * (ifac + nfacies * ifluid) with the following conventions:
If not provided, the speeds are considered as constantly equal to 1 for each direction, each facies and each fluid. |
seed |
Seed used for the generation of random numbers. When 0, the seed is not initialized. |
niter |
Number of iterations of the fluid propagation algorithm |
flag.show |
When TRUE, the construction is visible:
This feature enables the user to distinguish them afterwards. |
verbose |
1 for a verbose output; 0 otherwise |
number.max |
The Fluid Propagation algorithm ends when no more cell can be invaded by the propagation process. However, the user can add a stopping criterion when the number of invaded cells reaches 'number.max'. |
volume.max |
The Fluid Propagation algorithm ends when no more cell can be invaded by the propagation process. However, the user can add a stopping criterion when the volume of invaded cells reaches 'volume.max'. |
radix |
Radix of the name given to the variables storing the results in the target Db. |
modify.target |
Decides whether or not the newly created variables will have their
locator defined or not. For more information, see |
A db-class
where the following variables have been added:
In the case of a single iteration, 2 variables are added:
Fluid A cell is assigned the Fluid value, or 0 if the cell has not been reached by any fluid or NA for shale. If flag.show is switched ON, the cell which contain initial valid Fluid information have their value raised by Nfacies * Nfluids. The cell filled with cork are assigned the -2 value.
Date A cell is assigned the date at which the fluid reached the cell, or 0 if the cell has not been reached by any fluid or NA for shale.
In the case of several iterations, the number of additional variables is equal to nfluids+1: A map giving the probability of presence of a fluid, for each fluid. The map giving the probability of the presence of a cork.
During the processing of fluid.propagation, the user can control the progress if the flag "morpho" has been switched ON (using debug.define procedure).