Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6539 Discussions

## First solve with dense right hand side and following solve with sparse rhs Beginner
147 Views

Dear All

I am trying to using pardiso (sparse direct solver) as my subdomain (substructure) solver in my domain decomposition application.

The first solve with dense right hand side (rhs) coming from source terms and boundary conditions.

The following sloves using the factorized sparse matrices with sparse right hand side only assotiated with boundary conditions.

With pardiso, the first solve I set IPARM(31) = 0 and PERM(i)=0 with phase = 13.

The following solves, I set IPARM(31) = 1, and only some PERM(i) = 1.

It seems like the entries b( m ) affected my solution even if PERM(m) =0 when phase = 33.

Here are my questions.

1. Is PERM usefull for function pardiso( ) when phase = 33 ?

2. Is there a better way to acheive my goal which is

the first solve (phase = 13) is with dense right hand side, but the following solves (phase = 33) using the factorized matrices with sparse right hand side ?

Hailong

3 Replies Employee
147 Views

Hailong,

In the case of partial solver, PERM is used in all phases. But I'm not sure how it is used in the solve phase, and how it affects the solution vector. Let me check with our PARDISO engineer and get back to you later. Thanks. Employee
147 Views

Hi Hailong,

1. Am I correct that you use one reordering and factorization steps for your matrix and after change PERM array to achieve partial solution? It is incorrect using of partial solving algorithm because PARDISO need to have PERM array on reordering step. Please correct me, if I didn't understand you.

2. The one way to achieve you goal is the following:

iparm(31)=0

call pardiso(pt,ido=13,...)

call pardiso(pt,ido=-1)

iparm(31)=1

set perm

call pardiso(pt,ido=12,...)

loop call pardiso(pt,ido=33,...)

call pardiso(pt,ido=-1)

With best regards, Beginner
147 Views

Hi Alexander 