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

VIV of cylinder using pimpleDyMFoam

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 1 Post By wyldckat
  • 1 Post By pepechispita

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 8, 2014, 23:35
Default VIV of cylinder using pimpleDyMFoam
  #1
Senior Member
 
Join Date: Jan 2013
Posts: 134
Rep Power: 13
kkpal is on a distinguished road
Dear all, currently I'm modifying the wingMotion case in the tutorial to a 2D circular cylinder. The main work in the modification lies in the pointDisplacement file. The cylinder is supposed to vibrate only in the y-axis(due to lift force). So I used the following lines:
Code:
constraints
        {
            maxIterations   500;

            fixedLine1
            {
                sixDoFRigidBodyMotionConstraint fixedLine;
                tolerance        1e-9;
                relaxationFactor 0.7;
                fixedLineCoeffs
                {
                    refPoint      (0 0 0.025);
                    direction     (0 1 0);
                }
            }



            
        }
        restraints
        {
            verticalSpring
            {
                sixDoFRigidBodyMotionRestraint linearSpring;

                linearSpringCoeffs
                {
                    anchor          (0 0 0.025);
                    refAttachmentPt (0 0 0.025);
                    stiffness       6;
                    damping         0.1;
                    restLength      0;
                }
            }

        }
The simulation could proceed however I kept getting error message in each timestep saying things like this: "Constraint fixedLine1 error (0.000620122258 0 0) force (-0.0489759093 -0 -0) moment (0 0 0) not converged".
What does this message mean??
kkpal is offline   Reply With Quote

Old   December 27, 2014, 11:38
Default
  #2
Senior Member
 
Join Date: Jan 2013
Posts: 134
Rep Power: 13
kkpal is on a distinguished road
HI!

In my cylinder VIV simulations with just one degree of freedom, there were no problem. However, when I extended my case to 2DOF(in-line motion and transverse motion, both translational), namely, adding one more fixedLine constraints and one more linearspring to the one-degree-of-freedom case, the cylinder became static!!

Why is this happening? could someone please explain?

Here is my pointDisplacement for the 2DOF case:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.2.2                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       pointVectorField;
    location    "0.01";
    object      pointDisplacement;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [0 1 0 0 0 0 0];

internalField   uniform (0 0 0);

boundaryField
{
    cylinder
    {
        type            sixDoFRigidBodyDisplacement;
        mass            1;
        centreOfMass    (0 0 0.025);
        momentOfInertia (0.125 0.125 0.0627);
        orientation
        (
            1 0 0
            0 1 0
            0 0 1
        );
        velocity        (0 0 0);
        acceleration    (0 0 0);
        angularMomentum (0 0 0);
        torque          (0 0 0);
        rhoName         rhoInf;
        rhoInf          1;
        g               (0 0 0);
        report          on;
        constraints
        {
            maxIterations   500;

           fixedLine1
            {
                sixDoFRigidBodyMotionConstraint fixedLine;
                tolerance        1e-9;
                relaxationFactor 0.7;
                fixedLineCoeffs
                {
                    refPoint      (0 0 0.025);
                    direction     (0 1 0);
                }
            }

          fixedLine2
            {
                sixDoFRigidBodyMotionConstraint fixedLine;
                tolerance        1e-9;
                relaxationFactor 0.7;
                fixedLineCoeffs
                {
                    refPoint      (0 0 0.025);
                    direction     (1 0 0);
                }
            }
        }
        restraints
        {
            S1
            {
                sixDoFRigidBodyMotionRestraint linearSpring;

                linearSpringCoeffs
                {
                    anchor          (0 0.5 0.025);
                    refAttachmentPt (0 0 0.025);
                    stiffness       1;
                    damping         0;
                    restLength      0.5;
                }
            }  

            S2
            {
                sixDoFRigidBodyMotionRestraint linearSpring;

                linearSpringCoeffs
                {
                    anchor          (0.5 0 0.025);
                    refAttachmentPt (0 0 0.025);
                    stiffness       1;
                    damping         0;
                    restLength      0.5;
                }
            }      
        }
        value           uniform (0 0 0);
    }

    front
    {
        type            empty;
    }

    back
    {
        type            empty;
    }

     ".*"
     {
         type            fixedValue;
         value           uniform (0 0 0);
     }
}


