1
$\begingroup$

The element stiffness matrix in 3D FEM problems is build as follows:

$$ K = \int\limits_{[-1,1]^3} B^T C B\, |J| \mathrm{d}r\, \mathrm{d}s\, \mathrm{d}t$$

The integral can be solved using e.g. Gauss quadrature method.

But for me it seems to computational expensive if you perform the above equation for, e.g., 500.000 hexahedral elements. Thus I was wondering if there is an additional approximation or something else done to reduce the computational effort.

Question: Is there some kind of approximation method used to solve the two matrix-matrix products as well as the determinant or are they computed explicitly for each element?

$\endgroup$
3
  • 1
    $\begingroup$ I don't understand you question. Have you implemented stiffness matrices before? For example, in 1D. $\endgroup$
    – nicoguaro
    Apr 18, 2020 at 23:08
  • $\begingroup$ Yes, I have implemented stiffness matrix befor as described in my post above. But for me it seems to computational expensive if you perform the above equation for e.g. 500.000 hexahedral elements. Thus I was wondering if there is an additional approximation or something else done to reduce the computational effort. $\endgroup$
    – vydesaster
    Apr 19, 2020 at 7:19
  • 1
    $\begingroup$ @vydesaster -- take a look at the tutorials of any of the large finite element libraries. They all do essentially this. It's a small fraction of what it costs to solve a linear system with the large matrix $K$. $\endgroup$ Apr 20, 2020 at 20:45

2 Answers 2

2
$\begingroup$

No that I'm aware of. In general the Jacobian is a function and it takes a different value for each Gauss point.

On the other hand, if your elements have the same shape, you can compute the integral once and then just assemble. This implies that you have a regular mesh and limits the geometries that you can model. One can, naively, think that for this case you can compute the integrals analytically but I don't think that it gives any advantage, as discussed in a previous answer.

$\endgroup$
2
$\begingroup$

Since you mention hexahedral cells in particular, there are optimizations you can do to reduce the computational cost by exploiting the tensor product structure of the element. See for example Antolin et al., "Efficient matrix computation for tensor-product isogeometric analysis: The use of sum factorization" and references therein. This isn't so much an approximation as much as a clever way to group floating-point operations to reduce overall cost.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.