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/)
-   -   CyclicAMI Issue In OpenFOAM 2.2.0 (https://www.cfd-online.com/Forums/openfoam-solving/114295-cyclicami-issue-openfoam-2-2-0-a.html)

prasant March 8, 2013 09:04

CyclicAMI Issue In OpenFOAM 2.2.0
 
Hello All,

I am facing an issue with cyclicAMI boundary condition for non-conformal meshes. I am solving impeller case. Impeller is Hexahedral mesh and volute is tetrahedralmesh. please find the details here:

s1-to-r1-side-2
{
type cyclicAMI;
nFaces 1008;
startFace 425571;
matchTolerance 0.001;
neighbourPatch s1-to-r1-side-1;
transform noOrdering;

}

s1-to-r1-side-1
{
type cyclicAMI;
nFaces 1926;
startFace 443357;
matchTolerance 0.001;
neighbourPatch s1-to-r1-side-2;
transform noOrdering;

}

The issue is, data is not transfering form these two patches. Like mass is not balancing and also giving very strange results. I am facing this issue with OpenFOAM last version. Current version is also having this issue. Its working fine with conformal meshes. But not with non-conformal meshes.

I checked this boundary conditon in OpenFOAM-1.6-Ext version. There approch is "ggi". ggi is working fine. Mass is balancing.

Any body Can suggest whether CyclicAMI with non conformal meshes will work in OpenFOAM or not?

Please reply....

Regards
Prasanth.

sharonyue March 9, 2013 08:26

Hi,
Is it a 2D case or 3D case?Which solver are you using?

I am using interDyMFoam on a 3D case with AMI, the mesh is structure mesh.and the solution looks just fine.but in a 2D case, its result looks wired.

prasant March 9, 2013 12:48

Hello Sharonyue,


Its 3D case only. As I said you in the last post, It is a non-conformal mesh, like combination of hexahedral mesh and tetrahedral mesh. Its working fine with conformal meshes. Please check it with 3D case for nonconformal mesh and let me know if you are success.

Regards
Prasant.

hz283 March 9, 2013 15:42

Hello,

I am also considering using AMI. In my case, the computational domain is complex and thus I divided the domain into several parts and then genertaed the mesh body by body using ICEM. So for different bodies, there will be some interface between them. These interfaces are stationary, just like the "interior" in FLuent. The meshes on these interfaces are not conformal. Can I also use the cyclicAMI for the interfaces with non-conformal meshes?

Thank you so much.

Quote:

Originally Posted by prasant (Post 412544)
Hello All,

I am facing an issue with cyclicAMI boundary condition for non-conformal meshes. I am solving impeller case. Impeller is Hexahedral mesh and volute is tetrahedralmesh. please find the details here:

s1-to-r1-side-2
{
type cyclicAMI;
nFaces 1008;
startFace 425571;
matchTolerance 0.001;
neighbourPatch s1-to-r1-side-1;
transform noOrdering;

}

s1-to-r1-side-1
{
type cyclicAMI;
nFaces 1926;
startFace 443357;
matchTolerance 0.001;
neighbourPatch s1-to-r1-side-2;
transform noOrdering;

}

The issue is, data is not transfering form these two patches. Like mass is not balancing and also giving very strange results. I am facing this issue with OpenFOAM last version. Current version is also having this issue. Its working fine with conformal meshes. But not with non-conformal meshes.

I checked this boundary conditon in OpenFOAM-1.6-Ext version. There approch is "ggi". ggi is working fine. Mass is balancing.

Any body Can suggest whether CyclicAMI with non conformal meshes will work in OpenFOAM or not?

Please reply....

Regards
Prasanth.


sharonyue March 9, 2013 20:57

4 Attachment(s)
Quote:

Originally Posted by prasant (Post 412763)
Hello Sharonyue,


Its 3D case only. As I said you in the last post, It is a non-conformal mesh, like combination of hexahedral mesh and tetrahedral mesh. Its working fine with conformal meshes. Please check it with 3D case for nonconformal mesh and let me know if you are success.

Regards
Prasant.

Hi,

I happened to run a 3D case with a nonconformal mesh yesterday, The rotate mesh is unstructured, while the stationary mesh is ctructured. I have never do the experiment, so I cannot testify. But the result looks fine.

My case is a simple stirred tank.More you can see the image.

You can first try a case with all hex mesh but nonconformal then see the result.

Best,

prasant March 9, 2013 22:20

Hello Sheronyue,

For Structural grid, I tested. CyclicAMI is working fine with conformal meshes. I need to work it out for non-conformal meshes too. Could you please post your boundary file? I want to look at it once. Thanks for reply.

Regards
Prasant.

hz283 March 10, 2013 05:56

Hello Prasanth,

Could you please tell me what kind of softwares did you use to generate the mesh? I used ICEM and then output the fluent format mesh for openfoam. How can I have these boundary conditions like you gave?

best regards,
H

Quote:

Originally Posted by prasant (Post 412544)
Hello All,

I am facing an issue with cyclicAMI boundary condition for non-conformal meshes. I am solving impeller case. Impeller is Hexahedral mesh and volute is tetrahedralmesh. please find the details here:

s1-to-r1-side-2
{
type cyclicAMI;
nFaces 1008;
startFace 425571;
matchTolerance 0.001;
neighbourPatch s1-to-r1-side-1;
transform noOrdering;

}

s1-to-r1-side-1
{
type cyclicAMI;
nFaces 1926;
startFace 443357;
matchTolerance 0.001;
neighbourPatch s1-to-r1-side-2;
transform noOrdering;

}

The issue is, data is not transfering form these two patches. Like mass is not balancing and also giving very strange results. I am facing this issue with OpenFOAM last version. Current version is also having this issue. Its working fine with conformal meshes. But not with non-conformal meshes.

I checked this boundary conditon in OpenFOAM-1.6-Ext version. There approch is "ggi". ggi is working fine. Mass is balancing.

Any body Can suggest whether CyclicAMI with non conformal meshes will work in OpenFOAM or not?

Please reply....

Regards
Prasanth.


sharonyue March 10, 2013 19:51

1 Attachment(s)
Quote:

Originally Posted by prasant (Post 412850)
Hello Sheronyue,

For Structural grid, I tested. CyclicAMI is working fine with conformal meshes. I need to work it out for non-conformal meshes too. Could you please post your boundary file? I want to look at it once. Thanks for reply.

Regards
Prasant.

This is my B.C and see if it can give you some hints.Which solver do you use?

prasant March 11, 2013 00:46

Hello sharonyue,

I am using rhoSimpleFoam with MRF Approach using fvOptions file in latest release of OpenFOAM. I have mass flow BC. please see my U,p & T files here:

U file

dimensions [0 1 -1 0 0 0 0];

internalField uniform (0 0 1);

boundaryField
{
r1-default

{
type fixedValue;
value uniform (0 0 0);
}


r1-hub
{
type fixedValue;
value uniform (0 0 0);
}

r1-inlet
{

type pressureInletVelocity;
value uniform (0 0 0);
}

r1-shroud
{
type rotatingWallVelocity;
origin (0 0 0);
axis (0 0 1);
omega 267.03538;

}
s1-to-r1-side-2
{
type cyclicAMI;
value uniform (0 0 0);
}
s1-default
{
type fixedValue;
value uniform (0 0 0);
}
s1-outlet
{
type flowRateInletVelocity;
massFlowRate -10.27;
rho rho;
rhoInlet 1.0;
}

s1-to-r1-side-1
{
type cyclicAMI;
value uniform (0 0 0);
}


}

// ************************************************** *********************** //
p file

dimensions [1 -1 -2 0 0 0 0];

internalField uniform 101325;

boundaryField
{
r1-default

{
type zeroGradient;

}


r1-hub
{
type zeroGradient;

}

r1-inlet
{

type totalPressure;
p0 uniform 101325;
gamma 1.4;
value uniform 101325;
}


r1-shroud
{
type zeroGradient;
}
s1-to-r1-side-2
{
type cyclicAMI;
value uniform 0;

}
s1-default
{
type zeroGradient;

}
s1-outlet
{
type zeroGradient;
}
s1-to-r1-side-1
{
type cyclicAMI;
value uniform 0;

}



}

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

T file

dimensions [0 0 0 1 0 0 0];

internalField uniform 300;

boundaryField
{
r1-default

{
type zeroGradient;

}


r1-hub
{
type zeroGradient;

}

r1-inlet
{

type totalTemperature;
T0 uniform 300;
gamma 1.4;
}


r1-shroud
{
type zeroGradient;
}
s1-to-r1-side-2
{
type cyclicAMI;

}
s1-default
{
type zeroGradient;

}
s1-outlet
{
type zeroGradient;
}

s1-to-r1-side-1
{
type cyclicAMI;

}


}

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


Please view it and reply me whether I am in right way or not.
I will try with your boundary conditions also.

Another Issue Which I am facing is energy equation. I am not getting correct temperature values at outlet. Plese see my inlet and outlet boundary conditions in the T file. I am giving totalTemperature BC for inlet and zerogradient for outlet. I am getting still 300K in outlet. I am facing this issue In previous versions also. Now current version also having the same issue. Please view it and help me regarding this .

Regards
Prasant.









Quote:

Originally Posted by sharonyue (Post 412997)
This is my B.C and see if it can give you some hints.Which solver do you use?


prasant March 11, 2013 00:50

Hello,

I am using ICEM for mesh generation. Use fluent3DMeshToFoam for conversion. Then it will create constant/polyMesh directory. You need to edit the boundary file which was situated in the polyMesh directory. For Inlet and Outlet boundaries you need to specify patch type and for Interfaces, you need to speccify as I mentioned in the previous post. Please refer mixerVessel2D tutorial under pimpleDymFoam tutorial for other details:

Regards
Prasant.

sharonyue March 11, 2013 01:39

Quote:

Originally Posted by prasant (Post 413019)
Hello sharonyue,

I am using rhoSimpleFoam with MRF Approach using fvOptions file in latest release of OpenFOAM. I have mass flow BC. please see my U,p & T files here:

U file

dimensions [0 1 -1 0 0 0 0];

internalField uniform (0 0 1);

boundaryField
{
r1-default

{
type fixedValue;
value uniform (0 0 0);
}


r1-hub
{
type fixedValue;
value uniform (0 0 0);
}

r1-inlet
{

type pressureInletVelocity;
value uniform (0 0 0);
}

r1-shroud
{
type rotatingWallVelocity;
origin (0 0 0);
axis (0 0 1);
omega 267.03538;

}
s1-to-r1-side-2
{
type cyclicAMI;
value uniform (0 0 0);
}
s1-default
{
type fixedValue;
value uniform (0 0 0);
}
s1-outlet
{
type flowRateInletVelocity;
massFlowRate -10.27;
rho rho;
rhoInlet 1.0;
}

s1-to-r1-side-1
{
type cyclicAMI;
value uniform (0 0 0);
}


}

// ************************************************** *********************** //
p file

dimensions [1 -1 -2 0 0 0 0];

internalField uniform 101325;

boundaryField
{
r1-default

{
type zeroGradient;

}


r1-hub
{
type zeroGradient;

}

r1-inlet
{

type totalPressure;
p0 uniform 101325;
gamma 1.4;
value uniform 101325;
}


r1-shroud
{
type zeroGradient;
}
s1-to-r1-side-2
{
type cyclicAMI;
value uniform 0;

}
s1-default
{
type zeroGradient;

}
s1-outlet
{
type zeroGradient;
}
s1-to-r1-side-1
{
type cyclicAMI;
value uniform 0;

}



}

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

T file

dimensions [0 0 0 1 0 0 0];

internalField uniform 300;

boundaryField
{
r1-default

{
type zeroGradient;

}


r1-hub
{
type zeroGradient;

}

r1-inlet
{

type totalTemperature;
T0 uniform 300;
gamma 1.4;
}


r1-shroud
{
type zeroGradient;
}
s1-to-r1-side-2
{
type cyclicAMI;

}
s1-default
{
type zeroGradient;

}
s1-outlet
{
type zeroGradient;
}

s1-to-r1-side-1
{
type cyclicAMI;

}


}

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


Please view it and reply me whether I am in right way or not.
I will try with your boundary conditions also.

Another Issue Which I am facing is energy equation. I am not getting correct temperature values at outlet. Plese see my inlet and outlet boundary conditions in the T file. I am giving totalTemperature BC for inlet and zerogradient for outlet. I am getting still 300K in outlet. I am facing this issue In previous versions also. Now current version also having the same issue. Please view it and help me regarding this .

Regards
Prasant.

Well,I have never used rhoSimpleFoam. But I am using simpleFoam. In the last post I dont use MRF, that image is the result by sliding mesh. As of MRF, I dont use movingwallvelocity, I only use this in sliding mesh. If you are using MRF, remember to add this nonRotatingPatches in to your fvoptions.

And in MRF, you should have a rotate zone and stationary zone, and the velocity should be zero not rotatingWallVelocity or movingwallvelosity.

If I am wrong correct me.

Code:

MRFSourceCoeffs
    {

// Fixed patches (by default they 'move' with the MRF zone)
        nonRotatingPatches (AMI1 AMI2);
        origin      (0 0 0);
        axis        (0 0 1);
        omega      6.28;


prasant March 11, 2013 01:51

Thank you very much sharonyue.:) Now its works fine. Even mass is balancing. Its a very valuable information for all. I learned very big lesson today.

Now I am facing another issue. Please see my temperature file. I will post my output file here. Temperature values are not giving correct at outlet. It will be great If you help me in this issue also.

Thanks & Regards
Prasant.

sharonyue March 12, 2013 08:05

Quote:

Originally Posted by prasant (Post 413031)
Thank you very much sharonyue.:) Now its works fine. Even mass is balancing. Its a very valuable information for all. I learned very big lesson today.

