CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   time varying velocity outlet boundary condition (https://www.cfd-online.com/Forums/openfoam/141618-time-varying-velocity-outlet-boundary-condition.html)

simin_ds September 11, 2014 17:11

time varying velocity outlet boundary condition
 
Dear all,

I am simulating flow inside the pipe considering time varying decrease of outlet velocity. for decreasing outlet velocity by time I used the groovy BC boundary condition for velocity as follows:

velocity::::
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type groovyBC;
variables "U0=0.13;T1=3754;Uout=U0*(1-pow((time()/T1),3));";
valueExpression "(time()<T1) ? vector(Uout,0,0):vector (0,0,0)";

}
axi_symm-f
{
type wedge;
}
axi_symm-r
{
type wedge;
}
wall
{
type fixedValue;
value uniform (0 0 0);
}
defaultFaces
{
type empty;
}
}


pressure:::::

boundaryField
{
inlet
{
type fixedValue;
value uniform 8376;
}
outlet
{
type zeroGradient;
}
axi_symm-f
{
type wedge;
}
axi_symm-r
{
type wedge;
}
wall
{
type zeroGradient;
}
defaultFaces
{
type empty;
}
}


the problem is that after running the case on the terminal page the following message is presented:

--> FOAM Warning :
From function
groovyBCFvPatchField<Type>::groovyBCFvPatchField(c onst fvPatch&
p,const DimensionedField<Type, volMesh>& iF,const dictionary& dict)
in file groovyBCFvPatchField.C at line 131
No value defined for U on outlet therefore using 30{(0 0 0)}

I think it means that the groovy BC is not defined for outlet condition.
But as I have to reduce the outlet velocity by time could any one help me for finding a proper boundary condition:confused::confused::confused::confused:.

Many thanks for the help,
Simin

simin_ds September 12, 2014 02:42

any idea????

ahmmedshakil September 12, 2014 03:09

Hi,
From the error message, "No value defined for U on outlet therefore using 30{(0 0 0)}". So, you haven't defined any value,i.e. initial, at the boundary and it's taking some default value. What you can do is that,

outlet
{
type groovyBC;
variables "U0=0.13;T1=3754;Uout=U0*(1-pow((time()/T1),3));";
valueExpression "(time()<T1) ? vector(Uout,0,0):vector (0,0,0)";
value $internalField; Or uniform (0 0 0) if zero.
}

simin_ds September 12, 2014 03:13

Hi Ahmmed,

Many thanks for your help :)


All times are GMT -4. The time now is 07:31.