Skip to first unread message

daschn...@googlemail.com

unread,
Feb 16, 2018, 2:43:32 AM2/16/18
to deal.II User Group
Dear all,

I studied the step- 44 Tutorial Program and read already a lot about how to apply a Neumann contribution. But I have still two questions:
In my case, I like to apply a force (not a force per unit reference area) as a Neumann contribution on the RHS. But for the Integral, Ni * traction* JxW    I need the Piola- Kirchhoff traction.
My idea would be the following: F= PN dA = T dA   <=> F/dA= T
I would simply divide the force by the area of the cellsurface.
So my first question is: Can I do it like this or is there a simpler way of doing it?
And the second question is: How can I access this sort of Information? The area might for example be computed using the norm of a cross product. But I am not sure how to get the two vectors for this operation.

Any help is appreciated.
Thanks a lot with best regards
David

Lucas Campos

unread,
Feb 16, 2018, 3:24:42 AM2/16/18
to deal.II User Group
Dear David,

 
> So my first question is: Can I do it like this or is there a simpler way of doing it?
I can't really comment on this. Hopefully someone with more experience than me will chip in.
 
> And the second question is: How can I access this sort of Information? The area might for example be computed using the norm of a cross product. But I am not sure how to get the two vectors for this operation.

I would recommend you read carefully the description of the function before using it, mainly for curved domains.

Bests,
Lucas

Jean-Paul Pelteret

unread,
Feb 16, 2018, 4:41:22 AM2/16/18
to dea...@googlegroups.com
Dear David,

I studied the step- 44 Tutorial Program and read already a lot about how to apply a Neumann contribution. But I have still two questions:
In my case, I like to apply a force (not a force per unit reference area) as a Neumann contribution on the RHS. But for the Integral, Ni * traction* JxW    I need the Piola- Kirchhoff traction.
My idea would be the following: F= PN dA = T dA   <=> F/dA= T
I would simply divide the force by the area of the cellsurface.
So my first question is: Can I do it like this or is there a simpler way of doing it?

It depends. The approach you’ve described here (that is, to specify the total force applied to a surface) is the same as is done in this code-gallery example (see line 1690):

But this only makes sense if you know the area over which the traction is integrated and if the traction force is uniformly distributed. For a geometrically complex shapes, this may no longer be the best solution, and you should probably consider precomputing the total surface area before defining how the traction is distributed. This point relates to your second question...

And the second question is: How can I access this sort of Information? The area might for example be computed using the norm of a cross product. But I am not sure how to get the two vectors for this operation.

You can just use numerical integration for this (which can also take account of the mapping used on curved boundaries). Look at the compute_vol_current() function in step-44, which can be easily adopted to compute surface areas. 

I hope this helps.

Best,
Jean-Paul


daschn...@googlemail.com

unread,
Feb 16, 2018, 5:27:24 AM2/16/18
to deal.II User Group
First of all thank you very much for the quick replies Lucas and Jean-Paul.

I should have been a little more specific. In my case, I obtain the integrated force, which refers to a cellsurface. So, I dont't get the total force for my whole surface and the force is only the same for every quadrature point of one cellface (uniformly distributed on one cellface). I just wanted to make sure that this approach makes sense. For simple geometries (no curved boundaries) the function measure() should work fine. It might be important to catch also the case of curved edges. I think for this case I can integrate the function 1 over the current domain, like already mentioned in the descripion of the function measure().

Best regards,
David


 
Reply all
Reply to author
Forward
0 new messages