sthavishtha
Forum Replies Created
-
AuthorPosts
-
sthavishthaParticipant
Dear Dr. Mathias
Thanks for the comments.
The error arises due to the compiler version. I now use GCC 6.2.0 and it works. Using an old compiler version (GCC 5.2.0) earlier was enough to compile
cavity2d, cylinder2d, cylinder3d
problems. So, I was unable to identify the issue earlier with the examples available in theparticles/
folder.Regards
SthavishthasthavishthaParticipantDear Dr. Mathias
I forgot to mention in my earlier post. I did try with a generic BUILDTYPE as well. Yet, I get the same error.
Regards
SthavishthasthavishthaParticipantA small mistake in my earlier message : I meant the folder
/examples/laminar/cylinder3d/
sthavishthaParticipantDear iJokerify
You must place the
cylinder3d.stl
file (available in the/examples/laminar/cylinder2d/
folder) in the folder where you run your code.Regards
SthavishthasthavishthaParticipantDear iJokerify
Are you sure that gnuplot is installed? You can verify its location using
which gnuplot
in your terminal.Regards
SthavishthasthavishthaParticipantDear Dr. Mathias
Thanks for your comments and sorry for the delayed reply. I tried both BGK and MRT, along with other boundary conditions – LocalBC, InterpBC and Zou-HeBC. All of them yield similar converged streamline/velocity profiles. So, I believe that this is how the physical solution should be.
Regards
SthavishthasthavishthaParticipantDear Mathias
Thanks for the suggestion. Here is the updated plot for the same Re and different grid sizes. The streamline profiles from
64 x 64
don’t exactly match with that at higher grid sizes due to grid dependence. However, the profiles at higher grid sizes (512 x 512
) are still off from the literature.I do agree that one cannot expect a steady state solution for higher Re. But
Re = 1000
also is not very high enough to expect an unsteady solution state.I am now planning to try this by adopting
MRTdynamics2
, as you state in the code that this uses relaxation times for higher stability. So, is replacingMRTdynamics
withMRTdynamics2
in the code and using the same descriptorMRTD2Q9Descriptor
the right approach to invoke this?Regards
SthavishthasthavishthaParticipantDear Dr. Mathias
Thanks for your fast reply.
I was actually referring to the peak in the residual convergence plot at around
100,000
time steps (plot of residual error vs number of time steps) at the link. I compute the residual error asenergy1 - energy0)/energy1
whereenergy1
andenergy0
aresLattice.getStatistics().getAverageEnergy()
computed at the current time step and previous time step respectively.Though sudden peaks and troughs are possible in such residual convergence plots, the reason I call this as a “Spurious peak” is because I notice a typical change in the flow structure at a time instant around this peak only at high Reynolds numbers. This was not noticed at low Reynolds numbers.
Regards
SthavishthaMarch 26, 2020 at 8:55 am in reply to: Applying a friction value to non-slip boundary condition #4894sthavishthaParticipantDear Behnamandi
The partial slip boundary condition is already available via the function
void addPartialSlipBoundary(...)
, listed inboundaryCondition2D.h/boundaryCondition2D.hh
. An example of its usage is also available inexamples/laminar/poiseuille2d/
andexamples/laminar/poiseuille3d/
– you will have to useboundaryType == partialSlip
in those code examples.Regards
SthavishthasthavishthaParticipantDear Adrian
Perfect, that works. The question I have is : which member function is invoked when calling
velocityPlane(vel, latticeR)
? I ask so because, I don’t find any member function inblockReduction2D2D.h/blockReduction2D2D.hh
which is of the formatBlockReduction2D2D(T[], int[])
?Additionally, for the case of 3D, wouldn’t it be just replacing
BlockReduction2D2D
withBlockReduction3D2D
and proceeding as per your snippet itself?Thanks
Regards
SthavishthasthavishthaParticipantDear Marc
Noted. Thanks for the information.
Regards
SthavishthasthavishthaParticipantDear Adrian
Thanks for the reply. Unfortunately, this doesn’t work as get() is not a member of the class BlockReduction2D2D (see the error below).
cavity2d.cpp:224:30: error: ‘class olb::BlockReduction2D2D<double>’ has no member named ‘get’ << velocityPlane.get(iX, iY, 0) << " " ^ cavity2d.cpp:225:30: error: ‘class olb::BlockReduction2D2D<double>’ has no member named ‘get’ << velocityPlane.get(iX, iY, 1) << endl;
^
-
AuthorPosts