
[Sponsors] 
Implementation of traction BC in tractionDisplacementFvPatchVectorField.C 

LinkBack  Thread Tools  Display Modes 
July 12, 2011, 12:58 
Implementation of traction BC in tractionDisplacementFvPatchVectorField.C

#1 
New Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 25
Rep Power: 10 
Hello,
I am trying to understand how the implementation of the traction boundary condition in tractionDisplacementFvPatchVectorField.C works. On line 176180, it says:  gradient() = ( (traction_ + pressure_*n)/rho.value() + twoMuLambda*fvPatchField<vector>::snGrad()  (n & sigmaD) )/twoMuLambda;  When we apply this to a displacement field, D, the code sets the value of the normal gradient, n.grad(D), on the relevant boundary (right?). What I don't understand is why n.grad(D) is set to the value appearing on the right hand side in the code. As I understand it fvPatchField<vector>::snGrad() means n.grad(), and so if we mutliply by twoMuLambda on both sides of the equation above, we get something like (2*mu + lambda) n.grad(D) = (t + p*n)/rho + (2*mu + lambda) n.grad(D)  n.sigma Then the left hand side and the second term on the right hand side cancel out, and we are left with (t + p*n)/rho = n.sigma Which is physically sound... but I am still puzzled about how this is used to set n.grad(D) on the boundary, since the n.grad(D)terms apparenly cancel out. Can anyone give a hint as to how this works? Cheers, Johan 

July 31, 2011, 19:21 

#2 
Senior Member
Hisham Elsafti
Join Date: Apr 2011
Location: Braunschweig, Germany
Posts: 249
Blog Entries: 10
Rep Power: 9 
Hi Johan
I'm trying to understand this BC as well. I'm not really sure but I think this calculation is called for each time (or iteration) the governing equation is to be solved, and therefore, the current normal gradient fvPatchField<vector>::snGrad() is cancelled with the current stress sigmaD and the relation is more like: gradient() = (traction + p * n) / (rho (2mu+lamda)) which is also sound if you can consider the strain=grad(u) I don't know if that is 100% correct. But thanks for the post (saved me some time while going through the code) Best regards, Hisham 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Can anyone give me some hint on how to make traction free boundary condition?  poplar  OpenFOAM  3  January 14, 2015 03:37 
easy educational compressible navier stokes implementation anywhere?  Boogiwoogie  Main CFD Forum  0  December 19, 2010 07:32 
Implementation issues of fvSchemes / laplacianScheme, in particular gaussLaplacianSch  thomek  OpenFOAM Programming & Development  0  October 18, 2010 05:10 
Please explain the implementation of species transport Eqn in reactingFoam  kallipygian  OpenFOAM Running, Solving & CFD  0  October 13, 2008 07:29 
FEM Implementation of pressurecorrection scheme  Markus  Main CFD Forum  4  January 6, 2007 02:53 