Now I am facing another issue. Please see my temperature file. I will post my output file here. Temperature values are not giving correct at outlet. It will be great If you help me in this issue also.

Thanks & Regards
Prasant.

Hi prasant,

I cannot see any problems in your T B.C. How is it going now?

prasant March 12, 2013 08:10

Thanks for your reply. AMI works fine. But temperature values are not coming correct. I am giving inlet total temperature is 300K. And I am getting at Outlet total temperature is also 300K. This is the issue I am facing from last version onwards. could you please give any suggestion?

Regards,
prasant.

sharonyue March 12, 2013 09:55

Quote:

Originally Posted by prasant (Post 413425)
Thanks for your reply. AMI works fine. But temperature values are not coming correct. I am giving inlet total temperature is 300K. And I am getting at Outlet total temperature is also 300K. This is the issue I am facing from last version onwards. could you please give any suggestion?

Regards,
prasant.

Sorry, I mainly focus on the velocity and two phase issues, T is not considered in my cases.So I dont know the problem. But if you upload your mesh or case, maybe someone would help you out.

Wish you a lucky day.

sharonyue March 12, 2013 22:51

Quote:

Originally Posted by prasant (Post 413031)
Thank you very much sharonyue.:) Now its works fine. Even mass is balancing. Its a very valuable information for all. I learned very big lesson today.

