Skip to content

Fuxin He

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 20 total)
  • Author
    Posts
  • in reply to: Velocity gradient after time average #7975
    Fuxin He
    Participant

    Dear Henderson,

    Thank you for your kind reply. I did calculate the velocity gradient based on the average velocity of the output, and then I wanted to try the output to the vtk file for verification, so there was this question.

    sincerely,
    Fuxin He

    in reply to: SHEAR_SMAGORINSKY #7973
    Fuxin He
    Participant

    Dear Adrian,

    Thank you very much for your patience and meticulous explanation. I understand what you mean.

    sincerely,
    Fuxin He

    in reply to: Velocity gradient after time average #7972
    Fuxin He
    Participant

    Dear Adrian,

    I’m sorry to bring you trouble, I will consider your suggestion, thank you again for your help

    sincerely,
    Fuxin He

    in reply to: SHEAR_SMAGORINSKY #7966
    Fuxin He
    Participant

    Dear Adrian,

    Thank you for your reply, but I still don’t fully understand your explanation. You mean that it will be automatically allocated according to demand even if I don’t modify it. I just want to use “ShearSmagorinskyForcedBGKdynamics” and “wallFunctionParam” in Channel3d ,then I will add another one of the descriptor needed, such as:”WallFunctionForcedD3Q19Descriptor = D3Q19 < TAU_W TAU_EFF, AV_SHEAR, FORCE >;”Am I right? Or should I just use the original(WallFunctionForcedD3Q19Descriptor = D3Q19 < TAU_W TAU_EFF, FORCE >),because it will automatically generate what I’m missing.

    I’m referring to the Dynamic Smagorink-Lilly model,or the Dynamic subgrid scale modeling,or DSM for short. You can refer to the following literature.”DynSmagorinskyD3Q19Descriptor = D3Q19 < SMAGO_CONST >” seems to mean the smagorinsky coefficient is a constant in the OpenLB.

    Premnath K N, Pattison M J, Banerjee S. Dynamic subgrid scale modeling of turbulent flows using lattice-Boltzmann method[J]. Physica A: Statistical Mechanics and its Applications, 2009, 388(13): 2640-2658.

    sincerely,
    Fuxin He

    in reply to: SHEAR_SMAGORINSKY #7961
    Fuxin He
    Participant

    Dear Stephan,

    Have you verified whether this code should be modified in this way? Please allow me to ask you some more questions.

    The first is when I again see the problem of Descriptor, found “using DynSmagorinskyD3Q19Descriptor = D3Q19 < SMAGO_CONST >;” Is there a dynamic smagorinsky model in openLB? I can’t find one.

    The second is whether “using ShearSmagorinskyForcedD3Q19Descriptor = D3Q19 < AV_SHEAR, FORCE >; “and” using WallFunctionForcedD3Q19Descriptor = D3Q19 < TAU_W TAU_EFF, FORCE >;” together,such as into “using WallFunctionForcedD3Q19Descriptor = D3Q19 < TAU_W TAU_EFF, AV_SHEAR, FORCE >;”

    sincerely,
    Fuxin He

    in reply to: channel3d in olb1.6 and olb1.5 #7940
    Fuxin He
    Participant

    Dear Fedor

    I also hope very much to attend the spring school and communicate with you who are excellent, but I can only communicate with you here because of the distance. If in my reference poiseuille3d.h SuperLatticePhysWallShearStress3D < T, DESCRIPTOR > & WSS added to the channel3d to output shear stress, can I change the original these to this correct:
    poiseuille3d.h :
    // set up size-increased indicator and instantiate wall shear stress functor (wss)
    Vector<T, 3> center0Extended(-converter.getPhysDeltaX() * 0.2, radius, radius);
    Vector<T, 3> center1Extended(length, radius, radius);
    if (flowType == forced) {
    center0Extended[0] -= 4.*converter.getPhysDeltaX();
    center1Extended[0] += 4.*converter.getPhysDeltaX();
    }
    IndicatorCylinder3D<T> pipeExtended(center0Extended, center1Extended, radius);
    IndicatorLayer3D<T> indicatorExtended (pipeExtended, 0.9*converter.getConversionFactorLength()*N/11.);
    SuperLatticePhysWallShearStress3D<T,DESCRIPTOR> wss(sLattice, superGeometry, 2, converter, indicatorExtended);

    channel3d.cpp:
    // set up size-increased indicator and instantiate wall shear stress functor (wss)
    Vector<T, 3> originExtended(-converter.getPhysDeltaX() , 0, 0);
    Vector<T,3> extendExtended(lx+converter.getPhysDeltaX(), ly, adaptedPhysSimulatedLength);

    IndicatorCuboid3D<T> cubiodExtended(extendExtended, originExtended );
    IndicatorLayer3D<T> indicatorExtended (cubiodExtended, 0.9*converter.getConversionFactorLength()*N/11.);
    SuperLatticePhysWallShearStress3D<T,DESCRIPTOR> wss(sLattice, superGeometry, 2, converter, indicatorExtended);

    I have two questions, first: what is the function of the setting of “0.9*converter.getConversionFactorLength()*N/11.”. Second: Is the wss I output like this “tau_w_ini_scaled” in the channel?

    sincerely,
    Fuxin He

    in reply to: SHEAR_SMAGORINSKY #7934
    Fuxin He
    Participant

    Dear Stephan,

    I’m sorry for the late reply, because I just finished dealing with the result. The error is just as I said in the last post attached. In of this folder (/ olb1.6 r0 / SRC/functors/lattice timeAveraged/superLatticeTimeAveraged3D hh) line 225 should be “the output = [iDim] _sDataMN.getBlock(iCloc).get(input+1,iDim)-_sDataM.getBlock(iCloc).get(input+1,iDimM) *_sDataN.getBlock(iCloc).get(input+1,iDimN)/_ensembles/_ensembles;” Change to “output[iDim] = _sDataMN.getBlock(iCloc).get(input+1,iDim)/_ensembles-_sDataM.getBlock(iCloc).get(input+1,iDimM)” *_sDataN.getBlock(iCloc).get(input+1,iDimN)/_ensembles/_ensembles. In other words, you are missing an average of MN, which is the Reynolds stress processed after my modification. Although it is not in perfect agreement with Kim’s result, it is much better than the original data, which is 1000 times higher than the modified one.

    Below is my output, compared to Kim’s literature:Kim J, Moin P, Moser R. Turbulence statistics in fully developed channel flow at low Reynolds number[J]. Journal of fluid mechanics, 1987, 177: 133-166.

    https://postimg.cc/gallery/ZSHWS1h

    sincerely,
    Fuxin He

    in reply to: channel3d in olb1.6 and olb1.5 #7931
    Fuxin He
    Participant

    Dear Fedor

    I have solved the verification of u+ and rms, thank you again for your help, and the verification of Prms seems to be good, but I don’t know whether I did it right. The literature I refer to is KIM’s universally recognized literature:Kim J, Moin P, Moser R. Turbulence statistics in fully developed channel flow at low Reynolds number[J]. Journal of fluid mechanics, 1987, 177: 133-166.

    https://postimg.cc/gallery/Ywxs0C7

    My wall function is 200 (rhoMethod = 2;fneqMethod = 0;wallProfile = 0).Because it seems that only in this way can the results be more consistent, I hope you can check whether this is correct

    sincerely,
    Fuxin He

    in reply to: SHEAR_SMAGORINSKY #7928
    Fuxin He
    Participant

    Dear Stephan,

    In this file I also think it should be changed to “_sDataMN.getBlock(iCloc).get(input+1,iDim)/_ensembles” because it is “(uv)_av – u_av v_av,” and there is no averaging of (uv)。After I output the original result and compare it with the literature, I find that the trend is correct, but the value is indeed too large

    sincerely,
    Fuxin He

    in reply to: SHEAR_SMAGORINSKY #7926
    Fuxin He
    Participant

    Dear Stephan,

    Thanks for writing back, I’m still using this descriptor“typedef WallFunctionForcedD3Q19Descriptor DESCRIPTOR;”and selected “ShearSmagorinskyForcedBGKdynamics”.It runs fine, so is this something I still need to change.

    I also want to ask a question, I saw a post mentioned a mistake about Reynolds stress, but you only corrected half of the line 225 should be as said in this post:
    https://www.openlb.net/forum/topic/correction-to-superlatticetimeaveragedcrosscorrelationf3d/
    If I set after “SuperLatticeTimeAveragedCrossCorrelationF3D < T > sAveragedVelcc (sVel sVel);”Is the output “Time Averaged Corss Correlation physVelocity-physVelocity_2” Reynolds stress?

    sincerely,
    Fuxin He

    in reply to: olb1.6 bifurcation3d #7912
    Fuxin He
    Participant

    Dear Adrian

    That’s great! Your “make clean-core” is the key to the problem, and that’s something a newbie like me really doesn’t know, thanks again for your help.

    Best,
    Fuxin He

    in reply to: olb1.6 bifurcation3d #7910
    Fuxin He
    Participant

    Dear Adrian

    Thanks for your patience in replying, I have changed the config.mk file already as follows:

    # Compiler to use for C++ files, change to mpic++ when using OpenMPI and GCC
    # CXX := g++
    CXX :=mpic++
    # Compiler to use for C files (used for emebedded dependencies)
    CC := gcc

    # Suggested optimized build flags for GCC, consult config/ for further examples
    CXXFLAGS := -O3 -Wall -march=native -mtune=native
    # Uncomment to add debug symbols and enable runtime asserts
    #CXXFLAGS += -g -DOLB_DEBUG

    # OpenLB requires support for C++17
    # works in:
    # * gcc 9 or later (https://gcc.gnu.org/projects/cxx-status.html#cxx17)
    # * icc 19.0 or later (https://software.intel.com/en-us/articles/c17-features-supported-by-intel-c-compiler)
    # * clang 7 or later (https://clang.llvm.org/cxx_status.html#cxx17)
    CXXFLAGS += -std=c++17

    # optional linker flags
    LDFLAGS :=

    # Parallelization mode, must be one of: OFF, MPI, OMP, HYBRID
    # Note that for MPI and HYBRID the compiler also needs to be adapted.
    # See e.g. config/cpu_gcc_openmpi.mk
    # PARALLEL_MODE := OFF
    PARALLEL_MODE := MPI

    Then it will report the following error
    https://postimg.cc/gallery/dqGGBFV

    My guess from reading chapter 9 is that I don’t have CUDA installed, which is why running “ompi_info –parsable -l 9 –all | grep mpi_built_with_cuda_support:value” results in false.

    Best,
    Fuxin He

    in reply to: channel3d in olb1.6 and olb1.5 #7902
    Fuxin He
    Participant

    Dear Fedor

    Thank you for your help, so do you think I can simulate gas-solid two-phase flow using the point-particle method without taking into account the results simulated by pressure, which I do see no indication of in much of the relevant literature. Also I found the output templates for Y+ and RMS, when I add Y+, it requires me to define the indicator, is there a problem with “IndicatorF3D<T> indicator(cuboidGeometry)”, and I didn’t find a template for U+. , how should I export U+?

    sincerely,
    Fuxin He

    in reply to: channel3d in olb1.6 and olb1.5 #7899
    Fuxin He
    Participant

    Dear Fedor

    So how do I set this up so that the correct pressure appears, I understand that performing convergence judgments is based on the relationship between Y+ and U+, and RMS, but the pressure I don’t know much about, and I can’t find out what causes this pressure to appear, so I’m hoping you can give me some help.

    sincerely,
    Fuxin He

    in reply to: olb1.6 bifurcation3d #7898
    Fuxin He
    Participant

    Dear Adrian

    I followed this section to the file named config.mk, typed make clean and make cleanbuild in the terminal, and it still didn’t compile,Can you tell me how to compile in parallel, I’d appreciate it!

    Best,
    Fuxin He

Viewing 15 posts - 1 through 15 (of 20 total)