> On Mar 20, 2017, at 11:04 PM, Sanjay Govindjee <[email protected]> wrote:
> 
> If you zero the row and column as suggested, you can get what you want by 
> building the
> RHS as you construct your matrix (i.e. do in while assembling your matrix and 
> RHS).

   Yes, and often this is good way to proceed. But I don't think you HAVE to do 
it this way, I think MatZeroRowsColums() is an alternative.

   Barry

> 
> On 3/20/17 8:48 PM, Daralagodu Dattatreya Jois, Sathwik Bharadw wrote:
>> Hey Barry, 
>> I am already using MatZeroRows. I was actually stuck precisely while 
>> applying non zero Dirchlet boundary conditions. But to account for non zero 
>> value traditionally we subtract the corresponding column with the right hand 
>> side vector. If we zero the rows and columns we can only have value zero for 
>> solutions at the boundary. 
>> 
>> Get Outlook for Android
>> 
>> From: Barry Smith <[email protected]>
>> Sent: Monday, March 20, 2017 11:33:20 PM
>> To: Daralagodu Dattatreya Jois, Sathwik Bharadw
>> Cc: [email protected]
>> Subject: Re: [petsc-users] Values of a column in a parallel matrix
>>  
>> 
>> > On Mar 20, 2017, at 6:07 PM, Daralagodu Dattatreya Jois, Sathwik Bharadw 
>> > <[email protected]> wrote:
>> > 
>> > Hey all,
>> > 
>> >  I am using  AIJ matrix to solve Laplace problem in finite element 
>> > framework. To apply Neumann boundary conditions I need to obtain values of 
>> > first and last few columns and subtract it with the corresponding right 
>> > hand side vector. I understand that MatGetColumnVector andMatGetValues are 
>> > not collective. Is there any other alternative petsc calls to achieve this 
>> > in parallel? 
>> 
>>   Hmm, I think you mean non-zero Dirichlet boundary conditions. In that case 
>> the recommended approach is calling MatZeroRows() or if you want to preserve 
>> symmetry MatZeroRowsColumns(). There are also MatZeroRowsLocal() and 
>> MatZeroRowsColumnsLocal() and a few other variants.
>> 
>>   Barry
>> 
>> 
>> >   
>> > Thanks,
>> > Sathwik 
>> 
> 
> 

Reply via email to