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

How to inverse block opeator matrix #4309

Open
Raghavendra0117 opened this issue May 16, 2024 · 0 comments
Open

How to inverse block opeator matrix #4309

Raghavendra0117 opened this issue May 16, 2024 · 0 comments

Comments

@Raghavendra0117
Copy link

Raghavendra0117 commented May 16, 2024

Dear all,
I am trying to solve two coupled equations,
C dT/dt + $\nabla . q$ = 0
q+ k $\nabla T$ = 0
over a domain $\Omega$. The discrete equations are
[Mt] [T]^{n+1} +[D] [ q ] ^{n+1}= [Mt] [T]^n
[D]^T [T]^{n+1} + [Mq] [q]^{n+1} = 0
where [T] is in L2 Space and [q] is in RT-space.
I am able to create a block operator/matrix that has [Mt], [D], [D]^T and [Mq] as its sub matrices.

It would be helpful if someone can suggest any existing method/routine that does the inversion
(with the help of some suitable pre-conditioner) of this block operator and operates on R.H.S to get [T]^{n+1} & [q]^{n+1}.

Regarding the preconditioner, i have gone through some of the examples in which the fespace has been supplied in the definition of preconditioner.
Eg:
if ( ads_a2 == NULL )
{
ParFiniteElementSpace *prec_fespace = (a2->StaticCondensationIsEnabled() ? a2->SCParFESpace() : &HDivFESpace);
ads_a2 = new HypreADS(*A2, prec_fespace);
}
if ( pcg_a2 == NULL )
{
pcg_a2 = new HyprePCG(*A2);
pcg_a2->SetTol(SOLVER_TOL);
pcg_a2->SetMaxIter(SOLVER_MAX_IT);
pcg_a2->SetPrintLevel(SOLVER_PRINT_LEVEL);
pcg_a2->SetPreconditioner(*ads_a2);
} [Ref: Joule miniapp]

I am confused for the case of mixed FE case, how should one proceed ?

Is it possible to use the hypre library's cg, gmres etc without help of the preconditioner?

Is there any example which does the inversion of block operator/matrix built on mixed FE spaces.

It would be helpful if someone can suggest any literature/document on solvers used in the MFEM library.

Thanks in advance,
Raghavendra Kollipara

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

No branches or pull requests

2 participants