Dear all,

I have been using the matrix notation (following the Bathe textbook) with
libmesh recently to code finite element solutions for basic continuum
structural elements. I realized that I need to compute those matrices twice
- once when I assemble the global stiffness matrix, and another time when I
get the solutions and need to post-process to compute the stresses/strains.
Being curious, do we have any best practices (or special considerations) to
save those matrices so that we don't have to compute them twice? For
example, should I just create a huge vector of DenseMatrix, and each matrix
for each quadrature point? Or that libmesh has some tools for this book
keeping?

Explanation for what I meant by "matrix notation" and what are those finite
element matrices: for example, for each quadrature point I have an
interpolation matrix [H], a strain-displacement matrix [B] (constructed
from derivatives of [H]). With the constitutive tensor matrix being [C], we
can easily get the element stiffness matrix by [K] =
integrate([B]^T[C][B]). After the solution [uhat] is obtained, we can also
get the strain and stress by again [strain] = [B][uhat] or [stress] =
[C][B][uhat].

Just wondering whether anyone else has done this before and whether there
would be a better practice to do it more elegantly. Thanks :)

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