mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
AutoDiffBlock: revert changes in operator /.
equalSparsityPattern: also include outer index in check.
This commit is contained in:
@@ -342,7 +342,6 @@ namespace Opm
|
||||
jac[block] = D2*jac_[block];
|
||||
}
|
||||
else {
|
||||
//jac[block] = D2*jac_[block] + D1*rhs.jac_[block];
|
||||
jac[block] = D2*jac_[block];
|
||||
jac[block] += D1*rhs.jac_[block];
|
||||
}
|
||||
@@ -368,8 +367,6 @@ namespace Opm
|
||||
M D1(val_.matrix().asDiagonal());
|
||||
M D2(rhs.val_.matrix().asDiagonal());
|
||||
M D3((1.0/(rhs.val_*rhs.val_)).matrix().asDiagonal());
|
||||
M D4;
|
||||
M D5;
|
||||
#pragma omp parallel for schedule(dynamic)
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
assert(jac_[block].rows() == rhs.jac_[block].rows());
|
||||
@@ -378,31 +375,14 @@ namespace Opm
|
||||
jac[block] = M( D3.rows(), jac_[block].cols() );
|
||||
}
|
||||
else if( jac_[block].nonZeros() == 0 ) {
|
||||
#pragma omp critical
|
||||
if( D4.rows() == 0 ) {
|
||||
D4 = D3 * D1 * (-1.0);
|
||||
}
|
||||
jac[block] = D4*rhs.jac_[block];
|
||||
jac[block] = D3 * ( D1*rhs.jac_[block]) * (-1.0);
|
||||
}
|
||||
else if ( rhs.jac_[block].nonZeros() == 0 )
|
||||
{
|
||||
#pragma omp critical
|
||||
if( D5.rows() == 0 ) {
|
||||
D5 = D3 * D2 ;
|
||||
}
|
||||
jac[block] = D5*jac_[block];
|
||||
jac[block] = D3 * (D2*jac_[block]);
|
||||
}
|
||||
else {
|
||||
#pragma omp critical
|
||||
if( D4.rows() == 0 ) {
|
||||
D4 = D3 * D1 * (-1.0);
|
||||
}
|
||||
#pragma omp critical
|
||||
if( D5.rows() == 0 ) {
|
||||
D5 = D3 * D2 ;
|
||||
}
|
||||
jac[block] = D5*jac_[block];
|
||||
jac[block] += D4*rhs.jac_[block];
|
||||
jac[block] = D3 * (D2*jac_[block] + (D1*rhs.jac_[block]*(-1.0)));
|
||||
}
|
||||
}
|
||||
return function(val_ / rhs.val_, std::move(jac));
|
||||
|
||||
Reference in New Issue
Block a user