|
[Sponsors] |
![]() |
![]() |
#1 |
New Member
mokong
Join Date: Aug 2015
Posts: 5
Rep Power: 11 ![]() |
Dear Users,
I am trying to model friction stir welding process in ansys fluent. There are three domains as part of my simulation. 1. Domain 1 - Moving Workpiece - Fluid (this domain has a recess in which domain 2 is rotating) 2. Domain 2 - Rotating Workpiece - Fluid (this domain is present in the recess in domain 1 ) 3. Domain 3 - Tool - Solid See attached link to see images of the model. I am trying to apply a radially varying heat flux to the tool bottom surface (also known as tool shoulder). I am using a UDF for this. The tool is positioned at (0,0,0). I have a function for calculating the total heat (in W) to be applied depending on the position. Heat flux (in W/m2) is then calculated from the total heat and applied to the tool shoulder. The issue with the UDF is that it does not loop over all the faces of the tool shoulder (which is a boundary face). The heat flux is only applied to the cell face at the edge of the shoulder. (see attached image for my results). # include "udf.h" DEFINE_PROFILE(heatfluxshoulder,thread,position) { face_t f; cell_t c; float x[ND_ND]; //define position vector float xx,z,r,omega,w,sigma, uf,qs1,ql1,hflux,taustick, tauslide, rshoulder, rpin, pressure, yield, qtotal; //Define variables begin_f_loop(f,thread) //begin face loop { pressure=17700; yield=35000000; omega=800; rshoulder=0.014; rpin=0.003; w=2*3.14*omega/60; F_CENTROID(x,f,thread); //calculate the face center position xx=x[0]; //store the x coordinate in variable z=x[2]; // store the z coordinate in variable r=sqrt((xx*xx+z*z)); // calculate the radial position from (0,0,0) sigma=0.31*exp(w*r/1.87)-0.026; //calculate coefficient based on radius uf=0.5*exp(-sigma*w*r); //calculate coefficient based on radius taustick=yield/1.73; tauslide=uf*pressure; qs1=0.67*3.14*w*taustick*(rshoulder*rshoulder*rsho ulder- rpin*rpin*rpin); //calculate heat based on radius ql1=0.67*3.14*w*tauslide*(rshoulder*rshoulder*rsho ulder- rpin*rpin*rpin); //calculate heat based on radius qtotal=sigma*(qs1)+(1-sigma)*(ql1); // calculate total heat hflux=(qtotal/4847)*1.7e+010; //calculate heat flux to be applied (based on qtotal) F_PROFILE(f,thread,position) = hflux; //apply heat flux to the face } end_f_loop(f,thread) } Guys, please help me to figure out why the heat flux is not being applied to all the faces of the tool shoulder. https://drive.google.com/drive/folde...Fm?usp=sharing |
|
![]() |
![]() |
![]() |
![]() |
#2 |
New Member
Mahesh
Join Date: Aug 2020
Posts: 1
Rep Power: 0 ![]() |
Hi farhanjaved,
I am also trying to develop a CFD model for FSW. Could you please explain how to arrive at these expressions of contact state variable "del" and friction coefficient "mu"? (Or any supporting theory for these two expressions) sigma=0.31*exp(w*r/1.87)-0.026; //calculate coefficient based on radius uf=0.5*exp(-sigma*w*r); //calculate coefficient based on radius Please help !! |
|
![]() |
![]() |
![]() |
Tags |
fluent, heat flux, position dependent, udf |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Fluent in Ansys Workbench : Change Working Directory | sral | FLUENT | 4 | March 29, 2019 10:29 |
Ansys Fluent 17 UDF Velocity Profile Update. | Phil-M | Fluent UDF and Scheme Programming | 4 | October 17, 2016 09:05 |
How to combine ANSYS Fluent and Structural analysis? | diwakar | ANSYS | 2 | June 18, 2015 12:07 |
Ansys FLUENT UDF - Velocity profile (of known values) across edge / surface | emmkell | Fluent UDF and Scheme Programming | 2 | October 21, 2011 13:12 |
Ansys FLUENT UDF - Velocity profile (of known values) across edge / surface | emmkell | FLUENT | 0 | October 20, 2011 07:37 |