# Boundary conditions for rotating reference frame

 User Name Remember Me Password
 Register Blogs Members List Search Today's Posts Mark Forums Read

 LinkBack Thread Tools Display Modes
 August 24, 2011, 07:54 Boundary conditions for rotating reference frame #1 New Member   Borna Obradovic Join Date: Aug 2011 Posts: 1 Rep Power: 0 Hi All, I'm a new OpenFOAM user and new to the community, so my apologies in advance if this is overly simple a question. I'm trying to simulate a rotating fan blade, using the single rotating frame approach. The results look wrong, and I suspect I'm missing something in the boundary conditions. My approach is the following 1. Modify icoFoam to include Coriolis and centrifugal terms (as discussed elsewhere in the Forums) as follows: dimensionedScalar angularVel(transportProperties.lookup("angularVel" )); dimensionedVector Omega("Omega", dimensionSet(0, 0, -1, 0, 0), vector(0, angularVel.value(), 0) ); volVectorField Fcent = (Omega ^ (Omega ^ mesh.C())); fvVectorMatrix UEqn ( fvm::ddt(U) + fvm::div(phi, U) - fvm::laplacian(nu, U) + (2*Omega ^ U) // Added Coriolis force + Fcent // Added centrifugal force ); 2. Geometry: My first testcase is just a cylindrical geometry which represents the bounding box of the simulation. It will eventually contain the fan geometry, but I wanted to verify the behavior on a very simple testcase. The cylinder axis is along "y", and is the axis of rotation. This is generated using blockMesh, and looks good. 3. Boundary conditions The "side" of the cylinder has a fixed pressure condition (arbitrary fixed value, incompressible flow), since I'm assuming that the cylinder boundary is far enough away from the future geometry in the center that it is essentially free stream. Given that it is observed from a rotating frame, it should be uniform along the cylinder boundary (right?) The top and bottom of the cylinder have zeroGradient pressure and velocity conditions. The velocity boundary condition on the side of the cylinder is set to slip - I'm trying to let the UEqn naturally set the velocity. The results are not at all what I expected. Setting a finite rotational velocity, I expected to find a rotational U field, azimuthally symmetric, linearly varying radially. Instead, I have zero velocity everywhere. Interestingly though, the pressure field looks qualitatively OK, azimuthally symmetric with radial variation roughly as expected (correct value at the boundary). Are my expectations incorrect? It seems to me that after adding the Coriolis and cent. terms, the "U" we are solving for is the velocity in the rotating frame, which should be non-zero. What am I missing with the BCs? BTW, the solution looks fully converged, many more steps taken than were actually required for convergence. Many thanks, Borna

August 24, 2011, 10:25
#2
New Member

Jianxi Yao
Join Date: Apr 2011
Posts: 17
Rep Power: 8
Quote:
 Originally Posted by Borna Hi All, I'm a new OpenFOAM user and new to the community, so my apologies in advance if this is overly simple a question. I'm trying to simulate a rotating fan blade, using the single rotating frame approach. The results look wrong, and I suspect I'm missing something in the boundary conditions. My approach is the following 1. Modify icoFoam to include Coriolis and centrifugal terms (as discussed elsewhere in the Forums) as follows: dimensionedScalar angularVel(transportProperties.lookup("angularVel" )); dimensionedVector Omega("Omega", dimensionSet(0, 0, -1, 0, 0), vector(0, angularVel.value(), 0) ); volVectorField Fcent = (Omega ^ (Omega ^ mesh.C())); fvVectorMatrix UEqn ( fvm::ddt(U) + fvm::div(phi, U) - fvm::laplacian(nu, U) + (2*Omega ^ U) // Added Coriolis force + Fcent // Added centrifugal force ); 2. Geometry: My first testcase is just a cylindrical geometry which represents the bounding box of the simulation. It will eventually contain the fan geometry, but I wanted to verify the behavior on a very simple testcase. The cylinder axis is along "y", and is the axis of rotation. This is generated using blockMesh, and looks good. 3. Boundary conditions The "side" of the cylinder has a fixed pressure condition (arbitrary fixed value, incompressible flow), since I'm assuming that the cylinder boundary is far enough away from the future geometry in the center that it is essentially free stream. Given that it is observed from a rotating frame, it should be uniform along the cylinder boundary (right?) The top and bottom of the cylinder have zeroGradient pressure and velocity conditions. The velocity boundary condition on the side of the cylinder is set to slip - I'm trying to let the UEqn naturally set the velocity. The results are not at all what I expected. Setting a finite rotational velocity, I expected to find a rotational U field, azimuthally symmetric, linearly varying radially. Instead, I have zero velocity everywhere. Interestingly though, the pressure field looks qualitatively OK, azimuthally symmetric with radial variation roughly as expected (correct value at the boundary). Are my expectations incorrect? It seems to me that after adding the Coriolis and cent. terms, the "U" we are solving for is the velocity in the rotating frame, which should be non-zero. What am I missing with the BCs? BTW, the solution looks fully converged, many more steps taken than were actually required for convergence. Many thanks, Borna

you can try the SimpleSRFFoam for you case.

 Tags bcs, rotating frame

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post ZKM OpenFOAM Installation 4 December 25, 2010 16:59 Sas CFX 15 July 13, 2010 08:56 Pankaj CFX 9 November 23, 2009 05:05 mactech001 CFX 6 November 15, 2009 22:25 bioman66 CFX 5 June 3, 2006 01:40

All times are GMT -4. The time now is 11:45.

 Contact Us - CFD Online - Privacy Statement - Top