// ************************************************************************* //
kkpal is offline   Reply With Quote

Old   December 30, 2014, 11:18
Default
  #3
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings kkpal,

I've moved your second post from the other thread where you had posted on: http://www.cfd-online.com/Forums/ope...ic-mesh-4.html - I moved it so that the discussions wouldn't overlap and become too confusing on who was answering to whom.

I had somewhat detailed look at your description and file. From what I can figure out, the problem is that it's only "static" because it appears to be static, but it does not mean that it won't move if more force is applied to it.

My advice, is that you describe in detail the full case set-up and what exact commands you are using, because the problem seems to me to be something related to a very small detail that you're overlooking.

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   January 12, 2015, 10:06
Default
  #4
Senior Member
 
Join Date: Jan 2013
Posts: 134
Rep Power: 13
kkpal is on a distinguished road
Dear Bruno:
Thank you for your kind help.

After several trials I changed the constraint from two fixedLines to fixedPlane and the problem was solved.

One other thing, I found there are some differences between the implementation of the stiffness k in OpenFOAM and in some other papers. In related literature, the stiffness k is specified directly in x and y directions, with constant values. However, in OF, the stiffness is defined by the spring, which has an anchor point and an attachment point. In this way, a initially vertically placed spring could also account for the horizontal motion. The mechanism is shown below.

The initial length of the spring is l0, the horizontal displacement of the cylinder is delta_x, so the elongation of the spring is calculated by delta_l=sqrt(l0^2+delta_x^2)-l0, thus the force in the spring is F=k*delta_l. The force could be decomposed into x and y direction. In this case, the effective stiffness of the spring is no longer a constant.

If one aims to simulate 1 DOF problem of cylinder viv, it is no problem since one only needs to place the spring along the direction of motion. It is also OK to simulate 2 DOF problems whose x and y directional stiffness are the same, in this case one needs to place one spring in the center of the cylinder(anchor point and attachment point are both in the center of mass, thus the components of the spring force is equivalent to having two springs in both x and y directions).The problem arises when one want to simulate 2 DOF problems with different stiffness constants k in x and y directions. Because of the mentioned reason, the effective stiffness k in both x and y directions will not keep unchanged during the cylinder motion.


Quote:
Originally Posted by wyldckat View Post
Greetings kkpal,

I've moved your second post from the other thread where you had posted on: http://www.cfd-online.com/Forums/ope...ic-mesh-4.html - I moved it so that the discussions wouldn't overlap and become too confusing on who was answering to whom.

I had somewhat detailed look at your description and file. From what I can figure out, the problem is that it's only "static" because it appears to be static, but it does not mean that it won't move if more force is applied to it.

My advice, is that you describe in detail the full case set-up and what exact commands you are using, because the problem seems to me to be something related to a very small detail that you're overlooking.

Best regards,
Bruno
Attached Images
File Type: jpg ?????.JPG (19.3 KB, 78 views)

Last edited by wyldckat; January 18, 2015 at 05:59. Reason: merged accidental double-posts
kkpal is offline   Reply With Quote

Old   January 18, 2015, 06:20
Default
  #5
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Hi kkpal,

Quote:
Originally Posted by kkpal View Post
One other thing, I found there are some differences between the implementation of the stiffness k in OpenFOAM and in some other papers. In related literature, the stiffness k is specified directly in x and y directions, with constant values. However, in OF, the stiffness is defined by the spring, which has an anchor point and an attachment point. In this way, a initially vertically placed spring could also account for the horizontal motion. The mechanism is shown below.
The authors of OpenFOAM try to keep things as general as possible, while giving the freedom to do anything one may want to do, but also efficiently coded. If they were to hard-code things for specific situations, there would be a lot of variants of the same implementation... which is hard to maintain.

