
[Sponsors] 
tractionDisplacement BC for solidDisplacementFoam with Body Forces 

LinkBack  Thread Tools  Display Modes 
April 13, 2012, 21:39 
tractionDisplacement BC for solidDisplacementFoam with Body Forces

#1 
Senior Member
Hisham Elsafti
Join Date: Apr 2011
Location: Braunschweig, Germany
Posts: 253
Blog Entries: 10
Rep Power: 10 
Hi Foamers,
I need to add body forces to the solidDisplacementFoam solver. So it goes something similar to: Code:
fvVectorMatrix DEqn ( fvm::d2dt2(D) == fvm::laplacian(2*mu + lambda, D, "laplacian(DD,D)") + bodyForces + divSigmaExp ); Code:
gradient() = ( (traction_ + pressure_*n)/rho + twoMuLambda*fvPatchField<vector>::snGrad()  (n & sigmaD) )/twoMuLambda; if (thermalStress) { ... gradient() += n*threeKalpha*T/twoMuLambda; } Best regards, Hisham El Safti 

April 14, 2012, 02:40 

#2  
Senior Member
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 638
Rep Power: 23 
Quote:
Body forces act on the volume of each cell and are source terms so they do not have boundary conditions. So to add a body force term, just add 'rho*g' to the momentum equation, where g is a dimensionedVector 9.81 in the y direction. Philip 

April 14, 2012, 06:24 

#3  
Senior Member
Hisham Elsafti
Join Date: Apr 2011
Location: Braunschweig, Germany
Posts: 253
Blog Entries: 10
Rep Power: 10 
Hi Philip
Quote:
I also have some other explicit terms that come from another variable (pore fluid velocity). They are all explicit terms (as the case of the "T" term in the DEqn in solidDisplacementFoam.C) Code:
if (thermalStress) { const volScalarField& T = Tptr(); DEqn += fvc::grad(threeKalpha*T); } Best regards, Hisham 

April 14, 2012, 06:49 

#4 
Senior Member
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 638
Rep Power: 23 
Hi Hisham,
The reason there is a Tterm in the boundary condition is because T appears in the constitutive equation i.e. Hooke's law for a thermal elastic solid is: sigma =2*mu*e +lambda*I*tr(e)  (2*mu + 3*lambda)*alpha*(T  Tref)*I Therefore the traction on a boundary face is Trac = n . sigma, and then you sub in Hooke's law and rearrange this equation to get the equivalent (implicit) gradient on the boundary, which is what you set in the traction BC. So the traction BC will contain a Tterm. But it will not contain any body force contributions. If you add rho*g to the momentum equation then it will work, I ran a quick test case and everything is fine on the traction boundaries. Philip 

April 29, 2013, 13:26 

#6 
Member
Samer
Join Date: Jan 2013
Posts: 31
Rep Power: 6 
Hi Philip
using the same methodology, if simulation fluidstructure interaction problem, and i want to transfer the temperature computed at the wall of a solid, as boundary condition for the fluid part (where there is a common patch between fluid and solid) ?? Best regards 

April 30, 2013, 16:27 

#7  
Senior Member
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 638
Rep Power: 23 
Quote:
yes you can follow the same DirichletNeumann coupling procedure to couple the temperature between the regions. Philip 

Tags 
bodyforces, soliddisplacementfoam, tractiondisplacement 
Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
DPM body force to express electric forces  adam14qin  FLUENT  24  August 1, 2013 13:34 
Body forces on hovering airfoil  sanmysterio  Main CFD Forum  1  July 13, 2010 03:14 
Fan modelling using body forces  Fred  Siemens  2  June 13, 2007 08:56 
strong body forces  Ankan  Main CFD Forum  0  August 2, 2005 02:13 
Body Forces  Thomas P. Abraham  Main CFD Forum  1  April 21, 1999 21:24 