mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Added OMP pragmas
This commit is contained in:
@@ -223,6 +223,7 @@ namespace Opm
|
||||
assert (value().size() == rhs.value().size());
|
||||
|
||||
const int num_blocks = numBlocks();
|
||||
#pragma omp parallel for schedule(static)
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
assert(jac_[block].rows() == rhs.jac_[block].rows());
|
||||
assert(jac_[block].cols() == rhs.jac_[block].cols());
|
||||
@@ -241,6 +242,7 @@ namespace Opm
|
||||
if (jac_.empty()) {
|
||||
const int num_blocks = rhs.numBlocks();
|
||||
jac_.resize(num_blocks);
|
||||
#pragma omp parallel for schedule(static)
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
jac_[block] = rhs.jac_[block] * (-1.0);
|
||||
}
|
||||
@@ -249,6 +251,7 @@ namespace Opm
|
||||
assert (value().size() == rhs.value().size());
|
||||
|
||||
const int num_blocks = numBlocks();
|
||||
#pragma omp parallel for schedule(static)
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
assert(jac_[block].rows() == rhs.jac_[block].rows());
|
||||
assert(jac_[block].cols() == rhs.jac_[block].cols());
|
||||
@@ -276,6 +279,7 @@ namespace Opm
|
||||
std::vector<M> jac = jac_;
|
||||
assert(numBlocks() == rhs.numBlocks());
|
||||
int num_blocks = numBlocks();
|
||||
#pragma omp parallel for schedule(static)
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
assert(jac[block].rows() == rhs.jac_[block].rows());
|
||||
assert(jac[block].cols() == rhs.jac_[block].cols());
|
||||
@@ -299,6 +303,7 @@ namespace Opm
|
||||
std::vector<M> jac = jac_;
|
||||
assert(numBlocks() == rhs.numBlocks());
|
||||
int num_blocks = numBlocks();
|
||||
#pragma omp parallel for schedule(static)
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
assert(jac[block].rows() == rhs.jac_[block].rows());
|
||||
assert(jac[block].cols() == rhs.jac_[block].cols());
|
||||
@@ -324,6 +329,7 @@ namespace Opm
|
||||
assert(numBlocks() == rhs.numBlocks());
|
||||
M D1(val_.matrix().asDiagonal());
|
||||
M D2(rhs.val_.matrix().asDiagonal());
|
||||
#pragma omp parallel for schedule(dynamic)
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
assert(jac_[block].rows() == rhs.jac_[block].rows());
|
||||
assert(jac_[block].cols() == rhs.jac_[block].cols());
|
||||
@@ -360,6 +366,7 @@ namespace Opm
|
||||
M D1(val_.matrix().asDiagonal());
|
||||
M D2(rhs.val_.matrix().asDiagonal());
|
||||
M D3((1.0/(rhs.val_*rhs.val_)).matrix().asDiagonal());
|
||||
#pragma omp parallel for schedule(dynamic)
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
assert(jac_[block].rows() == rhs.jac_[block].rows());
|
||||
assert(jac_[block].cols() == rhs.jac_[block].cols());
|
||||
@@ -484,6 +491,7 @@ namespace Opm
|
||||
int num_blocks = rhs.numBlocks();
|
||||
std::vector<typename AutoDiffBlock<Scalar>::M> jac(num_blocks);
|
||||
assert(lhs.cols() == rhs.value().rows());
|
||||
#pragma omp parallel for schedule(dynamic)
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
fastSparseProduct(lhs, rhs.derivative()[block], jac[block]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user