mirror of
https://github.com/OPM/opm-simulators.git
synced 2026-10-12 08:54:53 -05:00
Cleaned up comments
This commit is contained in:
1 parent
39154f04fe
commit
38865cac31
8 files changed
+4
-59
No files matched your search
@@ -159,22 +159,6 @@ namespace Opm
|
||||
// ... then set the one corrresponding to this variable to identity.
|
||||
assert(blocksizes[index] == num_elem);
|
||||
jac[index] = M(M::IdentityMatrix, val.size());
|
||||
// if(val.size()>0)
|
||||
// {
|
||||
// // if val is empty the following will run into an assertion
|
||||
// // with Eigen
|
||||
// jac[index].reserve(Eigen::VectorXi::Constant(val.size(), 1));
|
||||
// for (typename M::Index row = 0; row < val.size(); ++row) {
|
||||
// jac[index].insert(row, row) = Scalar(1.0);
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // Do some check. Empty jacobian only make sense for empty val.
|
||||
// for (int i = 0; i < num_blocks; ++i) {
|
||||
// assert(jac[i].size()==0);
|
||||
// }
|
||||
// }
|
||||
return AutoDiffBlock(std::move(val), std::move(jac));
|
||||
}
|
||||
|
||||
@@ -258,7 +242,6 @@ namespace Opm
|
||||
const int num_blocks = rhs.numBlocks();
|
||||
jac_.resize(num_blocks);
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
// jac_[block] = -rhs.jac_[block];
|
||||
jac_[block] = rhs.jac_[block] * (-1.0);
|
||||
}
|
||||
} else if (!rhs.jac_.empty()) {
|
||||
@@ -502,7 +485,6 @@ namespace Opm
|
||||
std::vector<typename AutoDiffBlock<Scalar>::M> jac(num_blocks);
|
||||
assert(lhs.cols() == rhs.value().rows());
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
// jac[block] = lhs*rhs.derivative()[block];
|
||||
fastSparseProduct(lhs, rhs.derivative()[block], jac[block]);
|
||||
}
|
||||
typename AutoDiffBlock<Scalar>::V val = lhs*rhs.value().matrix();
|
||||
@@ -519,7 +501,6 @@ namespace Opm
|
||||
std::vector<typename AutoDiffBlock<Scalar>::M> jac(num_blocks);
|
||||
assert(lhs.cols() == rhs.value().rows());
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
// jac[block] = lhs*rhs.derivative()[block];
|
||||
fastSparseProduct(lhs, rhs.derivative()[block], jac[block]);
|
||||
}
|
||||
typename AutoDiffBlock<Scalar>::V val = lhs*rhs.value().matrix();
|
||||
|
||||
@@ -39,7 +39,6 @@ namespace Opm
|
||||
/// operations on (AD or regular) vectors of data.
|
||||
struct HelperOps
|
||||
{
|
||||
// typedef AutoDiffBlock<double>::M M;
|
||||
typedef Eigen::SparseMatrix<double> M;
|
||||
typedef AutoDiffBlock<double>::V V;
|
||||
|
||||
@@ -337,11 +336,9 @@ superset(const Eigen::Array<Scalar, Eigen::Dynamic, 1>& x,
|
||||
/// elements of d on the diagonal.
|
||||
/// Need to mark this as inline since it is defined in a header and not a template.
|
||||
inline
|
||||
//AutoDiffBlock<double>::M
|
||||
Eigen::SparseMatrix<double>
|
||||
spdiag(const AutoDiffBlock<double>::V& d)
|
||||
{
|
||||
// typedef AutoDiffBlock<double>::M M;
|
||||
typedef Eigen::SparseMatrix<double> M;
|
||||
|
||||
const int n = d.size();
|
||||
@@ -587,7 +584,6 @@ vertcatCollapseJacs(const std::vector<AutoDiffBlock<double> >& x)
|
||||
int block_col_start = 0;
|
||||
if (!x[elem].derivative().empty()) {
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
// const ADB::M& jac = x[elem].derivative()[block];
|
||||
x[elem].derivative()[block].toSparse(jac);
|
||||
for (M::Index k = 0; k < jac.outerSize(); ++k) {
|
||||
for (M::InnerIterator i(jac, k); i ; ++i) {
|
||||
|
||||
@@ -228,8 +228,6 @@ namespace Opm {
|
||||
|
||||
struct WellOps {
|
||||
WellOps(const Wells* wells);
|
||||
// M w2p; // well -> perf (scatter)
|
||||
// M p2w; // perf -> well (gather)
|
||||
Eigen::SparseMatrix<double> w2p; // well -> perf (scatter)
|
||||
Eigen::SparseMatrix<double> p2w; // perf -> well (gather)
|
||||
};
|
||||
|
||||
@@ -384,7 +384,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
if (pw.derivative().empty()) {
|
||||
return ADB::constant(std::move(mu));
|
||||
} else {
|
||||
// ADB::M dmudp_diag = spdiag(dmudp);
|
||||
ADB::M dmudp_diag(dmudp.matrix().asDiagonal());
|
||||
const int num_blocks = pw.numBlocks();
|
||||
std::vector<ADB::M> jacs(num_blocks);
|
||||
@@ -421,8 +420,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
props_[phase_usage_.phase_pos[Oil]]->mu(n, pvt_region_.data(), po.value().data(), T.value().data(), rs.value().data(),
|
||||
&cond[0], mu.data(), dmudp.data(), dmudr.data());
|
||||
|
||||
// ADB::M dmudp_diag = spdiag(dmudp);
|
||||
// ADB::M dmudr_diag = spdiag(dmudr);
|
||||
ADB::M dmudp_diag(dmudp.matrix().asDiagonal());
|
||||
ADB::M dmudr_diag(dmudr.matrix().asDiagonal());
|
||||
const int num_blocks = po.numBlocks();
|
||||
@@ -431,7 +428,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
fastSparseProduct(dmudp_diag, po.derivative()[block], jacs[block]);
|
||||
ADB::M temp;
|
||||
fastSparseProduct(dmudr_diag, rs.derivative()[block], temp);
|
||||
// jacs[block] += temp;
|
||||
jacs[block] = jacs[block] + temp;
|
||||
}
|
||||
return ADB::function(std::move(mu), std::move(jacs));
|
||||
@@ -463,8 +459,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
props_[phase_usage_.phase_pos[Gas]]->mu(n, pvt_region_.data(), pg.value().data(), T.value().data(), rv.value().data(),&cond[0],
|
||||
mu.data(), dmudp.data(), dmudr.data());
|
||||
|
||||
// ADB::M dmudp_diag = spdiag(dmudp);
|
||||
// ADB::M dmudr_diag = spdiag(dmudr);
|
||||
ADB::M dmudp_diag(dmudp.matrix().asDiagonal());
|
||||
ADB::M dmudr_diag(dmudr.matrix().asDiagonal());
|
||||
const int num_blocks = pg.numBlocks();
|
||||
@@ -473,7 +467,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
fastSparseProduct(dmudp_diag, pg.derivative()[block], jacs[block]);
|
||||
ADB::M temp;
|
||||
fastSparseProduct(dmudr_diag, rv.derivative()[block], temp);
|
||||
// jacs[block] += temp;
|
||||
jacs[block] = jacs[block] + temp;
|
||||
}
|
||||
return ADB::function(std::move(mu), std::move(jacs));
|
||||
@@ -507,7 +500,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
props_[phase_usage_.phase_pos[Water]]->b(n, pvt_region_.data(), pw.value().data(), T.value().data(), rs,
|
||||
b.data(), dbdp.data(), dbdr.data());
|
||||
|
||||
// ADB::M dbdp_diag = spdiag(dbdp);
|
||||
ADB::M dbdp_diag(dbdp.matrix().asDiagonal());
|
||||
const int num_blocks = pw.numBlocks();
|
||||
std::vector<ADB::M> jacs(num_blocks);
|
||||
@@ -544,8 +536,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
props_[phase_usage_.phase_pos[Oil]]->b(n, pvt_region_.data(), po.value().data(), T.value().data(), rs.value().data(),
|
||||
&cond[0], b.data(), dbdp.data(), dbdr.data());
|
||||
|
||||
// ADB::M dbdp_diag = spdiag(dbdp);
|
||||
// ADB::M dbdr_diag = spdiag(dbdr);
|
||||
ADB::M dbdp_diag(dbdp.matrix().asDiagonal());
|
||||
ADB::M dbdr_diag(dbdr.matrix().asDiagonal());
|
||||
const int num_blocks = po.numBlocks();
|
||||
@@ -554,7 +544,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
fastSparseProduct(dbdp_diag, po.derivative()[block], jacs[block]);
|
||||
ADB::M temp;
|
||||
fastSparseProduct(dbdr_diag, rs.derivative()[block], temp);
|
||||
// jacs[block] += temp;
|
||||
jacs[block] = jacs[block] + temp;
|
||||
}
|
||||
return ADB::function(std::move(b), std::move(jacs));
|
||||
@@ -587,8 +576,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
props_[phase_usage_.phase_pos[Gas]]->b(n, pvt_region_.data(), pg.value().data(), T.value().data(), rv.value().data(), &cond[0],
|
||||
b.data(), dbdp.data(), dbdr.data());
|
||||
|
||||
// ADB::M dbdp_diag = spdiag(dbdp);
|
||||
// ADB::M dbdr_diag = spdiag(dbdr);
|
||||
ADB::M dbdp_diag(dbdp.matrix().asDiagonal());
|
||||
ADB::M dbdr_diag(dbdr.matrix().asDiagonal());
|
||||
const int num_blocks = pg.numBlocks();
|
||||
@@ -597,7 +584,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
fastSparseProduct(dbdp_diag, pg.derivative()[block], jacs[block]);
|
||||
ADB::M temp;
|
||||
fastSparseProduct(dbdr_diag, rv.derivative()[block], temp);
|
||||
// jacs[block] += temp;
|
||||
jacs[block] = jacs[block] + temp;
|
||||
}
|
||||
return ADB::function(std::move(b), std::move(jacs));
|
||||
@@ -623,7 +609,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
V rbub(n);
|
||||
V drbubdp(n);
|
||||
props_[phase_usage_.phase_pos[Oil]]->rsSat(n, pvt_region_.data(), po.value().data(), rbub.data(), drbubdp.data());
|
||||
// ADB::M drbubdp_diag = spdiag(drbubdp);
|
||||
ADB::M drbubdp_diag(drbubdp.matrix().asDiagonal());
|
||||
const int num_blocks = po.numBlocks();
|
||||
std::vector<ADB::M> jacs(num_blocks);
|
||||
@@ -665,7 +650,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
V rv(n);
|
||||
V drvdp(n);
|
||||
props_[phase_usage_.phase_pos[Gas]]->rvSat(n, pvt_region_.data(), po.value().data(), rv.data(), drvdp.data());
|
||||
// ADB::M drvdp_diag = spdiag(drvdp);
|
||||
ADB::M drvdp_diag(drvdp.matrix().asDiagonal());
|
||||
const int num_blocks = po.numBlocks();
|
||||
std::vector<ADB::M> jacs(num_blocks);
|
||||
@@ -742,12 +726,11 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
const int phase2_pos = phase_usage_.phase_pos[phase2];
|
||||
// Assemble dkr1/ds2.
|
||||
const int column = phase1_pos + np*phase2_pos; // Recall: Fortran ordering from props_.relperm()
|
||||
// ADB::M dkr1_ds2_diag = spdiag(dkr.col(column));
|
||||
|
||||
ADB::M dkr1_ds2_diag(dkr.col(column).matrix().asDiagonal());
|
||||
for (int block = 0; block < num_blocks; ++block) {
|
||||
ADB::M temp;
|
||||
fastSparseProduct(dkr1_ds2_diag, s[phase2]->derivative()[block], temp);
|
||||
// jacs[block] += temp;
|
||||
jacs[block] = jacs[block] + temp;
|
||||
}
|
||||
}
|
||||
@@ -805,12 +788,10 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
const int phase2_pos = phase_usage_.phase_pos[phase2];
|
||||
// Assemble dpc1/ds2.
|
||||
const int column = phase1_pos + nActivePhases*phase2_pos; // Recall: Fortran ordering from props_.relperm()
|
||||
// ADB::M dpc1_ds2_diag = spdiag(dpc.col(column));
|
||||
ADB::M dpc1_ds2_diag(dpc.col(column).matrix().asDiagonal());
|
||||
for (int block = 0; block < nBlocks; ++block) {
|
||||
ADB::M temp;
|
||||
fastSparseProduct(dpc1_ds2_diag, s[phase2]->derivative()[block], temp);
|
||||
// jacs[block] += temp;
|
||||
jacs[block] = jacs[block] + temp;
|
||||
}
|
||||
}
|
||||
@@ -912,7 +893,6 @@ BlackoilPropsAdFromDeck::BlackoilPropsAdFromDeck(const BlackoilPropsAdFromDeck&
|
||||
dfactor_dso[i] = vap*std::pow(so_i/satOilMax_[cells[i]], vap-1.0)/satOilMax_[cells[i]];
|
||||
}
|
||||
}
|
||||
// ADB::M dfactor_dso_diag = spdiag(dfactor_dso);
|
||||
ADB::M dfactor_dso_diag(dfactor_dso.matrix().asDiagonal());
|
||||
const int num_blocks = so.numBlocks();
|
||||
std::vector<ADB::M> jacs(num_blocks);
|
||||
|
||||
@@ -111,7 +111,6 @@ namespace Opm
|
||||
// Subtract Bu (B*inv(D)*C)
|
||||
M Bu;
|
||||
fastSparseProduct(B, u, Bu);
|
||||
// J -= Bu;
|
||||
J = J + (Bu * -1.0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,8 +144,6 @@ VFPInjProperties::ADB VFPInjProperties::bhp(const std::vector<int>& table_id,
|
||||
}
|
||||
|
||||
//Create diagonal matrices from ADB::Vs
|
||||
// ADB::M dthp_diag = spdiag(dthp);
|
||||
// ADB::M dflo_diag = spdiag(dflo);
|
||||
ADB::M dthp_diag(dthp.matrix().asDiagonal());
|
||||
ADB::M dflo_diag(dflo.matrix().asDiagonal());
|
||||
|
||||
|
||||
@@ -143,11 +143,6 @@ VFPProdProperties::ADB VFPProdProperties::bhp(const std::vector<int>& table_id,
|
||||
}
|
||||
|
||||
//Create diagonal matrices from ADB::Vs
|
||||
// ADB::M dthp_diag = spdiag(dthp);
|
||||
// ADB::M dwfr_diag = spdiag(dwfr);
|
||||
// ADB::M dgfr_diag = spdiag(dgfr);
|
||||
// ADB::M dalq_diag = spdiag(dalq);
|
||||
// ADB::M dflo_diag = spdiag(dflo);
|
||||
ADB::M dthp_diag(dthp.matrix().asDiagonal());
|
||||
ADB::M dwfr_diag(dwfr.matrix().asDiagonal());
|
||||
ADB::M dgfr_diag(dgfr.matrix().asDiagonal());
|
||||
|
||||
@@ -142,8 +142,7 @@ void fastSparseProduct(const Lhs& lhs, const Rhs& rhs, ResultType& res)
|
||||
|
||||
|
||||
|
||||
inline void fastDiagSparseProduct(// const Eigen::DiagonalMatrix<double, Eigen::Dynamic>& lhs,
|
||||
const std::vector<double>& lhs,
|
||||
inline void fastDiagSparseProduct(const std::vector<double>& lhs,
|
||||
const Eigen::SparseMatrix<double>& rhs,
|
||||
Eigen::SparseMatrix<double>& res)
|
||||
{
|
||||
@@ -154,7 +153,7 @@ inline void fastDiagSparseProduct(// const Eigen::DiagonalMatrix<double, Eigen::
|
||||
for (int col = 0; col < n; ++col) {
|
||||
typedef Eigen::SparseMatrix<double>::InnerIterator It;
|
||||
for (It it(res, col); it; ++it) {
|
||||
it.valueRef() *= lhs[it.row()]; // lhs.diagonal()(it.row());
|
||||
it.valueRef() *= lhs[it.row()];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -163,7 +162,6 @@ inline void fastDiagSparseProduct(// const Eigen::DiagonalMatrix<double, Eigen::
|
||||
|
||||
|
||||
inline void fastSparseDiagProduct(const Eigen::SparseMatrix<double>& lhs,
|
||||
// const Eigen::DiagonalMatrix<double, Eigen::Dynamic>& rhs,
|
||||
const std::vector<double>& rhs,
|
||||
Eigen::SparseMatrix<double>& res)
|
||||
{
|
||||
@@ -174,7 +172,7 @@ inline void fastSparseDiagProduct(const Eigen::SparseMatrix<double>& lhs,
|
||||
for (int col = 0; col < n; ++col) {
|
||||
typedef Eigen::SparseMatrix<double>::InnerIterator It;
|
||||
for (It it(res, col); it; ++it) {
|
||||
it.valueRef() *= rhs[col]; // rhs.diagonal()(col);
|
||||
it.valueRef() *= rhs[col];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user