Professional Documents
Culture Documents
Se copia la carpeta donde est el cdigo del solucionador pisoFoam, que se encuentra
en: /opt/openfoam231/applications/solvers/incompressible/pisoFoam (generalmente debe
buscarse desde la carpeta opt en la raz del disco de instalacin)
1.2
Se cambia el nombre de la carpeta a energyFoam.
1.3
Se cambia el nombre del archivo pisoFoam.c a energyFoam.c
1.4
Se borra el archivo pisoFoam.dep y dentro de la carpeta Make se borran todos los
archivos y carpetas que no sean los archivos files y options.
1.5
Para compilar correctamente en el archivo files de la carpeta Make cambiamos
pisoFoam a energyFoam en los dos renglones correspondientes. Por ltimo se cambia
FOAM_APPBIN a FOAM_USER_APPBIN. Debe quedar:
energyFoam.C
EXE=$(FOAM_USER_APPBIN)/energyFoam
1.6
EXE_INC=\
I$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel\
I$(LIB_SRC)/transportModels\
$LIB_SRC)/transportModels/incompressible/singlePhaseTransportModel\
I$(LIB_SRC)/finiteVolume/lnInclude\
I$(LIB_SRC)/fvOptions/lnInclude\
I$(LIB_SRC)/meshTools/lnInclude\
I$(LIB_SRC)/sampling/lnInclude
EXE_LIBS=\
lincompressibleTurbulenceModel\
lincompressibleRASModels\
lincompressibleLESModels\
lincompressibleTransportModels\
lfiniteVolume\
lfvOptions\
lmeshTools\
lsampling
1.7
Info<<"ReadingfieldT\n"<<endl;
volScalarFieldT
(
IOobject
(
"T",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
Info<<"ReadingtransportProperties\n"<<endl;
IOdictionarytransportProperties
(
IOobject
(
"transportProperties",
runTime.constant(),
mesh,
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE
)
);
Info<<"ReadingdiffusivityDT\n"<<endl;
dimensionedScalarDT
(
transportProperties.lookup("DT")
);
1.8
1.9
solve
(
fvm::ddt(T)
+fvm::div(phi,T)
fvm::laplacian(DT,T)
==
fvOptions(T)
);
y se da enter.
1.11 Estando la terminal y en la ubicacin correcta se escribe wmake y se da enter, con este
paso se da inicio a la compilacin del solucionador, proceso que toma varios minutos.
Mallado
una malla que representa la seccin del ducto y que fue generada por medio de la herramienta
ANSYS FLUENT. Es importante recalcar el aprendizaje y uso de herramientas libres (como
SALOME) para estos procesos, en miras de ser coherentes con el tipo de software que se est
usando.
Para importar esta malla en OpenFOAM se abre una terminal en la ubicacin del caso de trabajo y
que contenga la malla antes descrita , por ltimo se escribe:
fluentMeshToFoamelbow.msh
Si se desea conocer informacin detallada sobre la malla y verificar que no haya problemas con la
conversin se escribe en la terminal checkMesh.
2.2
Ya que se est importando una malla nueva, se deben realizar los cambios pertinentes a este nuevo
caso. Lo primero que debe hacerse es cambiar las fronteras del nuevo espacio, para esto se revisa el
archivo boundary ubicado en la carpeta .../constant/polyMesh. Aqu se puede observar el
nombre de las superficies que se definieron en el proceso de mallado.
/**C++**\
|=========||
|\\/Field|OpenFOAM:TheOpenSourceCFDToolbox|
|\\/Operation|Version:2.3.1|
|\\/And|Web:www.OpenFOAM.org|
|\\/Manipulation||
\**/
FoamFile
{
version2.0;
formatascii;
classpolyBoundaryMesh;
location"constant/polyMesh";
objectboundary;
}
//*************************************//
7
(
inlet
{
typepatch;
nFaces76;
startFace101675;
}
outlet
{
typepatch;
nFaces76;
startFace101751;
}
walls
{
typewall;
inGroups1(wall);
nFaces5018;
startFace101827;
}
pipe1
{
typewall;
inGroups1(wall);
nFaces692;
startFace106845;
}
pipe2
{
typewall;
inGroups1(wall);
nFaces712;
startFace107537;
}
pipe3
{
typewall;
inGroups1(wall);
nFaces720;
startFace108249;
}
pipe4
{
typewall;
inGroups1(wall);
nFaces696;
startFace108969;
}
)
outlet
{
typezeroGradient;
}
pipe1
{
typefixedValue;
valueuniform363.15;
}
pipe2
{
typefixedValue;
valueuniform363.15;
}
pipe3
{
typefixedValue;
valueuniform363.15;
}
pipe4
{
typefixedValue;
valueuniform363.15;
}
}
//*************************************************************************//
Este archivo permitir que la temperatura tenga una correcta condicin inicial y de frontera, se puede
apreciar como la pared por la que ingresa el fluido ( inlet para este caso) tiene su respectiva
temperatura especificada. Tambin es apreciable la temperatura de las superficies que representan los
bulbos de cada uno de los colectores, quienes transmitirn la energa al fluido.
Se debe tener en cuenta que en estos tres archivos ( p,U,T) se pueden modificar las condiciones
para cada frontera y su comportamiento para la simulacin. Cambios similares (en lo que refiere a las
superficies del volumen de control) se deben realizar en los archivos U y p. Estos archivos deben
quedar como se muestra a continuacin.
Archivo U:
/**C++**\
|=========||
|\\/Field|OpenFOAM:TheOpenSourceCFDToolbox|
|\\/Operation|Version:2.3.1|
|\\/And|Web:www.OpenFOAM.org|
|\\/Manipulation||
\**/
FoamFile
{
version2.0;
formatascii;
classvolVectorField;
objectU;
}
//*************************************//
dimensions[0110000];
internalFielduniform(000);
boundaryField
{
walls
{
typefixedValue;
value
uniform(000);
}
inlet
{
typefixedValue;
value
uniform(000.3);
}
outlet
{
typezeroGradient;
}
pipe1
{
typefixedValue;
value
uniform(000);
}
pipe2
{
typefixedValue;
value
uniform(000);
}
pipe3
{
typefixedValue;
value
uniform(000);
}
pipe4
{
typefixedValue;
value
uniform(000);
}
}
//*************************************************************************//
Archivo p:
/**C++**\
|=========||
|\\/Field|OpenFOAM:TheOpenSourceCFDToolbox|
|\\/Operation|Version:2.3.1|
|\\/And|Web:www.OpenFOAM.org|
|\\/Manipulation||
\**/
FoamFile
{
version2.0;
formatascii;
classvolScalarField;
objectp;
}
//*************************************//
dimensions[0220000];
internalFielduniform0;
boundaryField
{
walls
{
typezeroGradient;
}
inlet
{
typezeroGradient;
}
outlet
{
typefixedValue;
valueuniform0;
}
pipe1
{
typezeroGradient;
}
pipe2
{
typezeroGradient;
}
pipe3
{
typezeroGradient;
}
pipe4
{
typezeroGradient;
}
}
//*************************************************************************//
Debe observarse con detenimiento las condiciones iniciales de cada una de las superficies del
volumen.
Para controlar las propiedades del fluido que se va a transportar se ingresa al archivo
transporProperties, aqu se puede cambiar el valor de la viscosidad cinemtica (en este ejemplo
7 2
se le da un valor de 8 x 10 m / s ). Adicionalmente se debe agregar una linea que contenga el
valor del coeficiente de difusin para poder resolver la ecuacin de temperatura, esta linea puede ser
escrita debajo de la perteneciente a la viscosidad nu.
DTDT[0210000]1.6076E7;
Para finalizar es necesario controlar las propiedades de turbulencia del fluido, por lo que se agregan
dos archivos a la carpeta transporProperties llamados
RASProperties
y
turbulenceProperties, a continuacin se indica el contenido de cada uno de ellos, ste se dispone
de esa forma debido a que el flujo es laminar.
RASProperties
/**C++**\
|=========||
|\\/Field|OpenFOAM:TheOpenSourceCFDToolbox|
|\\/Operation|Version:2.3.1|
|\\/And|Web:www.OpenFOAM.org|
|\\/Manipulation||
\**/
FoamFile
{
version2.0;
formatascii;
classdictionary;
location"constant";
objectRASProperties;
}
//*************************************//
RASModellaminar;
turbulencefalse;
printCoeffson;
//*************************************************************************//
turbulenceProperties
/**C++**\
|=========||
|\\/Field|OpenFOAM:TheOpenSourceCFDToolbox|
|\\/Operation|Version:2.3.1|
|\\/And|Web:www.OpenFOAM.org|
|\\/Manipulation||
\**/
FoamFile
{
version2.0;
formatascii;
classdictionary;
location"constant";
objectturbulenceProperties;
}
//*************************************//
simulationTypeRASModel;
//*************************************************************************//
2.3
latestTime;//Estoaseguraquecadavezquereiniciamoslasimulacin
//arranquedesdeelltimotiempodisponible.
EndTime
3;//Tiempofinaldelasimulacinensegundos
deltaT
0.0005;//Pasotemporalensegundos
writeInterval
100;//Cadacuantospasostemporalesseguardanlosdatos
Esta configuracin permite escribir cada 0.05 los avances de la simulacin y observar un buen
desarrollo del fenmeno a lo largo del tiempo de simulacin pero hace que los resultados ocupen ms
espacio en disco, estos parmetros deben optimizarse.
2.4
Simulacin
Para correr la simulacin abrimos una terminal (CTRL + ALT + t) y accedemos a la carpeta elbow
donde tenemos nuestro caso.
Y luego escribimos energyFoam y damos enter. La simulacin debe arrancar y toma alrededor de 10
min en terminar. Con esto se puede dar paso a la visualizacin y anlisis en paraView. En la
ilustracin 2 se puede apreciar una visualizacin de los campos de velocidad.