Skip to content

Inko0521@126.com

Forum Replies Created

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • in reply to: Cnojugated Heat Transfer #8094
    Inko0521@126.com
    Participant

    Thank you for your quick reply!

    OpenLB is an excellent software, thanks again to you and all the developers!

    Best wishes!

    in reply to: Cnojugated Heat Transfer #8040
    Inko0521@126.com
    Participant

    Thank you so much for your reply!
    I tried this method but there still seems to be some problem, could you please help me further?

    1. To begin with, I defined two thermal omegas from two different converters.
    Codes:
    T Tomega = converter.getLatticeThermalRelaxationFrequency();
    T SolidOmega = converterSolid.getLatticeThermalRelaxationFrequency();
    2. Then, I restated the AdvectionDiffusionBGKdynamics for Solid in the header file ‘advectionDiffusionDynamics.h’.
    Codes:
    template<typename T, typename DESCRIPTOR, typename MOMENTA=momenta::AdvectionDiffusionBulkTuple>
    using LocalOmegaAdvectionDiffusionBGK = dynamics::Tuple<
    T,DESCRIPTOR,
    MOMENTA,
    equilibria::FirstOrder,
    collision::OmegaFromCell<collision::BGK>,
    AdvectionDiffusionExternalVelocityCollision
    >;
    3. Thirdly, I define the Dynamics for (1=fluid, 5=solid)
    Codes:
    ADlattice.defineDynamics<AdvectionDiffusionBGKdynamics>(superGeometry,1);
    ADlattice.defineDynamics<LocalOmegaAdvectionDiffusionBGK>(superGeometry,5);
    4. During the process of ‘set boundary’ and ‘define initial conditions’, everything is basically according to the original code. But when I enter the following definition, there is a problem reporting an error ‘Overloaded functions that do not match the argument list’.
    Codes:
    ADlattice.defineField<descriptors::OMEGA>(superGeometry.getMaterialIndicator({5}),SolidOmega);

    It’s worth noting that the fluid’s Omega has been set to ‘Tomega’.
    Am I doing this correctly and is there something I am missing that is preventing the program from working properly?
    Very much looking forward to your reply, which is highly appreciated!

    Best regards,
    Jethan

    in reply to: Cnojugated Heat Transfer #8019
    Inko0521@126.com
    Participant

    Hello OpenLB community,

    I think the forum question he mentioned is this:
    https://www.openlb.net/forum/topic/thermal-fluid-and-conjugate-heat-transfer/

    I’ve also recently been trying to simulate a conjugate heat transfer problem for solids and liquids using Openlb, and I need to set the thermophysical parameters for solids and liquids separately. In the version olb-1.3r0, everything works well when I use the following codes:
    In the case ‘RayleighBenard2d’, I defined two AD dynamics, one for the fluid, one for the solid. Meanwhile, there are different omegas from different converters, so there have to be two converters as well.
    Codes(here: 5 = fluid, 6 = solid):
    ADlattice.defineDynamics(superGeometry, 5, &advectionDiffusionBulkDynamics);
    ADlattice.defineDynamics(superGeometry, 6, &advectionDiffusionBulkDynamicsSolid);

    AdvectionDiffusionBGKdynamics<T, TDESCRIPTOR> TbulkDynamics (
    converter.getOmegaT(),
    instances::getAdvectionDiffusionBulkMomenta<T,TDESCRIPTOR>()
    );
    AdvectionDiffusionBGKdynamics<T, TDESCRIPTOR> TbulkDynamicsSolid (
    converterSolid.getOmegaT(),
    instances::getAdvectionDiffusionBulkMomenta<T,TDESCRIPTOR>()
    );

    But in newer versions(olb-1.5r0), the header files seem to have changed considerably, and these codes don’t work anymore. What is the new way to make this string of code functional and meet my needs (set the thermophysical parameters for solids and liquids separately) please.
    I;m looking forward to your reply!

    Best regards,
    Jethan

Viewing 3 posts - 1 through 3 (of 3 total)