mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Update to work with AutoDiffBlock::M now being AutoDiffMatrix.
This commit is contained in:
parent
6c00cddb35
commit
b324606084
@ -81,7 +81,7 @@ namespace {
|
|||||||
|
|
||||||
|
|
||||||
template <class GeoProps>
|
template <class GeoProps>
|
||||||
AutoDiffBlock<double>::M
|
Eigen::SparseMatrix<double>
|
||||||
gravityOperator(const UnstructuredGrid& grid,
|
gravityOperator(const UnstructuredGrid& grid,
|
||||||
const HelperOps& ops ,
|
const HelperOps& ops ,
|
||||||
const GeoProps& geo )
|
const GeoProps& geo )
|
||||||
@ -123,7 +123,8 @@ namespace {
|
|||||||
grav.push_back(Tri(i, c2, - t * dG2));
|
grav.push_back(Tri(i, c2, - t * dG2));
|
||||||
}
|
}
|
||||||
|
|
||||||
M G(ni, nc); G.setFromTriplets(grav.begin(), grav.end());
|
Eigen::SparseMatrix<double> G(ni, nc);
|
||||||
|
G.setFromTriplets(grav.begin(), grav.end());
|
||||||
|
|
||||||
return G;
|
return G;
|
||||||
}
|
}
|
||||||
@ -661,7 +662,7 @@ namespace {
|
|||||||
// Handling BHP and SURFACE_RATE wells.
|
// Handling BHP and SURFACE_RATE wells.
|
||||||
V bhp_targets(nw);
|
V bhp_targets(nw);
|
||||||
V rate_targets(nw);
|
V rate_targets(nw);
|
||||||
M rate_distr(nw, np*nw);
|
Eigen::SparseMatrix<double> rate_distr(nw, np*nw);
|
||||||
for (int w = 0; w < nw; ++w) {
|
for (int w = 0; w < nw; ++w) {
|
||||||
const WellControls* wc = wells_.ctrls[w];
|
const WellControls* wc = wells_.ctrls[w];
|
||||||
if (well_controls_get_current_type(wc) == BHP) {
|
if (well_controls_get_current_type(wc) == BHP) {
|
||||||
@ -981,7 +982,7 @@ namespace {
|
|||||||
pm[i] = rock_comp_props_->poroMult(p.value()[i]);
|
pm[i] = rock_comp_props_->poroMult(p.value()[i]);
|
||||||
dpm[i] = rock_comp_props_->poroMultDeriv(p.value()[i]);
|
dpm[i] = rock_comp_props_->poroMultDeriv(p.value()[i]);
|
||||||
}
|
}
|
||||||
ADB::M dpm_diag = spdiag(dpm);
|
ADB::M dpm_diag(dpm.matrix().asDiagonal());
|
||||||
const int num_blocks = p.numBlocks();
|
const int num_blocks = p.numBlocks();
|
||||||
std::vector<ADB::M> jacs(num_blocks);
|
std::vector<ADB::M> jacs(num_blocks);
|
||||||
for (int block = 0; block < num_blocks; ++block) {
|
for (int block = 0; block < num_blocks; ++block) {
|
||||||
@ -1008,7 +1009,7 @@ namespace {
|
|||||||
tm[i] = rock_comp_props_->transMult(p.value()[i]);
|
tm[i] = rock_comp_props_->transMult(p.value()[i]);
|
||||||
dtm[i] = rock_comp_props_->transMultDeriv(p.value()[i]);
|
dtm[i] = rock_comp_props_->transMultDeriv(p.value()[i]);
|
||||||
}
|
}
|
||||||
ADB::M dtm_diag = spdiag(dtm);
|
ADB::M dtm_diag(dtm.matrix().asDiagonal());
|
||||||
const int num_blocks = p.numBlocks();
|
const int num_blocks = p.numBlocks();
|
||||||
std::vector<ADB::M> jacs(num_blocks);
|
std::vector<ADB::M> jacs(num_blocks);
|
||||||
for (int block = 0; block < num_blocks; ++block) {
|
for (int block = 0; block < num_blocks; ++block) {
|
||||||
|
@ -123,8 +123,8 @@ namespace Opm {
|
|||||||
|
|
||||||
struct WellOps {
|
struct WellOps {
|
||||||
WellOps(const Wells& wells);
|
WellOps(const Wells& wells);
|
||||||
M w2p; // well -> perf (scatter)
|
Eigen::SparseMatrix<double> w2p; // well -> perf (scatter)
|
||||||
M p2w; // perf -> well (gather)
|
Eigen::SparseMatrix<double> p2w; // perf -> well (gather)
|
||||||
};
|
};
|
||||||
|
|
||||||
enum { Water = BlackoilPropsAdInterface::Water,
|
enum { Water = BlackoilPropsAdInterface::Water,
|
||||||
|
@ -179,7 +179,7 @@ namespace Opm {
|
|||||||
inv_mu_w_eff(i) = im;
|
inv_mu_w_eff(i) = im;
|
||||||
dinv_mu_w_eff(i) = dim;
|
dinv_mu_w_eff(i) = dim;
|
||||||
}
|
}
|
||||||
ADB::M dim_diag = spdiag(dinv_mu_w_eff);
|
ADB::M dim_diag(dinv_mu_w_eff.matrix().asDiagonal());
|
||||||
const int num_blocks = c.numBlocks();
|
const int num_blocks = c.numBlocks();
|
||||||
std::vector<ADB::M> jacs(num_blocks);
|
std::vector<ADB::M> jacs(num_blocks);
|
||||||
for (int block = 0; block < num_blocks; ++block) {
|
for (int block = 0; block < num_blocks; ++block) {
|
||||||
@ -226,7 +226,7 @@ namespace Opm {
|
|||||||
dmc(i) = dm;
|
dmc(i) = dm;
|
||||||
}
|
}
|
||||||
|
|
||||||
ADB::M dmc_diag = spdiag(dmc);
|
ADB::M dmc_diag(dmc.matrix().asDiagonal());
|
||||||
const int num_blocks = c.numBlocks();
|
const int num_blocks = c.numBlocks();
|
||||||
std::vector<ADB::M> jacs(num_blocks);
|
std::vector<ADB::M> jacs(num_blocks);
|
||||||
for (int block = 0; block < num_blocks; ++block) {
|
for (int block = 0; block < num_blocks; ++block) {
|
||||||
@ -274,7 +274,7 @@ namespace Opm {
|
|||||||
dads(i) = dc_ads;
|
dads(i) = dc_ads;
|
||||||
}
|
}
|
||||||
|
|
||||||
ADB::M dads_diag = spdiag(dads);
|
ADB::M dads_diag(dads.matrix().asDiagonal());
|
||||||
int num_blocks = c.numBlocks();
|
int num_blocks = c.numBlocks();
|
||||||
std::vector<ADB::M> jacs(num_blocks);
|
std::vector<ADB::M> jacs(num_blocks);
|
||||||
for (int block = 0; block < num_blocks; ++block) {
|
for (int block = 0; block < num_blocks; ++block) {
|
||||||
|
Loading…
Reference in New Issue
Block a user