Hi,

I am trying to solve the below parabolic system for a constant time interval dt

(M + dt * K) x = M * x^(old)

Where,
M – Mass matrix
K – Stiffness matrix
A = M + dt * K  (remains constant)

I apply the boundary condition using  MatZeroRowsColumns. For homogenous 
boundary conditions, I notice that the A matrix remains unmodified from 
one-time step to the next.

For the non-homogenous boundary condition, I supply ‘x’ with the prescribed 
boundary value and pass it to MatZeroRowsColumns as follows


MatZeroRowsColumnsIS(A, is, 1, x, b);

After the linear solve, I find that A is modified. So I have to reassemble A 
again for every time step. Is it MatZeroRowsColumns or the solve itself that 
modifies A and why?

Kind regards,
Karthik.


  • [petsc-users] non-hom... Karthikeyan Chockalingam - STFC UKRI via petsc-users

Reply via email to