CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

rotatingMotion: omega too low

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 23, 2018, 07:10
Default rotatingMotion: omega too low
  #1
Senior Member
 
kandelabr's Avatar
 
Nejc
Join Date: Feb 2017
Location: Slovenia
Posts: 196
Rep Power: 9
kandelabr is on a distinguished road
In my dynamicMeshDict I have defined the following:

Code:
...
#include "variables"
...
motionSolver solidBody;

cellZone        impeller;
solidBodyMotionFunction  rotatingMotion;
rotatingMotionCoeffs
{
    origin        (0 0 0);
    axis          (1 0 0);
    omega         $vOmegaRotating; // rad/s
}
where vOmegaRotating is defined in constant/variables:
Code:
vRpm             3700.0; // revolutions per minute
vOmegaRotating   #calc "$vRpm * 2.0 * 3.14159 / 60.0";
Therefore, cellZone impeller should be rotating with 387.5 rad/s.

I chose a point on the edge of impeller and took its coordinates for the last 20 timesteps. Divided by timestep, I get 372 rad/s. The python script is below.

Does anyone have an idea what would be wrong with my setup?
Can I print out the value calculated with #calc "" function?

Thanks!

Code:
# -*- coding: utf-8 -*-
"""
Created on Thu Aug 23 11:54:56 2018

@author: jnejc
"""

import numpy as np

def unit_vector(vector):
    """ Returns the unit vector of the vector. """
    return vector / np.linalg.norm(vector)

def angle_between(v1, v2):
    """ Kudos: https://stackoverflow.com/questions/2827393/

    Returns the angle in radians between vectors 'v1' and 'v2':
    
    >>> angle_between((1, 0, 0), (0, 1, 0))
    1.5707963267948966
    >>> angle_between((1, 0, 0), (1, 0, 0))
    0.0
    >>> angle_between((1, 0, 0), (-1, 0, 0))
    3.141592653589793
    """
    v1_u = unit_vector(v1)
    v2_u = unit_vector(v2)

    return np.arccos(np.clip(np.dot(v1_u, v2_u), -1.0, 1.0))

def vector(x, y, z):
    return np.array([x, y, z])

# point id = 52515

positions = [
        vector(-0.00611921, 0.00777754, -0.019457),
        vector(-0.00611921, 0.0137424, -0.0158181),
        vector(-0.00611921, 0.0145818, -0.0150478),
        vector(-0.00611921, 0.0153579, -0.0142548),
        vector(-0.00611921, 0.0160918, -0.0134208),
        vector(-0.00611921, 0.0174789, -0.0115565),
        vector(-0.00611921, 0.0189125, -0.00902112),
        vector(-0.00611921, 0.0199236, -0.00648966),
        vector(-0.00611921, 0.0205293, -0.00419667),
        vector(-0.00611921, 0.0208551, -0.00203244),
        vector(-0.00611921, 0.020952, 0.000283341),
        vector(-0.00611921, 0.0207245, 0.00309213),
        vector(-0.00611921, 0.0201434, 0.00577128),
        vector(-0.00611921, 0.0192372, 0.00830631),
        vector(-0.00611921, 0.0180004, 0.0107261),
        vector(-0.00611921, 0.0163262, 0.0131347),
        vector(-0.00611921, 0.0143235, 0.0152938),
        vector(-0.00611921, 0.0120302, 0.0171563),
        vector(-0.00611921, 0.00936239, 0.0187459),
        vector(-0.00611921, 0.00628985, 0.0199876),
        vector(-0.00611921, 0.0039477, 0.0205786)
        ]


times = [
        0.0162497,
        0.01711435,
        0.01725469,
        0.01739138,
        0.01752823,
        0.01781459,
        0.01817363,
        0.01850961,
        0.01880188,
        0.01907158,
        0.01935721,
        0.01970456,
        0.02004247,
        0.02037429,
        0.02070925,
        0.02107084,
        0.02143386,
        0.02179805,
        0.02218091,
        0.02258951,
        0.0228872,
        ]

omegas = []
rpms = []

for i in range(1, len(positions)):
    angle = angle_between(positions[i-1], positions[i])

    omega = angle/(times[i-1] - times[i])
    rpm = omega/(2*np.pi)*60
    
    omegas.append(omega)
    rpms.append(rpm)
kandelabr is offline   Reply With Quote

Reply


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 Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Behaviour of the kOmegaSST in a steady-state case Max1234 OpenFOAM Running, Solving & CFD 18 October 31, 2018 08:03
RSM low Re Stress - Omega convergence issues Jonathan FLUENT 1 April 20, 2016 05:33
Low Re stress Omega Reynolds stress model help ryancfd7 FLUENT 0 March 1, 2014 17:10
low reynolds k omega / wall functions stawrogin OpenFOAM 1 March 30, 2011 06:04
Multicomponent fluid Andrea CFX 2 October 11, 2004 05:12


All times are GMT -4. The time now is 21:23.