Dear David,
There can be several ways to get the reaction forces. If you've applied your Dirichlet boundary conditions with Lagrange multipliers, then your reaction tractions (so, not forces) are the Lagrange multipliers.
If you want to obtain the nodal forces, you would need to integrate the Lagrange multipliers alone the Dirichlet boundary, by assembling something like:
Test_u . Lagrange_multiplier
In case you applied the Dirichlet condition somehow else and you have the stress field, you can indeed apply the method you've mentioned. However, what you call the nodal forces on the whole domain will be mostly zero (as they balance each other in case of pure static solution), except the boundary where you've applied the Dirichlet condition. But still, assuming that you have Sigma tensor field in the Gauss points as im_data, you can do the assembly over the whole domain as in the formula you've mentioned:
"Sym(Grad_Test_u) : Sigma"
I don't really remember this well, but I believe this can be simplified to Grad_Test_u : Sigma when we know that Sigma is a symmetric tensor. What is probably different in Getfem from most of the Finite Element text-books is that Getfem always uses true tensors, as opposed to the Voight notation in your example. For instance, that B - matrix in your text is a Voight representation of a symmetric operator on the gradient of the shape functions. While B is 6x3 in 3D, Grad_Test_u should be seen as 3x3, but Sigma is 3x3, unlike stress vector in Voight notation which is 6x1. This probably has some performance overhead as true tensors are not as compact as the matrices in the Voight notation, but it preserves all the good properties of the tensors and makes the derivations cleaner.
Let me know if you have any other questions,
Andriy
Dear GetFem community,
after the computation of reaction forces associated to a dirichlet condition, which gave acceptable results, i am trying now to compute the nodal forces on the whole domain, here is the _expression_ for each element
By using the GWFL, is it possible to compute such quantity as a post-processing?
My best guess is that i have to use the local projection method but i am stucked regarding the rest. Any idea? Is there another way to do that?
Thanks in advance,
David.