Inko0521@126.com
Forum Replies Created
-
AuthorPosts
-
Inko0521@126.comParticipant
Thank you for your quick reply!
OpenLB is an excellent software, thanks again to you and all the developers!
Best wishes!
Inko0521@126.comParticipantThank 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,
JethanInko0521@126.comParticipantHello 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 -
AuthorPosts