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/)
-   -   【Help me!】AMI interferes with particles. (https://www.cfd-online.com/Forums/openfoam-solving/240868-help-me-ami-interferes-particles.html)

Issei Omura January 28, 2022 01:48

【Help me!】AMI interferes with particles.
 
1 Attachment(s)
This is my first post.
I created a MPPICInterDyMfoam solver as well as the following link to do particle calculations in two-phase, dynamicMesh.
https://t.co/ao5gNCVlDE

Since rotating the propeller at 300 rpm creates an upward flow, we wanted to see how the particles would be swept upward, so we ran the calculations. However, the particles only rotated in place and did not go upward. We think the reason is that the AMI is probably stopping the particles from moving. Images (AMI) and movies are attached.
Attachment 88152https://drive.google.com/file/d/1aQ2...ew?usp=sharing

The steps to follow are in this order.
surfaceFeatureExtract, blockMesh, snappyHexMesh -overwrite, createBaffles -overwrite, mergeOrSplitBaffles -split -overwrite, cp -r 0.orig 0 ,setFields, MPPICInterDyMFoam

This is a constant link.
https://drive.google.com/drive/folde...ND?usp=sharing


This is a system link.
https://drive.google.com/drive/folde...Em?usp=sharing

I would appreciate it if you could tell me if I need to create a new solver or if I need to change some settings. Thank you very much.

amolganjare@gmail.com January 30, 2022 22:56

Have you tried to solve the flow first and then inject particles?
Try once and let me know if any particles move in upward direction.

Issei Omura January 31, 2022 07:06

Quote:

Originally Posted by amolganjare@gmail.com (Post 821258)
Have you tried to solve the flow first and then inject particles?
Try once and let me know if any particles move in upward direction.

Thanks for the reply.
“Have you tried to solve the flow first and then inject particles?”
Sorry,What does this mean?

amolganjare@gmail.com January 31, 2022 10:24

Do not turn on the injection untill your flow is developed.
Once the flow profile is developed. Then switch on the injection. This can be done by controlling TOI or changing no of parcel to 0 for stage 1 of developing flow and then change it to actual no of parcel.

Issei Omura February 1, 2022 22:28

1 Attachment(s)
Quote:

Originally Posted by amolganjare@gmail.com (Post 821280)
Do not turn on the injection untill your flow is developed.
Once the flow profile is developed. Then switch on the injection. This can be done by controlling TOI or changing no of parcel to 0 for stage 1 of developing flow and then change it to actual no of parcel.

Thanks for the advice.
I changed the SOI of "constant/kinematicCloudProperties" to 0.8 and analyzed it.
However, the result did not change.
Here is an image of the flow after 0.8 seconds and a video of the whole thing.
Attachment 88215
https://drive.google.com/file/d/1Q0H...ew?usp=sharing
In the downward flow, there is no AMI in the way, so the particles do flow.

amolganjare@gmail.com February 1, 2022 23:20

Can you share your kinematicCloudProperties file?
Also run the flow simulation untill the flow profile is generated in all of the domain.

Issei Omura February 1, 2022 23:47

Quote:

Originally Posted by amolganjare@gmail.com (Post 821387)
Can you share your kinematicCloudProperties file?
Also run the flow simulation untill the flow profile is generated in all of the domain.

OK.
The link of kinematicCloudProperties
https://drive.google.com/file/d/1_Zn...ew?usp=sharing
Are you able to view it?

Sorry,I don't know what to do.

Issei Omura February 4, 2022 21:54

Quote:

Originally Posted by amolganjare@gmail.com (Post 821387)
Can you share your kinematicCloudProperties file?
Also run the flow simulation untill the flow profile is generated in all of the domain.

Hi!
I have sent you a private message via CFDforum.
Please confirm.

Issei Omura February 4, 2022 22:06

Quote:

Originally Posted by amolganjare@gmail.com (Post 821387)
Can you share your kinematicCloudProperties file?
Also run the flow simulation untill the flow profile is generated in all of the domain.

It sent me"What is your problem statement?".

Are you not able to send a message?

I sent the following statement.

"Thank you for your kind attention.
I am a college student and have been using openfoam for a few months now. So, I don't have a lot of knowledge.

I have a question about step 1.
What is "iterations"? Is it some kind of setting?
Also, since step 1 doesn't use particles, can I use pimpleFoam, interFoam, etc. which have nothing to do with particles to analyze it?"

Fouch February 6, 2022 04:46

Hi,


If I well understand, the particles rebound on the AMI ?


This could be because the default behavior you programmed is "rebound" :


Extract of your file :


Code:

    patchInteractionModel standardWallInteraction;

    standardWallInteractionCoeffs
    {
        type        rebound;    //  stick, escape
        e          0.6;        //  elasticity coeff
        mu          0.09;      //  tan coeff
        UrMax      1e-4;      //  relative U of particle after collision
                                //  bellow which the particle is considered
                                //  at the same U as the patch and deleted
    }

What I use in my code :



Code:

patchInteractionModel localInteraction;

    localInteractionCoeffs
    {
        patches
        (
            "(wall)"
            {
                type rebound;
                e    1;  // normal restitution coefficient
                mu  0;  // tangential friction
            }       

            "inlet"
            {
                type rebound;
                e    1;  // normal restitution coefficient
                mu  0;  // tangential friction
            }
            "outlet"
            {
                type escape;
            }
            "(AMI1|AMI2)"
            {
                type none;
            }
        );
    }


Issei Omura February 8, 2022 06:20

Thanks for your reply.
I edited the kinematicCloud properties as you said.
However, the result was the same.

This is my kinematicCloudProperties

Code:

   
/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  plus                                  |
|  \\  /    A nd          | Web:      www.OpenFOAM.com                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    location    "constant";
    object      particleProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solution
{
    active          true;
    coupled        true;
    transient      yes;
    cellValueSourceCorrection off;
    maxCo          0.3;

    averagingMethod dual;

    sourceTerms
    {
        schemes
        {
            U      semiImplicit 1;
        }
    }

    interpolationSchemes
    {
        rho            cell;
        U              cellPoint;
        mu              cell;
        rho            cell;
        gradAlpha      cell;
    }

    integrationSchemes
    {
        U              Euler;
    }
}

constantProperties
{
    rho0            1000;
    alphaMax        0.999;
}

subModels
{
    particleForces
    {
        sphereDrag;
        gravity;
        interface
        {
            C            -10;
            alpha        alpha.water;
        }
    }

    injectionModels
    {
        model1
        {
            type            manualInjection;
            massTotal      0;
            parcelBasisType fixed;
            nParticle      1;
            SOI            0;
            positionsFile  "kinematicCloudPositions";
            U0              (0 0 0);
            sizeDistribution
            {
                type        fixedValue;
                fixedValueDistribution
                {
                    value  0.001;
                }
            }
        }
    }

    dispersionModel none;

    patchInteractionModel localInteraction;

    localInteractionCoeffs
    {
        patches
        (
            "walls"
            {
                type        rebound; 
                e          0.6;     
                mu          0.09;     
            }
            "outlet"
            { 
                type        rebound; 
                e          0.6;     
                mu          0.09;     
            }
            "shaft"
            {
                type        rebound; 
                e          0.6;     
                mu          0.09;     
            }
            "rotorBlades"
            {
                type        rebound; 
                e          0.6;     
                mu          0.09;     
            }
            "(AMI1|AMI2)"
            {
                type        none;
            }
        );     
    }

    heatTransferModel none;

    surfaceFilmModel none;

    stochasticCollisionModel none;

    packingModel explicit;

    explicitCoeffs
    {
        particleStressModel
        {
            type        HarrisCrighton;
            alphaPacked 0.6;
            pSolid      8.0;
            beta        2;
            eps        1.0e-7;
        }
        correctionLimitingMethod
        {
            type        absolute;
            e          0.7;
        }
    }

    dampingModel none;

    relaxationCoeffs
    {
        timeScaleModel
        {
            type        isotropic;
            alphaPacked 0.6;
            e          0.88;
        }
    }

    isotropyModel none;
}


cloudFunctions
{}


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

Here is a video.
https://drive.google.com/file/d/1bxy...ew?usp=sharing

Issei Omura February 9, 2022 21:10

Setting the AMI type to none did not change the result. Is there some other setting that is wrong?

Fouch February 10, 2022 00:57

Good morning Issei,

I am sorry but I don't have other idea...

JulioPieri February 10, 2022 16:32

Where are your AMI patches? Are the particle sticking to the AMI patches? Do you actually have flux through it, i.e. from the exterior into the DyM zone? From the pictures, it seems that only the interior of the actuator zone is moving, while the exterior have just tangential velocity. If that's the case, your particles won't have any axial flow to follow. The kinematicCloudProperties file seems ok to me; it should work... It might be just following a possibly wrong flow.

As an alternative, you could try using recycleInteraction: it re-introduces the particles from one patch to another. I'm not sure if it preserves velocity and other parameters.

Lastly, does your patches need _slave and _master, like AMI1_master and AMI2_slave, etc? You could try using those patches if so.

Issei Omura February 11, 2022 04:22

2 Attachment(s)
Thanks for your reply.
The initial positioning of the AMI, propeller and particles is as shown in the picture.
Attachment 88325

The particles are below the AMI and not in contact with the AMI.
How do you check the inflow into the DyM zone from the outside? By the way, the velocity of the flow after 2 seconds is shown in the following picture.
Attachment 88326

If you rotate the propeller in the opposite direction, the flow will be downward. Since there is no AMI obstruction there, the particles will move downward. If the flow is upward, the particles will be obstructed by AMI.

I would like to look into the recycleInteraction.

I am currently creating AMI1 and AMI2, what happens if I create master and slave? What are the implications?

JulioPieri February 14, 2022 09:13

I checked your domain in paraview, and it seems that your AMI1 and AMI2 patches are superimposed. I don't see the point of applying such condition to internal patches, as they are located inside your domain. Maybe it's to use in the DyM? Can't you just use a cellZone for that?

Also, none of the patches available contain the "wall" that the particles are hitting. What was the intention with the AMI patches? Is your "rotatingZone" cellZone closed?

I'm not sure I understood your problem correctly, but I'd suggest you rethink your patching. The "none" option in the localInteraction should work.

Issei Omura February 14, 2022 20:29

My solver is based on tutrials/compressible/rhoPimpleFoam/RAS/annularThermalMixer. I found AMI1 and AMI2 in the createBaafflesDict and used them as is. So I don't really know what they mean. Also, the AMI of pimoleFoam/RAS/propeller was not completely closed, so my AMI is not closed either.
What would be a possible configuration to rethink the patch, for example?

JulioPieri April 5, 2022 08:17

Sorry for the delay. You might have figured out your problema already, but AMI stands for arbitrary mesh interface. It is therefore used for interfaces between mesh regions, or coupling patches. Usually it needs a master and a slave patch (one for each side of the region), but I'm not familiar with using AMI inside the domain, only at BCs.

This means that the propeller region is treated differently from the outer region, and the AMI1/AMI2 patches are the boundaries between these two regions. I can't dig into the case for now, but I'd say is either a limitation of lagrangian particles or you have to tell it that it can cross to different regions. Sorry for not being able to help much.


All times are GMT -4. The time now is 22:33.