#include <openclWellContributions.hpp>
|
void | setOpenCLEnv (cl::Context *context_, cl::CommandQueue *queue_) |
|
void | apply_stdwells (cl::Buffer d_x, cl::Buffer d_y) |
|
void | apply_mswells (cl::Buffer d_x, cl::Buffer d_y) |
|
void | apply (cl::Buffer d_x, cl::Buffer d_y) |
|
unsigned int | getNumWells () |
|
void | addNumBlocks (unsigned int numBlocks) |
|
void | alloc () |
| Allocate memory for the StandardWells. More...
|
|
void | setBlockSize (unsigned int dim, unsigned int dim_wells) |
|
void | setVectorSize (unsigned N) |
|
void | addMatrix (MatrixType type, int *colIndices, double *values, unsigned int val_size) |
|
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) |
|
◆ UMFPackIndex
◆ MatrixType
StandardWell has C, D and B matrices that need to be copied.
◆ addMatrix()
void Opm::WellContributions::addMatrix |
( |
MatrixType |
type, |
|
|
int * |
colIndices, |
|
|
double * |
values, |
|
|
unsigned int |
val_size |
|
) |
| |
|
inherited |
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 |
◆ addMultisegmentWellContribution()
void Opm::WellContributions::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 |
|
) |
| |
|
inherited |
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 - Parameters
-
[in] | dim | size of blocks in vectors x and y, equal to MultisegmentWell::numEq |
[in] | dim_wells | size of blocks of C, B and D, equal to MultisegmentWell::numWellEq |
[in] | Mb | number of blockrows in C, B and D |
[in] | Bvalues | nonzero values of matrix B |
[in] | BcolIndices | columnindices of blocks of matrix B |
[in] | BrowPointers | rowpointers of matrix B |
[in] | DnumBlocks | number of blocks in D |
[in] | Dvalues | nonzero values of matrix D |
[in] | DcolPointers | columnpointers of matrix D |
[in] | DrowIndices | rowindices of matrix D |
[in] | Cvalues | nonzero values of matrix C |
◆ addNumBlocks()
void Opm::WellContributions::addNumBlocks |
( |
unsigned int |
numBlocks | ) |
|
|
inherited |
◆ alloc()
void Opm::WellContributions::alloc |
( |
| ) |
|
|
inherited |
◆ APIaddMatrix()
void Opm::WellContributionsOCL::APIaddMatrix |
( |
MatrixType |
, |
|
|
int * |
, |
|
|
double * |
, |
|
|
unsigned int |
|
|
) |
| |
|
overrideprotectedvirtual |
◆ APIalloc()
void Opm::WellContributionsOCL::APIalloc |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ apply()
void Opm::WellContributionsOCL::apply |
( |
cl::Buffer |
d_x, |
|
|
cl::Buffer |
d_y |
|
) |
| |
◆ apply_mswells()
void Opm::WellContributionsOCL::apply_mswells |
( |
cl::Buffer |
d_x, |
|
|
cl::Buffer |
d_y |
|
) |
| |
◆ apply_stdwells()
void Opm::WellContributionsOCL::apply_stdwells |
( |
cl::Buffer |
d_x, |
|
|
cl::Buffer |
d_y |
|
) |
| |
◆ create()
static std::unique_ptr< WellContributions > Opm::WellContributions::create |
( |
const std::string & |
accelerator_mode, |
|
|
bool |
useWellConn |
|
) |
| |
|
staticinherited |
◆ getNumWells()
unsigned int Opm::WellContributions::getNumWells |
( |
| ) |
|
|
inlineinherited |
◆ setBlockSize()
void Opm::WellContributions::setBlockSize |
( |
unsigned int |
dim, |
|
|
unsigned int |
dim_wells |
|
) |
| |
|
inherited |
◆ setOpenCLEnv()
void Opm::WellContributionsOCL::setOpenCLEnv |
( |
cl::Context * |
context_, |
|
|
cl::CommandQueue * |
queue_ |
|
) |
| |
◆ setVectorSize()
void Opm::WellContributions::setVectorSize |
( |
unsigned |
N | ) |
|
|
inherited |
Set size of vector that the wells are applied to - Parameters
-
◆ allocated
bool Opm::WellContributions::allocated = false |
|
protectedinherited |
◆ context
cl::Context* Opm::WellContributionsOCL::context |
|
protected |
◆ d_Bcols_ocl
std::unique_ptr<cl::Buffer> Opm::WellContributionsOCL::d_Bcols_ocl |
|
protected |
◆ d_Bnnzs_ocl
std::unique_ptr<cl::Buffer> Opm::WellContributionsOCL::d_Bnnzs_ocl |
|
protected |
◆ d_Ccols_ocl
std::unique_ptr<cl::Buffer> Opm::WellContributionsOCL::d_Ccols_ocl |
|
protected |
◆ d_Cnnzs_ocl
std::unique_ptr<cl::Buffer> Opm::WellContributionsOCL::d_Cnnzs_ocl |
|
protected |
◆ d_Dnnzs_ocl
std::unique_ptr<cl::Buffer> Opm::WellContributionsOCL::d_Dnnzs_ocl |
|
protected |
◆ d_val_pointers_ocl
std::unique_ptr<cl::Buffer> Opm::WellContributionsOCL::d_val_pointers_ocl |
|
protected |
◆ dim
unsigned int Opm::WellContributions::dim |
|
protectedinherited |
◆ dim_wells
unsigned int Opm::WellContributions::dim_wells |
|
protectedinherited |
◆ events
std::vector<cl::Event> Opm::WellContributionsOCL::events |
|
protected |
◆ h_x
std::vector<double> Opm::WellContributionsOCL::h_x |
|
protected |
◆ h_y
std::vector<double> Opm::WellContributionsOCL::h_y |
|
protected |
◆ multisegments
unsigned int Opm::WellContributions::N |
|
protectedinherited |
◆ num_blocks
unsigned int Opm::WellContributions::num_blocks = 0 |
|
protectedinherited |
◆ num_blocks_so_far
unsigned int Opm::WellContributions::num_blocks_so_far = 0 |
|
protectedinherited |
◆ num_ms_wells
unsigned int Opm::WellContributions::num_ms_wells = 0 |
|
protectedinherited |
◆ num_std_wells
unsigned int Opm::WellContributions::num_std_wells = 0 |
|
protectedinherited |
◆ num_std_wells_so_far
unsigned int Opm::WellContributions::num_std_wells_so_far = 0 |
|
protectedinherited |
◆ queue
cl::CommandQueue* Opm::WellContributionsOCL::queue |
|
protected |
◆ val_pointers
std::vector<unsigned int> Opm::WellContributions::val_pointers |
|
protectedinherited |
The documentation for this class was generated from the following file:
|