Skip to content

mgaedtke

Forum Replies Created

Viewing 15 posts - 31 through 45 (of 46 total)
  • Author
    Posts
  • in reply to: Hot particle in cold fluid #2764
    mgaedtke
    Keymaster

    Hey Mamin,

    it sounds as you want to combine two of openLB’s example cases here:

    – for the particles you can have a look at the bifurication example.
    – for the temperature field solved by advection diffusion equation you can have a look at the thermal example.

    As soon as you have your channel with the thermal flow as well as the particles going through, you will want to modify the coupling postprocessor in order to account for the particle temperature and its interaction with the fluid.

    Best Max

    in reply to: Phase change and deformation #2757
    mgaedtke
    Keymaster

    Hey Ben,

    you would need to implement any kind of coupling between the phase status and the tempereature in the LBM’s equation of state. There are some papers about that, but, for now, we do not have any of those methods in openLB. One student of mine is currently working on that topic, and we will see want we can do here, but please do not expect us to publish that too soon.

    If you like to discuss the thermal phase changing coupling implementation in detail, we would like to call your attention to come to our spring school 🙂

    Best, Max

    in reply to: Phase change and deformation #2754
    mgaedtke
    Keymaster

    Hey Ben,

    energy equations or, to be more specific, advection diffusion equation for the temperature is implemented openLB and its usage is shown in example thermal2d and thermal3d, see also here: https://youtu.be/buskqZlPdvI

    By deformation after cooling you mean changes in the geometry resulting from the results of the simulation? There isn’t any kind of fluid structure interaction implement, yet.

    Best, Max

    in reply to: For Help #2752
    mgaedtke
    Keymaster

    Hey, yes you are right, sorry for the missunderstanding. We set LatticeU here, which is the converterted physical CharU. So if you change the CharU in the converter construction, you will end up with this value beeing the physical velocity for your simulation.

    Best, Max

    in reply to: For Help #2743
    mgaedtke
    Keymaster

    Hello,

    in aorta.cpp line 174 and following the boundary velocity is set with SinusStartScale<T,int> nSinusStartScale( iTperiod,converter.getCharU() ); So, after the start time period of 0.5s, the velocity at the inlet is a circular poiseuille profile with CharU beein the maximum velocity. Change CharU in the converter, and you will get this velocity at your inlet.

    Best, Max

    in reply to: correction for tutorial and question #2720
    mgaedtke
    Keymaster

    Hey Mamin,

    0 pressure at the outlet is fine, I think, as this suppose to be your outflow condition. For the inlet to be at 100 Pa, you could set the pressureLevel to 90 Pa to achieve a pressure value of 100 Pa.

    in reply to: Flow and heat transfer #2712
    mgaedtke
    Keymaster

    Hello Alan,

    I am currently working on the thermal LBM in OpenLB and this part of the code is under heavy development at the moment. We hope to publish a revised version of the Advection-Diffusion-Equiation implementation till the end of the year.

    However, you can set a constant temperature boundary by the function .addTemperatureBoundary() in AdvectionDiffusionBoundarys. Have a look at the example RayleighBenard2d or 3d, which are simulations of the rayleigh benard convection between a hot plate at the bottom and a cold plate on top (https://en.wikipedia.org/wiki/Rayleigh%E2%80%93B%C3%A9nard_convection)

    Best regards,
    Max

    in reply to: correction for tutorial and question #2704
    mgaedtke
    Keymaster

    No, at the moment we do not have any compressible model.

    in reply to: correction for tutorial and question #2702
    mgaedtke
    Keymaster

    Hey Mamin,

    thank you for mentioning. Basicly, you are right, we should be more precise here, but as we calculate a pressure drop instead of an absolute pressure in the code example on page 27, it does not make a difference.

    The function phyPressureFromRho() calculates the pressure in SI units as p = c_s^2 * (rho -1) * C_p + p_0, where c_s^2=1/3 is the speed of sound in lattice units, rho is the density in lattice units, C_p = C_F / C_L^3 is the confersion factor for the pressure derived from the conversion factors of the force and length in their SI units respectively and p_0 is the charactistic pressure level in SI units.

    We shift the lattice density by 1 here, to achieve that for rho=1 we get p = p_0.

    mgaedtke
    Keymaster

    Hello happyday,

    I think, changing material numbers or their corresponding temperatures is not nessasary in your case. You should be able to simulate the transient heat transfer of one of your billets by assuming that its relative velocitiy to the casing is constant. Thereby you could just simulate a steady billet, that is constantly heated from above.

    Regards,
    Max

    in reply to: thermal fluid and conjugate heat transfer #2548
    mgaedtke
    Keymaster

    Hello Gao,

    how about this:

    Code:
    double T_cold = 273.15;
    double T_hot = 274.15;

    double latticeTemperature(double physTemperature) {
    return (physTemperature – T_cold) / (T_hot – T_cold);
    }

    This is untested but you should be able to achieve the conversion with something like it very easily.

    Best, Max

    in reply to: Compressible #2551
    mgaedtke
    Keymaster
    Quote:
    dear guys
    i want to change the dynamic classes to compressible by changing the collision equation for compressible flow
    i had the equation of lattice boltzmann in compressible ( feq )
    then i don’t know how to change the dynamics classes !
    its just too complicated
    is there anybody can help me ?
    thanks .

    hey cloner,

    I would suggest you start with simple cases first. Do you have a STL-file for the building? You could try an incompressible flow around that geometry first. If you want to see how STL import to geometry is done in OpenLB, have a look at the example cylinder3d.

    What compressible modell do you plan to implement?

    So, you found the f^eq definition in the dynamics files. Copy and pasting a whole dynamic class until you get a compiling version without any changes exept for the classes name should be the first step. Afterward you should be able to change the collision step towards your needs.

    Best, Max

    in reply to: thermal fluid and conjugate heat transfer #2550
    mgaedtke
    Keymaster

    Hey Gao,

    apparently, the converter of version 1.0 is not capable of converting physical temperatures. I worked on a new converter capabale of that for quite some time and it will hopefully be published soon with the next release version. Until then, I fear you have to do it your self directly in your application’s code.

    Using several converters is okay. I do that too for example in order to have different kappas for solid and fluid.

    I hope, i helped you,
    Best, Max

    in reply to: thermal fluid and conjugate heat transfer #2543
    mgaedtke
    Keymaster

    Hello happyday,

    for the different temperature boundaries:

    First you assign a constant temperature boundary condition to your material number:

    Code:
    TboundaryCondition.addTemperatureBoundary(superGeometry, 3, Tomega);

    For that material number you define a specific temperature by setting the rho value:

    Code:
    AnalyticalConst2D<T,T> Cold(Tcold);

    ADlattice.defineRho(superGeometry, 3, Cold);

    Here Tcold is the dimensionless Temperature = (T – T_lowest) / (T_highest – T_lowest), so usually the colder one will be 0 and the highest 1.

    For conjugated heat transfer you define two AD dynamics, one for the fluid, one for the solid:

    Code:
    AdvectionDiffusionRLBdynamics<T, TDESCRIPTOR> TbulkDynamics (
    converter.getOmegaT(),
    instances::getAdvectionDiffusionBulkMomenta<T,TDESCRIPTOR>()
    );

    AdvectionDiffusionRLBdynamics<T, TDESCRIPTOR> TbulkDynamicsSolid (
    converter[code]

    Code:

    Solid.getOmegaT(),
    instances::getAdvectionDiffusionBulkMomenta<T,TDESCRIPTOR>()
    );[/code]

    You can see that there are different omegas from different converters, so there have to be two converters as well, or you calculate the omega directly in the code as seen in example bifurication3d/eulerEuler:

    Code:
    T omegaAD = 1. / (4. * ( diffusion * (converter.getDeltaT()/(converter.getDeltaX()*converter.getDeltaX()))
    * (1./(converter.getCharU()*converter.getCharL())) ) + 0.5);

    After that you can assign your fluid and solid dynamics to material numbers defined in the geometry (here: 5 = fluid, 6 = solid):

    Code:
    ADlattice.defineDynamics(superGeometry, 5, &advectionDiffusionBulkDynamics);
    ADlattice.defineDynamics(superGeometry, 6, &advectionDiffusionBulkDynamicsSolid);

    NSlattice.defineDynamics(superGeometry, 5, &bulkDynamics);
    NSlattice.defineDynamics(superGeometry, 6, &instances::getNoDynamics<T, NSDESCRIPTOR>());

    You need a boundary condition for the velocity field at the fluid/solid interface, but no boundary condition for the temperature field is needed here (as the temperature is allowed in both regions 5 and 6):

    Code:
    NSboundaryCondition.addVelocityBoundary(superGeometry, 5, NSomega);

    It’s a bit hacky but as it seems it works. Please make sure to validate this method before acuatlly using it!

    I hope i could help you and happy coding,
    Max

    in reply to: thermal fluid and conjugate heat transfer #2537
    mgaedtke
    Keymaster

    Hello happyday,

    Have a look for the thermal2d or thermal3d example cases. You can see the thermal dynamics coupled via the boussinesq approximation already set up in order to simulate the raighley benard convection.

    This model is not capable of simulating internal heat sources so far, but by applying certain boundary conditions you can simulate heat input to the system.

    I did some test with conjugated heat transfer by simply defining another material number with another thermal dynamics using a different diffusion coefficient than the fluid. If you are interested in this setup I can send you some more details.

    Best, Max

Viewing 15 posts - 31 through 45 (of 46 total)