Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/ms wells - part 2: Solving, straightforward option #5746

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

lisajulia
Copy link
Contributor

@lisajulia lisajulia commented Nov 19, 2024

This PR is based on #5680.

This PR enables simulations with MSWell distributed across several processes. The PR #5680 covered the assembly of the system, this PR covers the straightforward option of solving.
This PR adds communication when multiplying x_well with the matrix B of the Schur complement as explained on slide 13 of 24-10-21-MSWells.pdf.
This approach is the easiest way to solve, using preconditioners for the well system is to be implemented in the future.

I've added two tests comparing the SMRY files of a parallel and a sequential simulation with distributet MSWells. These tests fail in the PR #5747 because they do not run through, for this PR they pass.

@lisajulia lisajulia marked this pull request as draft November 19, 2024 11:40
@lisajulia
Copy link
Contributor Author

jenkins build this failure_report please

@lisajulia
Copy link
Contributor Author

jenkins build this failure_report please

@lisajulia
Copy link
Contributor Author

jenkins build this failure_report please

@lisajulia lisajulia force-pushed the feature/ms-wells-solving branch 2 times, most recently from 10e3d24 to 8b9be1d Compare November 20, 2024 09:54
@lisajulia
Copy link
Contributor Author

jenkins build this failure_report please

@lisajulia lisajulia force-pushed the feature/ms-wells-solving branch 4 times, most recently from 6a8e50a to 89530ad Compare November 20, 2024 11:30
@lisajulia
Copy link
Contributor Author

jenkins build this opm-tests=1250 failure_report please

1 similar comment
@lisajulia
Copy link
Contributor Author

jenkins build this opm-tests=1250 failure_report please

@lisajulia
Copy link
Contributor Author

jenkins build this opm-tests=1250 please

@lisajulia
Copy link
Contributor Author

jenkins build this opm-tests=1250 please

@lisajulia
Copy link
Contributor Author

jenkins build this opm-tests=1250 please

@lisajulia
Copy link
Contributor Author

jenkins build this opm-tests=1250 please

@lisajulia lisajulia changed the title Feature/ms wells solving Feature/ms wells - part 1: Solving, straightforward option Nov 22, 2024
@lisajulia lisajulia changed the title Feature/ms wells - part 1: Solving, straightforward option Feature/ms wells - part 2: Solving, straightforward option Nov 22, 2024
@lisajulia
Copy link
Contributor Author

jenkins build this opm-tests=1250 please

@lisajulia
Copy link
Contributor Author

jenkins build this failure_report opm-tests=1250 please

return mswellhelpers::applyUMFPack(*duneDSolver_, rhs);
}

template<class Scalar, int numWellEq, int numEq>
void MultisegmentWellEquations<Scalar,numWellEq,numEq>::
recoverSolutionWell(const BVector& x, BVectorWell& xw) const
{
BVectorWell resWell = resWell_;
BVectorWell Bx(duneB_.N());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would recommend to use the old way, when the well is on one process here.

Maybe we can also factor this out similar as for standard wells, or refactor that code to reuse here.

I am a bit late, sorry.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I'll try that!

@lisajulia
Copy link
Contributor Author

jenkins build this failure_report opm-tests=1250 please

@lisajulia
Copy link
Contributor Author

jenkins build this failure_report opm-tests=1250 please

@lisajulia lisajulia force-pushed the feature/ms-wells-solving branch 2 times, most recently from 496fcca to c9f26cd Compare November 22, 2024 10:09
@lisajulia
Copy link
Contributor Author

jenkins build this failure_report opm-tests=1250 please

@lisajulia lisajulia marked this pull request as ready for review November 22, 2024 12:44
@lisajulia
Copy link
Contributor Author

jenkins build this opm-tests=1250 please

… true, do not throw when initalizing distributed multi-segment wells in WellState.cpp
Here we go from cells to segments, and everything concerning segments is stored globally.
…olutionWell

Here we go from cells to segments, and everything concerning segments is stored globally.
@lisajulia
Copy link
Contributor Author

jenkins build this opm-tests=1250 please

@blattms
Copy link
Member

blattms commented Dec 3, 2024

jenkins build this opm-tests=1250 serial please

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants