[petsc-dev] PCASM with custom overlap/local matrices

Smith, Barry F. bsmith at mcs.anl.gov
Sun Jan 5 08:50:24 CST 2020


  Awesome


> On Jan 5, 2020, at 6:14 AM, Pierre Jolivet <pierre.jolivet at enseeiht.fr> wrote:
> 
> Thanks!
> From:
> MatCreateSubMats       1 1.0 2.2059e-01 1.1 0.00e+00 0.0 5.0e+01 1.9e+04 4.0e+00  1  0  3  0  0   1  0  3  0  0     0
> to:
> MatCreateSubMats       1 1.0 1.1206e-05 1.3 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00  0  0  0  0  0   0  0  0  0  0     0
> on my laptop and four subdomains.
> 
> I guess I can expect nice gains for our Helmholtz and Maxwell solvers at scale and/or with higher order discretizations!
> Pierre
> 
>> On 4 Jan 2020, at 9:17 PM, Smith, Barry F. <bsmith at mcs.anl.gov> wrote:
>> 
>> 
>>  Can you overload the MatCreateSubMatrices() to use your function instead of the default. Using MatSetOperation()?
>> 
>>  Barry
>> 
>> 
>>> On Jan 4, 2020, at 5:30 AM, Pierre Jolivet <pierre.jolivet at enseeiht.fr> wrote:
>>> 
>>> Hello,
>>> I’d like to bypass the call to MatCreateSubMatrices during PCSetUp_PCASM because I’m using a custom (geometric) overlap (PCASMSetLocalSubdomains) and I have a direct access to the corresponding subdomain matrices with optimized boundary conditions.
>>> Currently, I’m using PCSetModifySubMatrices which just overrides the local Dirichlet matrix with my own, so there is no real need for the call to MatCreateSubMatrices.
>>> Do you see of a way to do this?
>>> 
>>> Thanks,
>>> Pierre
>> 
> 



More information about the petsc-dev mailing list