On Apr 15, 2013, at 9:10 PM, Hui Zhang wrote:

> 
> On Apr 15, 2013, at 5:55 PM, Matthew Knepley wrote:
> 
>> On Mon, Apr 15, 2013 at 10:52 AM, Hui Zhang <mike.hui.zhang at hotmail.com> 
>> wrote:
>> I'm implementing a domain decomposition preconditioner.  The dof is ordered 
>> by myapp and using AO (and LocalToGlobalMapping for assembly) to map to 
>> petsc ordering.
>> The task I'm doing is building VecScatter's from subdomains to the global 
>> domain.  So my program is
>> 
>> I do not understand why you would need AOs for this. They are for global 
>> reordering, whereas you seem to only
>> need a local mapping here.
> 
> To use 
> 
>       ISLocalToGlobalMappingCreate(MPI_Comm cm,PetscInt n,const PetscInt 
> indices[],PetscCopyMode mode,ISLocalToGlobalMapping *mapping)
> 
> In the manual page, it says "Not Collective, but communicator may have more 
> than one process".  What is the purpose of using a communicator other than 
> SELF_COMM? Will the input indices[] be gathered in the communicator 'cm'?
> 
> Now I understand why AOCreateBasic is not scalable.  But I still need to use 
> it in the beginning for construction of LocalToGlobalMapping.  How did you 
> implement the LocalToGlobalMapping for element-based decomposition?  Did you 
> avoid using any AO?

I think I find a way.  I can use GetOwnerShipRanges, the mesh element 
connectivity and mesh processor connectivity.   AO is too global for this-- it 
does not take advantage of the connectivity but a global search.

> 
>> 
>>   Matt
>> 
>> Step 1.  I can map subdomain petsc ordering to subdomain natural ordering.
>> 
>> Step 2.  I can also map subdomain natural ordering to global domain natural 
>> ordering.
>> 
>> Step 3.  I have an AO for mapping global domain natural ordering to petsc 
>> ordering.
>> 
>> Since each subdomain is defined on a sub-communicator of the communicator of 
>> the global domain.  My question is for
>> 
>> AOApplicationToPetscIS(AO ao,IS is)
>> 
>> can ao and is have different communicators?  Will my program be bad for 
>> large problems?  How would you do it?
>> 
>> 
>> 
>> -- 
>> What most experimenters take for granted before they begin their experiments 
>> is infinitely more interesting than any results to which their experiments 
>> lead.
>> -- Norbert Wiener
> 
> 

Reply via email to