Quote:
Originally Posted by kkpal View Post
The initial length of the spring is l0, the horizontal displacement of the cylinder is delta_x, so the elongation of the spring is calculated by delta_l=sqrt(l0^2+delta_x^2)-l0, thus the force in the spring is F=k*delta_l. The force could be decomposed into x and y direction. In this case, the effective stiffness of the spring is no longer a constant.
I'm not sure I'm following correctly your idea. From what I see in OpenFOAM's code, it tries to keep it general enough to make the spring work properly along the direction it's working on, regardless of the changes in direction. In other words, the stiffness should always work along the direction between the anchor point and attachment point, including when those points change positions.

Quote:
Originally Posted by kkpal View Post
If one aims to simulate 1 DOF problem of cylinder viv, it is no problem since one only needs to place the spring along the direction of motion. It is also OK to simulate 2 DOF problems whose x and y directional stiffness are the same, in this case one needs to place one spring in the center of the cylinder(anchor point and attachment point are both in the center of mass, thus the components of the spring force is equivalent to having two springs in both x and y directions).The problem arises when one want to simulate 2 DOF problems with different stiffness constants k in x and y directions. Because of the mentioned reason, the effective stiffness k in both x and y directions will not keep unchanged during the cylinder motion.
I had to look up what you meant by VIV... apparently it's this: http://en.wikipedia.org/wiki/Vortex-induced_vibration - I was actually thinking about a cylinder inside a stroke engine... because of the V configuration: http://en.wikipedia.org/wiki/V_engine

OK, the detail I find cute about papers is that they have to summarize (and many times omit) a ton of principles that are important for the simulation to be accurately performed and/or reproduced. I say (write) this because the papers do not necessarily have the fully realistic implementation, they might only have a simplified implementation. Which reminds me, on the other thread, in post #75, you can now find 3 possible implementations of this experiment: http://www.cfd-online.com/Forums/ope...tml#post525732

Going back to your question/issue, I have to ask you: if we ignore completely OpenFOAM's implementation, and focus on the real laboratory experiment, then what is the exact set-up you envision? Namely, how should the stiffness be physically imposed?
I ask this because I'm not fully familiar with these VIV experiments, but if you can explain how the case should physically be set-up, then I should be able to translate it to OpenFOAM's point of view.

Best regards,
Bruno
maasyraf3 likes this.
wyldckat is offline   Reply With Quote

Old   April 3, 2017, 11:35
Default VIV for two cylinders in tandem
  #6
New Member
 
M. Amirul
Join Date: Mar 2017
Location: Malaysia
Posts: 18
Rep Power: 9
maasyraf3 is on a distinguished road
Hi guys - currently i am doing the viv for two cylinders in tandem.

I did quite OK with one cylinder , using pimpleDyMFoam with dynamic meshing...but fot two cylinders in tandem orientation, what the main thing to be changed?

Because the simulation does not work..

Regards - Thankssss
__________________
Best Regards,
maasyraf3
maasyraf3 is offline   Reply With Quote

Old   May 5, 2018, 21:12
Exclamation Viv cylinder
  #7
New Member
 
José Manuel Jiménez Jimenez
Join Date: Apr 2018
Posts: 2
Rep Power: 0
pepechispita is on a distinguished road
I have a project of vortex induce vibrations (cylinder). One of this is a cylinder with RAS turbulence for Re > 300 and another with Laminar turbulence for Reynolds 40<Re<300. But if you want simulate this case for other Reynolds Re< 40 you can use the RAS case but you have to chanthe de turbulence off.

I'm new in this forum. Student of aerospace engineering. :RE
Attached Files
File Type: zip 1cilindro1.zip (10.8 KB, 97 views)
umangp44 likes this.
pepechispita is offline   Reply With Quote

Old   May 6, 2018, 13:56
Post Viv
  #8
New Member
 
