|
| void | setCudaStream (cudaStream_t stream) |
| | Set a cudaStream to be used.
|
| |
| void | apply (double *d_x, double *d_y) |
| | Apply all Wells in this object performs y -= (C^T * (D^-1 * (B*x))) for all Wells.
|
| |
|
unsigned int | getNumWells () |
| |
| void | addNumBlocks (unsigned int numBlocks) |
| | Indicate how large the next StandardWell is, this function cannot be called after alloc() is called.
|
| |
|
void | alloc () |
| | Allocate memory for the StandardWells.
|
| |
|
virtual | ~WellContributions ()=default |
| | Empty destructor.
|
| |
| void | setBlockSize (unsigned int dim, unsigned int dim_wells) |
| | Indicate how large the blocks of the StandardWell (C and B) are.
|
| |
| void | setVectorSize (unsigned N) |
| | Set size of vector that the wells are applied to.
|
| |
| void | addMatrix (MatrixType type, int *colIndices, double *values, unsigned int val_size) |
| | Store a matrix in this object, in blocked csr format, can only be called after alloc() is called.
|
| |
| void | addMultisegmentWellContribution (unsigned int dim, unsigned int dim_wells, unsigned int Mb, std::vector< double > &Bvalues, std::vector< unsigned int > &BcolIndices, std::vector< unsigned int > &BrowPointers, unsigned int DnumBlocks, double *Dvalues, UMFPackIndex *DcolPointers, UMFPackIndex *DrowIndices, std::vector< double > &Cvalues) |
| | Add a MultisegmentWellContribution, actually creates an object on heap that is destroyed in the destructor Matrices C and B are passed in Blocked CSR, matrix D in CSC.
|
| |
◆ APIaddMatrix()
Store a matrix in this object, in blocked csr format, can only be called after alloc() is called.
- Parameters
-
| [in] | type | indicate if C, D or B is sent |
| [in] | colIndices | columnindices of blocks in C or B, ignored for D |
| [in] | values | array of nonzeroes |
| [in] | val_size | number of blocks in C or B, ignored for D |
Reimplemented from Opm::WellContributions.
◆ APIalloc()
| void Opm::WellContributionsCuda::APIalloc |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ apply()
Apply all Wells in this object performs y -= (C^T * (D^-1 * (B*x))) for all Wells.
- Parameters
-
| [in] | d_x | vector x, must be on GPU |
| [in,out] | d_y | vector y, must be on GPU |
◆ setCudaStream()
Set a cudaStream to be used.
- Parameters
-
| [in] | stream | the cudaStream that is used to launch the kernel in |
The documentation for this class was generated from the following file: