[Nek5000-users] Building mass and stiffness matrices

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Thu Feb 13 06:34:46 CST 2014


Hi Giuseppe,

Nek uses a completely matrix-free approach.  The standard way to generate
a matrix in this case is to start passing in unit column vectors, e_j
(the jth column of the Identity matrix) and saving the result a_j, the
jth column of A.   For sparse matrices there is a fair amount of 
bookeeping required so that you store only the nonzeros.  (I normally
use compressed sparse row format to do so.)

The mass matrix is diagonal and therefore readily retrieved.

How large is your problem (i.e., how many elements and what is the
order, lxl) ?

Note that the number of nonzeros scales like E*(lx1^6).

Paul

On Thu, 13 Feb 2014, nek5000-users at lists.mcs.anl.gov wrote:

> Dear users and developers,
> I am using NEK5000 for a 3d unsteady simulation with mixed Dirichlet and
> periodic bc. For the post-processing (a POD-based dynamics) I need the global
> mass and stiffness matrices as built by NEK5000 on my mesh. I would also need
> the matrix having as entries (phi_i, grad(phi_j)) where phi are the basis
> polynomials.  Is it possible to have NEK build these matrices and then save
> them on file? The ultimate goal is to import them on a PETSc program to
> perform some algebraic manipulations. I already found a way to import the
> simulations' results.  Surfing the code, I have found some 1-d routines, but
> I don't know how to extend them to my needs.  Thank you in advance for any
> help or hint.
> Best regards,
> Giuseppe
>
> _______________________________________________
> Nek5000-users mailing list
> Nek5000-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/nek5000-users
>


More information about the Nek5000-users mailing list