Dear all,

Sorry for the spam and being new to the field.

I am currently trying to implement an elastodynamics problem with explicit
method (central difference method, to be specific). I am planning to use
lumped mass matrix (and Rayleigh damping when needed), so the system matrix
will be simply a diagonal matrix. Solving is therefore trivial - I just
need to do per-element division of the rhs by the diagonal entries to get
the solution vector.

For this problem, I have the option of just treating it as an implicit
system - fill the system.matrix with only diagonal components and call the
PETSc LU solver. This is very easy thanks to a lot of the libmesh
infrastructure available. If I do so, should I be concerned about a
significant slowdown? Or would PETSc be smart enough to realize that this
is already diagonal matrix and be efficient in solving it?

My other choice would be to create a NumericVector myself to store the
diagonal system matrix entries, and perform the per-element division. This
would take more work and will not be using the already well-tested libmesh
infrastructure, so I am trying to see whether I can get away with doing
this without compromising on the performance.

Feedback would be very appreciated. Thank you!

Best,
Shawn


-- 
Yuxiang "Shawn" Wang, PhD
yw...@virginia.edu
+1 (434) 284-0836

_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to