<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<div><br>
</div>
Hi Ravi,
<div><br>
</div>
<div>I have a couple of ideas about this - but they likely need some development.</div>
<div><br>
</div>
<div>Can you contact me off-list?<br>
<br>
Paul Fischer</div>
<div><br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF584073" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> nek5000-users-bounces@lists.mcs.anl.gov [nek5000-users-bounces@lists.mcs.anl.gov] on behalf of nek5000-users@lists.mcs.anl.gov [nek5000-users@lists.mcs.anl.gov]<br>
<b>Sent:</b> Sunday, June 22, 2014 4:55 PM<br>
<b>To:</b> nek5000-users@lists.mcs.anl.gov<br>
<b>Subject:</b> [Nek5000-users] Fluid-structure interaction setup<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">
<p class="MsoNormal">Dear NEK Users, <br>
</p>
<p class="MsoNormal"><br>
</p>
<p class="MsoNormal">I need some help in modelling fluid-structure using NEK5000. Based on the inputs from mailing list, I am able to extract the forces on a cylinder in laminar flow.</p>
<p class="MsoNormal"><br>
</p>
<p class="MsoNormal">The physical problem I am trying to model is vortex-induced vibration (VIV) of a circular cylinder.
<span> </span>I will be restricting the motion of cylinder to be only along cross flow direction, driven by the lift,</p>
<p class="MsoNormal"><br>
</p>
<p class="MsoNormal">F_L = dragy(1)<span>   </span>--------------------------------(1)</p>
<p class="MsoNormal"><br>
</p>
<p class="MsoNormal">My next step is to use the lift force to solve dynamics of the cylinder using:</p>
<p class="MsoNormal"><br>
</p>
<p class="MsoNormal">M ddy + C dy + K y = F_L --------------------(2)</p>
<p class="MsoNormal"><br>
</p>
<p class="MsoNormal">I am asking my questions first; please find additional details below the questions.</p>
<p><span><span>1.<span style="font:7pt "Times New Roman"">       </span></span></span>Q1. How can I assign the mesh velocity only to the portion of boundary with identifier ‘mv’ in *.rea file?</p>
<p style="text-indent:0.5in"><span> </span>In my pseudo code and program structure of *.usr file below, I tried to assign mesh velocity by calling a subroutine
<span> </span>in ‘u_meshv’ within the subroutine ‘userbc’ by following the ocyl.usr example. If I do so, my cylinder dynamics is being called for each node, since ‘usrbc’ is called for each node. I would like to avoid this, since I would like to compute cylinder
 dynamics only once per time step and assign the resulting velocity to moving boundary.</p>
 <span><span>Q2.<span style="font:7pt "Times New Roman"">   </span></span></span>How can I get the lift force for each time-step?
<br>
   Currently, I am calling the ‘torque_calc’ in ‘userchk’ and using the common block ‘common /ctorq/’ in all the subroutine that I need the lift force for further computation.<br>
<br>
<p class="MsoNormal"><br>
</p>
<p class="MsoNormal">My program setup:</p>
<p class="MsoNormal"><br>
</p>
<p class="MsoNormal">I am using the moving cylinder examples from the NEK5000 examples ‘ocyl’ and adding/modifying subroutines to accomplish solution of the cylinder coupled with fluid & mesh motion solution in a staggered fashion. I am providing my pseudo-code/code
 snippet to illustrate my approach. </p>
<p><span><span>1.<span style="font:7pt "Times New Roman"">       </span></span></span>I will call the u_meshv from the userbc subroutine to set the mesh velocity on the moving boundary.</p>
<p class="MsoNormal">***************************** usrbc*******************************</p>
<p class="MsoNormal">subroutine usrbc</p>
<p class="MsoNormal">…</p>
<p class="MsoNormal">…</p>
<p class="MsoNormal"><span>  </span>if (x .lt. -1.1) then</p>
<p class="MsoNormal"><span>        </span>ux=1</p>
<p class="MsoNormal"><span>        </span>uy=0.</p>
<p class="MsoNormal"><span>        </span>uz=0.</p>
<p class="MsoNormal"><span>     </span>else</p>
<p class="MsoNormal"><span>        </span>call u_meshv(ux,uy,uz,x,y,z)</p>
<p class="MsoNormal"><span>    </span>endif</p>
<p class="MsoNormal">***************************** **********************************</p>
<p class="MsoNormal"> </p>
<p><span><span>2.<span style="font:7pt "Times New Roman"">      </span></span></span>In u_meshv, I will call a subroutine to ‘cyl_dynamics’ which will solve the second-order differential equation (2) above for acceleration, velocity, and displacement (an, vn,
 dn at nth time step and an1, vn1, dn1 at (n+1)th time step). </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">*************************u_meshv*******************************</p>
<p class="MsoNormal"><span> </span>subroutine u_meshv(ux,uy,uz,x,y,z)</p>
<p class="MsoNormal">…</p>
<p class="MsoNormal"><span> </span>common /cyldyn/<span>  </span>dn,vn,an,dn1,vn1,an1<span>  
</span></p>
<p class="MsoNormal">…</p>
<p class="MsoNormal">do FSI_ITR</p>
<p class="MsoNormal">call cyl_dynamics</p>
<p class="MsoNormal">if (cyl. Dynamics is in equilibrium with fluid dynamics) then</p>
<p class="MsoNormal">goto XXXX !<span>  </span>exit the loop</p>
<p class="MsoNormal">else </p>
<p class="MsoNormal">call cyl_dynamics</p>
<p class="MsoNormal">endif</p>
<p class="MsoNormal">**********************************************************</p>
<p class="MsoNormal">************************* cyl_dynamics *******************************</p>
<p class="MsoNormal">subroutine cyl_dynamics</p>
<p class="MsoNormal">…</p>
<p class="MsoNormal">common /cyldyn/<span>  </span>dn,vn,an,dn1,vn1,an1<span>   </span>
</p>
<p class="MsoNormal">…</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">c Code for calculation cylinder dynamics for a given F_L</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">**********************************************************</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Any help in implementing this fluid-structure interaction problem is much appreciated. If there is an example which performs such fluid-structure couple solution please let me know.
<span> </span>Please let me know if I need to provide any additional details to explain my problem.</p>
<br clear="all">
<br>
-- <br>
Ravi Kumar T R<br>
<br>
University of Illinois at Urbana-Champaign<br>
ph : +1 217 778 7538<br>
<a href="http://lndvl.mechse.illinois.edu/" target="_blank">http://lndvl.mechse.illinois.edu/</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>