José Manuel Jiménez Jimenez
Join Date: Apr 2018
Posts: 2
Rep Power: 0
pepechispita is on a distinguished road
I forgot this text file to run de VIV simulation. Sorry this text file is in Spanish.
Please read it before the simulation.
:Rodar los ojos:
Attached Files
File Type: zip CILINDRO ESTACIONARIO.zip (902 Bytes, 81 views)
pepechispita is offline   Reply With Quote

Old   November 5, 2020, 20:50
Default Different stiffness for x and y directions
  #9
New Member
 
Ze Shao
Join Date: Apr 2019
Posts: 4
Rep Power: 7
sz617896964 is on a distinguished road
Quote:
Originally Posted by kkpal View Post
Dear Bruno:
Thank you for your kind help.

After several trials I changed the constraint from two fixedLines to fixedPlane and the problem was solved.

One other thing, I found there are some differences between the implementation of the stiffness k in OpenFOAM and in some other papers. In related literature, the stiffness k is specified directly in x and y directions, with constant values. However, in OF, the stiffness is defined by the spring, which has an anchor point and an attachment point. In this way, a initially vertically placed spring could also account for the horizontal motion. The mechanism is shown below.

The initial length of the spring is l0, the horizontal displacement of the cylinder is delta_x, so the elongation of the spring is calculated by delta_l=sqrt(l0^2+delta_x^2)-l0, thus the force in the spring is F=k*delta_l. The force could be decomposed into x and y direction. In this case, the effective stiffness of the spring is no longer a constant.

If one aims to simulate 1 DOF problem of cylinder viv, it is no problem since one only needs to place the spring along the direction of motion. It is also OK to simulate 2 DOF problems whose x and y directional stiffness are the same, in this case one needs to place one spring in the center of the cylinder(anchor point and attachment point are both in the center of mass, thus the components of the spring force is equivalent to having two springs in both x and y directions).The problem arises when one want to simulate 2 DOF problems with different stiffness constants k in x and y directions. Because of the mentioned reason, the effective stiffness k in both x and y directions will not keep unchanged during the cylinder motion.
Hi Kkpal,

I have tried to place two springs with the same stiffness in x and y directions separately, i.e (-0.5 0 0.5) and (0 0.5 0.5). However, the result is not correct. I am trying to use only one spring placed at the centre of the cylinder as you mentioned.

If possible, would you please give some suggestions when placing two springs with different stiffness in x and y directions?

Thanks very much.

Kind regards,
Ze
sz617896964 is offline   Reply With Quote

Old   January 14, 2021, 04:11
Default VIV cylinder issue: Floating point exception
  #10
New Member
 
Join Date: Jan 2021
Posts: 1
Rep Power: 0
Christoph Xu is on a distinguished road
Quote:
Originally Posted by pepechispita View Post
I have a project of vortex induce vibrations (cylinder). One of this is a cylinder with RAS turbulence for Re > 300 and another with Laminar turbulence for Reynolds 40<Re<300. But if you want simulate this case for other Reynolds Re< 40 you can use the RAS case but you have to chanthe de turbulence off.

I'm new in this forum. Student of aerospace engineering. :RE
Hi, Pepechispita,

I tried using your "cilindro1" case, but I met the floating point excepetion. I used OpenFOAM 8, and only changed the solver from pimpleDyMFoam to pimpleFoam since pimpleDyMFoam is not supported in this version. I am new in CFD, anc could you help figure out the reason. Thank you in advance.
Attached Files
File Type: txt Err.txt (4.2 KB, 5 views)
Christoph Xu 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
how to simulate a VIV of the cylinder in a fluid domian use rigid body solution? Mal CFX 13 April 14, 2014 13:44
Negative volumes when using UDF in VIV in a cylinder w-coche Fluent UDF and Scheme Programming 4 October 19, 2012 07:25
Turbulence model / Boundary layers on a cylinder (VIV with 2DOF) peatmac FLUENT 3 April 16, 2012 14:23
VIV of a cylinder at Re=120 ojha.mayank485 CFX 7 June 12, 2011 09:09
how to know the cylinder vibration in viv natto FLUENT 1 May 23, 2011 20:41


All times are GMT -4. The time now is 00:54.