CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   VIV of cylinder using pimpleDyMFoam (https://www.cfd-online.com/Forums/openfoam-solving/142765-viv-cylinder-using-pimpledymfoam.html)

kkpal October 8, 2014 23:35

VIV of cylinder using pimpleDyMFoam
 
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 December 27, 2014 11:38

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!!:confused::confused:

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);
    }
}


// ************************************************************************* //


wyldckat December 30, 2014 11:18

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

kkpal January 12, 2015 10:06

1 Attachment(s)
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 (Post 525578)
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 January 18, 2015 06:20

Hi kkpal,

Quote:

Originally Posted by kkpal (Post 527162)
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 (Post 527162)
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 (Post 527162)
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 April 3, 2017 11:35

VIV for two cylinders in tandem
 
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:confused:

pepechispita May 5, 2018 21:12

Viv cylinder
 
1 Attachment(s)
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

pepechispita May 6, 2018 13:56

Viv
 
1 Attachment(s)
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:

sz617896964 November 5, 2020 20:50

Different stiffness for x and y directions
 
Quote:

Originally Posted by kkpal (Post 527162)
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

Christoph Xu January 14, 2021 04:11

VIV cylinder issue: Floating point exception
 
1 Attachment(s)
Quote:

Originally Posted by pepechispita (Post 691370)
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.


All times are GMT -4. The time now is 02:48.