PCNN preconditioner and setting the interface
Andreas Grassl
Andreas.Grassl at student.uibk.ac.at
Tue Mar 24 11:34:23 CDT 2009
Barry Smith schrieb:
>
> On Mar 24, 2009, at 8:45 AM, Andreas Grassl wrote:
>
>> Hello,
>>
>> I'm working with a FE-Software where I get out the element stiffness
>> matrices and the element-node correspondency to setup the stiffness
>> matrix for solving with PETSc.
>>
>> I'm currently fighting with the interface definition. My
>> LocalToGlobalMapping for test-purposes was the "identity"-IS, but I
>> guess this is far from the optimum, because nowhere is defined a node
>> set of interface nodes.
>>
>> How do I declare the interface? Is it simply a reordering of the nodes,
>> the inner nodes are numbered first and the interface nodes last?
>
> Here's the deal. Over all the processors you have to have a single
> GLOBAL numbering of the
> nodes. The first process starts with 0 and each process starts off with
> one more than then previous process had.
I am confused now, because after you said to use MatSetValuesLocal() to
put the values in the matrix, i thought local means the unique
(sequential) numbering independent of the processors in use and global a
processor-specific (parallel) numbering.
So the single GLOBAL numbering is the numbering obtained from the
FE-Software represented by {0,...,23}
0 o o O o 5
|
6 o o O o o
|
O--O--O--O--O--O
|
o o o O o 23
And I set the 4 different local numberings {0,...,11}, {0,...,8},
{0,...7}, {0,...,5} with the call of ISLocalToGlobalMappingCreate?
How do I set the different indices?
{0,1,2,3,6,7,8,9,12,13,14,15} would be the index vector for the upper
left subdomain and {3,9,12,13,14,15} the index vector for the interface
of it.
The struct PC_IS defined in src/ksp/pc/impls/is/pcis.h contains IS
holding such an information (I suppose at least), but I have no idea how
to use them efficiently.
Do I have to manage a PC_IS object for every subdomain?
Thanks
ando
--
/"\ Grassl Andreas
\ / ASCII Ribbon Campaign Uni Innsbruck Institut f. Mathematik
X against HTML email Technikerstr. 13 Zi 709
/ \ +43 (0)512 507 6091
More information about the petsc-users
mailing list