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/)
-   -   Boundary conditions for simpleSRFFoam (https://www.cfd-online.com/Forums/openfoam-solving/57991-boundary-conditions-simplesrffoam.html)

cnsidero September 14, 2008 19:56

I am trying to set up a case t
 
I am trying to set up a case to use simpleSRFFoam and in general have been able to follow the 'mixer' example, despite no documentation existing for this application.

The question I have is setting boundary conditions. In the 'mixer' example, the inlet has the following:

inlet
{
type SRFVelocity;
inletValue uniform (0 0 -10);
relative yes;
value uniform (0 0 0);
}

From what I can see, to set an boundary condition in relative terms, the type must be set to 'SRFVelocity'. What is the purpose of setting both an 'inletValue' and 'value'?

Is it documented anywhere how boundary conditions can be applied with type 'SRFVelocity'? Or does anyone having an experiences with setting boundary conditions for this application?

Thanks, Chris

ffbof September 24, 2008 10:12

hi Chris here is the answer yo
 
hi Chris here is the answer you can find that usually in the src/finiteVolume/fvPatchFields/derived (or search for SRFVelocity in the source code ) it is the definition of the boundary condition

void SRFVelocityFvPatchVectorField::updateCoeffs()
{
if (updated())
{
return;
}

// If relative, include the effect of the SRF
if (relative_)
{
// Get reference to the SRF model
const SRF::SRFModel& srf =
db().lookupObject<srf::srfmodel>("SRFProperties");

// Determine patch velocity due to SRF
const vectorField SRFVelocity = srf.velocity(patch().Cf());

operator==(-SRFVelocity + inletValue_);
}
// If absolute, simply supply the inlet value as a fixed value
else
{
operator==(inletValue_);
}

fixedValueFvPatchVectorField::updateCoeffs();
}

Best regards
Franz

ffbof September 24, 2008 10:47

Oh and the value is the initia
 
Oh and the value is the initial value of the Patch.

Which means after one timestep if it is relative the value becomes equal to

(-SRFVelocity + inletValue_);

done with the operator==

Franz

boger February 6, 2009 09:22

Hi. I'm having problems getti
 
Hi. I'm having problems getting a simpleSRFFoam case going. It is basically a propeller case.

"SRFProperties" includes following:

SRFModel rpm;
axis (-1 0 0);
rpmCoeffs
{
rpm 6.2;
}

"boundary" includes this for the inlet:

inlet
{
type patch;
nFaces 1920 ;
startFace 2222592 ;
}

and the 0/Urel file includes this for the inlet:

inlet
{
type fixedValue;
value nonuniform List<vector>
1920
(
(0.99658608351715038953 -0.92954434724578038907 0.18320505536387468593)
..and so on.
);
}

After 1000 steps, if I examine the solution in Fieldview (foamToFieldview9), the relative and absolute velocities both look to be specified correctly on the inlet (and other) boundaries. But the swirl that is imposed at the inlet is immediately "lost" after the first cell; the flow immediately becomes axial once it leaves the inflow boundary.

The internalField velocity in Urel is set to uniform (1 0 0), but after 1000 steps, I'd expect this to be gone, so I suspect I'm setting the inflow or rotation incorrectly. I've read here but don't understand the SRFVelocity tag in the boundary specification. Is it needed here?

Is there something else I could be missing?

Thanks,
David

Santana June 17, 2010 14:37

Hello,
I am also using simpleSRFFoam to simulate a turbomachinery case, however, I get the same problem as David.

Quote:

Originally Posted by dab143psuedu (Post 191247)
swirl that is imposed at the inlet is immediately "lost" after the first cell; the flow immediately becomes axial once it leaves the inflow boundary.

Could you let me know if this problem has been solved?

Many thanks,
San

Jack001 May 17, 2017 12:26

I also have the same problem - the velocity becomes purely axial after the first cell from the inlet... Has anyone solved this problem?


All times are GMT -4. The time now is 23:20.