Now I am facing another issue. Please see my temperature file. I will post my output file here. Temperature values are not giving correct at outlet. It will be great If you help me in this issue also.

Thanks & Regards
Prasant.

Hi Prasant,

How can you check weather the mass is balancing?Did you add some codes into you controlDict?can you send me one copy please?
Thanks very much.

prasant March 16, 2013 00:06

Hello Sharonyue,

Sorry for the late reply. You need to add "faceSource" information in the controlDict file. You can find those information here:


inlet
{
type faceSource;
functionObjectLibs ("libfieldFunctionObjects.so");
enabled true;
outputControl timeStep;
outputInterval 1;
log true;
valueOutput false;//true;
source patch;
sourceName imp_inlet;
operation sum;

fields
(
phi
);
}

Since I am running compressible flow, Here "phi" refers to mass flow in kg/s.
If it is in incompressible flow "phi" refers to volumtric flow in m3/s. you need to multiply with density to get kg/s.


If you want more information go to $FOAM_SRC/postProcessing/functionObjects/field/fieldValues/controlDict

here you can find all the post processing details in runtime.

Regards
Prasanth.

sharonyue March 16, 2013 02:00

Quote:

Originally Posted by prasant (Post 414328)
Hello Sharonyue,

Sorry for the late reply. You need to add "faceSource" information in the controlDict file. You can find those information here:


inlet
{
type faceSource;
functionObjectLibs ("libfieldFunctionObjects.so");
enabled true;
outputControl timeStep;
outputInterval 1;
log true;
valueOutput false;//true;
source patch;
sourceName imp_inlet;
operation sum;

fields
(
phi
);
}

Since I am running compressible flow, Here "phi" refers to mass flow in kg/s.
If it is in incompressible flow "phi" refers to volumtric flow in m3/s. you need to multiply with density to get kg/s.


If you want more information go to $FOAM_SRC/postProcessing/functionObjects/field/fieldValues/controlDict

here you can find all the post processing details in runtime.

Regards
Prasanth.

Thanks prasant, It would be very helpful. I will try it later.~

Regards,


All times are GMT -4. The time now is 17:29.