Elahe Kamel

Elahe Kamel
  • Master of Science
  • University of Tehran

Questions

Questions (3)
Question
Dear all;
I am trying to simulate non-Newtonian fluid flow in porous media with the help of Palabos software. Palabos is a C+++ open-source library that solves flow problems with the lattice Boltzmann method. I am not familiar with object-oriented programming and I want to extract a value from a template that is used in every iteration. To be more precise; I want to print Omega (which is an (Nx-1)*(Ny-1) dimensional matrix) in every 250 iterations in the form of gif or data to validate my result. I added pcout to print variable in this function and it works but it is repeated every iteration which generates too much data ( imagine 200*200 lattice and 10000 iterations!).
I will be really glad if you could help me through this. the code is provided below. also, I uploaded
.h and .hh file to this message
Many thanks;
Elahe;
template<typename T, template<typename U> class Descriptor,int N>
T CarreauDynamics<T,Descriptor,N>::
getOmegaFromPiAndRhoBar(Array<T,SymmetricTensor<T,Descriptor>::n> const& PiNeq, T rhoBar) const
{
T nu0_nuInfoverCs2 = (global::CarreauParameters().getNu0()-global::CarreauParameters().getNuInf())*Descriptor<T>::invCs2;
T nuInfoverCs2 = global::CarreauParameters().getNuInf()*Descriptor<T>::invCs2;
T nMinusOneOverTwo = (global::CarreauParameters().getExponent() - (T)1)/(T)2;
T lambdaOverCs2sqr = global::CarreauParameters().getLambda()*Descriptor<T>::invCs2;
lambdaOverCs2sqr *= lambdaOverCs2sqr;
T piNeqNormSqr = SymmetricTensor<T,Descriptor>::tensorNormSqr(PiNeq);
T alpha = lambdaOverCs2sqr * piNeqNormSqr *(T)0.5
*Descriptor<T>::invRho(rhoBar)*Descriptor<T>::invRho(rhoBar);
T omega = carreauDynamicsTemplates<T,N>::fromPiAndRhoToOmega(alpha, nu0_nuInfoverCs2, nuInfoverCs2, nMinusOneOverTwo, this->getOmega());
T tau=(T)1/ omega;
T visco=((T)2 * tau - (T)1)/(T)6;
pcout << "" << visco << std::endl;
return omega;
}
Question
Hi everyone;
I am a beginner in Palabos and I am trying to run the cavity2D example on windows. After loads of works, finally I could generate the .exe file which could be run properly. But at the end of the simulation, this error has appeared:
Saving VTK file … could not open file ./tmp/vtk012800.vti Assetation failed: ostr && (bool)(*ostr), file D:\palabos\src\io\serializerIO.cpp, line 93
unfortunately, I can not obtain any visualized results from the simulation. It should be also noted that there is not any vti file in tmp folder.
Has anyone experienced the same issue? I will appreciate your help!
Question
could anyone help me with this eror?
I'm dealing with a simple model in CMG STARS and as you see in the below picture, just after starting simulation (production and injection simultaneously, with 4 wells ,2 injection and 2 production) the pressure drop from 3000 psi to sth around 100 psi.
then 100 days after the start of simulation, I want to stop injection and prodction for about 20 days in 2 well of 4 total well, so this is the time that I've got the second fluctuation.
It should be noted that I'm working with dead oil and there is not any gas in the system.
if you had any similar experience,I'll be so glad to hear.