CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   compressible flow in turbocharger (https://www.cfd-online.com/Forums/openfoam/96662-compressible-flow-turbocharger.html)

immortality February 12, 2013 15:19

Quote:

Originally Posted by jyothishkumar (Post 369961)
Hi Antonio,

I have tried as you mentioned in your reply. Please look at these

--------------------------------

i. Changing the second order accuracy of riemann solver (in fvsolution file in system folder) like this

Riemann
{
secondOrder no; // activate 2nd order extensions
multidimLimiter yes; // Switch between 1D and mutliD limiters
epsilon 5; // VK constant
limiterName vanAlbadaSlope; // vanAlbadaSlope, MinmodSlope, vanLeerSlope
}

ii. Including Sutherlands theory in the thermophysicalproperties file like this

thermoType hPsiThermo<pureMixture<sutherlandTransport<specieT hermo<hConstThermo<perfectGas>>>>>;

iii. I dont find file like MRFdict as you mentioned in your reply but only MRFzones in the constant folder.

Angular velocities are also changed in the mrfzones file as well as in the U velocity file in the zero folder

In the MRFzones file it looks like this

cellRegion0
{
// Fixed patches (by default they 'move' with the MRF zone)
nonRotatingPatches (inlet_0 outlet_0 passageSidesUpper_0 passageSidesLower_0);

origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 0 1);
omega omega [0 0 -1 0 0 0 0] 1852.387;
}

In the U velocity file it looks like this
I have just put the top portion only here

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

internalField uniform (0 50.0 170.0);

boundaryField
{
inlet_0
{
type temperatureDirectedInletVelocity;
inletDirection uniform (0 0 1); // Direction of absolute velocity in cartesian coordinates
phi phi; // just needed in compressible case to check dimensions
T T; // name of the static temperature field
T0 uniform 293.0; // value of the total temperature
cylindricalCS no; // specifies if inletDirection is in cartesian or cylindrical coordinates
omega (0 0 1852.387); // angular velocity
value uniform (0 0 210); // Initial Value
}

-----------------------------------------------
But still I am getting the same results (higher value of U,temperature density etc)
Infact i tried to run only laminar also but still the same result

If you have any other suggestions please tell me.

thanks

Jyothish

hi
where did you find this commands of Riemann ?are these related to riemann boundary conditions?

immortality February 12, 2013 15:49

hi prasant.which terms of the controlDict you mentioned i should add to my controlDict for averaging?
ok.i set T az zeroGradient but now velocity is growing very high and becomes supersonic that causes explosion in continuity and diverging occurs.
what has you done about that?

immortality February 12, 2013 15:52

2 Attachment(s)
Im working on Wave Rotor that ia like turbochargers as I told before.could anyone send me a case of turbocharger as a good starting point?
any help or idea about this subject is appreciated.

immortality April 19, 2013 12:50

which functionObjects can use to get it in output?
Code:

MassFlows: inlet_0 = 12.5882 MassFlows: outlet_0 = 9.82064

antoniofct April 19, 2013 12:54

functions
(
MassFlow
{
type patchMassFlow;
functionObjectLibs
(
"libsimpleFunctionObjects.so"
);
verbose true;
patches
(
inlet_patch
outlet_patch

);
factor 1;// or whatever is the number of repetition
}
)

immortality April 19, 2013 13:03

thanks.
does it write mass flow rate in each time step or until that time step(total mass)?
and is there such function for total pressure?(average)

antoniofct April 19, 2013 13:18

Not sure If I understood what you meant.

It writes the area-based average mass flow everytime the console outputs new values.

It can also output average pressure with the following:

areaAverage
{
type patchAverage;
functionObjectLibs
(
"libsimpleFunctionObjects.so"
);
verbose true;
fields ( p);
patches
(
outlet_patch
inlet_patch
);
factor 1;
}

About total quantities, it only works if they are computed by the solver (if your solver doesn't do it, you have to implement it). When you do that, just replace the p-field with p_total.

Other option is to open paraview and use the python calculator. It is not so good but once you have a converged solution is the same..

immortality April 19, 2013 14:00

thanks.I should make it in createFields.H?
do you know an example to this?

antoniofct April 20, 2013 10:52

you have to create an object in createFields and then specify the solver to calculate it.

something like:

in createFields:

volScalarField ptotal
(
IOobject
(
"ptotal",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
\\put here the expression of total pressure
);

and then before the runtime.write() at solver.C you write

ptotal=expression of total pressure;


You probably will want to create another object for absolute Mach. To do this you will probably need another object for gamma.

dowlee May 5, 2014 03:32

Hi jyothishkumar, i have met the same issues. I have tried a lot, but still faield. How do you solve your problem?

sam.ho May 26, 2014 01:47

No convergence with transonicMRFDyMFOAM
 
1 Attachment(s)
Dear FOAMERS :)
I am trying to simulate radial inflow turbine passage with transonicMRFDyMFOAM. And tried with all possible temperature and pressure values but not able to get the conerged results for mass.
Please take a look at my Boundary Conditions and canstant files and suggest me how can i get the converged results.

Regards,
Sangamesh Hosur


All times are GMT -4. The time now is 04:10.