Amirmansour Jafari
Forum Replies Created
-
AuthorPosts
-
Amirmansour JafariParticipant
Thank you very much for your guidance. Yes, you pointed it out exactly right, I have made those corrections, but I’m still getting some warnings during Make step. I’m currently working on resolving them, and if I can’t fix them, I’ll bring them up here.
Once again, I truly appreciate your support and valuable input.Amirmansour JafariParticipantI sincerely appreciate your guidance and support. I have recently started working with OpenLB and have been enthusiastically following the user-guide and actively monitoring the forum discussions.
You are absolutely right. Despite assigning 16 cores (mpirun -np 16) and allowing the simulation to run for over 2 hours, with iterations proceeding as expected, the process remains computationally intensive and time-consuming.
I’m also facing another challenge in this regard. Due to the above, I intend to run the simulation using my RTX 4050 GPU with CUDA. I have carefully studied all the relevant sections on parallel computing in the user-guide and followed them step by step without encountering any errors.
I have successfully managed to run some of examples using this approach. But I’m encountering errors and warnings when attempting to run certain examples (especially gasStorage2d) that involve GPU computing (in the make step).make -C ../../../external
make[1]: Entering directory ‘/home/amirmansourjafari/Downloads/OpenLB/release-1.8.1/external’
make -C zlib
make[2]: Entering directory ‘/home/amirmansourjafari/Downloads/OpenLB/release-1.8.1/external/zlib’
make[2]: Nothing to be done for ‘all’.
make[2]: Leaving directory ‘/home/amirmansourjafari/Downloads/OpenLB/release-1.8.1/external/zlib’
cp zlib/build/libz.a lib/
make -C tinyxml2
make[2]: Entering directory ‘/home/amirmansourjafari/Downloads/OpenLB/release-1.8.1/external/tinyxml2’
make[2]: Nothing to be done for ‘all’.
make[2]: Leaving directory ‘/home/amirmansourjafari/Downloads/OpenLB/release-1.8.1/external/tinyxml2’
cp tinyxml2/build/libtinyxml2.a lib/
make[1]: Leaving directory ‘/home/amirmansourjafari/Downloads/OpenLB/release-1.8.1/external’
make -C ../../.. core
make[1]: Entering directory ‘/home/amirmansourjafari/Downloads/OpenLB/release-1.8.1’
make[1]: Nothing to be done for ‘core’.
make[1]: Leaving directory ‘/home/amirmansourjafari/Downloads/OpenLB/release-1.8.1’
nvcc -O3 -std=c++20 –forward-unknown-to-host-compiler -pthread –forward-unknown-to-host-compiler -x cu -O3 -std=c++20 –generate-code=arch=compute_89,code=[compute_89,sm_89] –extended-lambda –expt-relaxed-constexpr -rdc=true -Xcudafe “–diag_suppress=implicit_return_from_non_void_function –display_error_number –diag_suppress=20014 –diag_suppress=20011” -DPLATFORM_CPU_SISD -DPLATFORM_GPU_CUDA -DDEFAULT_FLOATING_POINT_TYPE=float -I../../../src -I../../../external/zlib -I../../../external/tinyxml2 -c -o gasStorage2d.o gasStorage2d.cpp
../../../src/core/multiPhaseUnitConverter.h(210): warning #611-D: overloaded virtual function “olb::UnitConverterBase::print” is only partially overridden in class “olb::MultiPhaseUnitConverterFromRelaxationTime<T, NSDESCRIPTOR>”
class MultiPhaseUnitConverterFromRelaxationTime : public UnitConverter<T, DESCRIPTOR> {
^
detected during instantiation of class “olb::MultiPhaseUnitConverterFromRelaxationTime<T, DESCRIPTOR> [with T=T, DESCRIPTOR=NSDESCRIPTOR]” at line 91 of gasStorage2d.cppRemark: The warnings can be suppressed with “-diag-suppress <warning-number>”
../../../src/functors/analytical/indicator/indicatorF2D.h(69): warning #611-D: overloaded virtual function “olb::IndicatorF2D<S>::operator() [with S=T]” is only partially overridden in class “olb::IndicatorCuboid2D<T>”
class IndicatorCuboid2D : public IndicatorF2D<S> {
^
detected during instantiation of class “olb::IndicatorCuboid2D<S> [with S=T]” at line 94 of gasStorage2d.cppgasStorage2d.cpp(94): error: invalid narrowing conversion from “double” to “float”
IndicatorCuboid2D<T> inlet( dx, length[1] – dx, { -inletLength, length[1]/2. }, 0 );
^gasStorage2d.cpp(97): error: invalid narrowing conversion from “double” to “float”
IndicatorCuboid2D<T> outlet( dx, length[1] – dx, { outletLength + length[0] – 0.5*dx, length[1]/2. }, 0);
^gasStorage2d.cpp(97): error: invalid narrowing conversion from “double” to “float”
IndicatorCuboid2D<T> outlet( dx, length[1] – dx, { outletLength + length[0] – 0.5*dx, length[1]/2. }, 0);
^gasStorage2d.cpp(129): error: invalid narrowing conversion from “double” to “float”
IndicatorCuboid2D<T> beforeOutlet_( 1.1*dx, length[1], { length[0] + outletLength – 2.*dx, length[1]/2. }, 0 );
^gasStorage2d.cpp(129): error: invalid narrowing conversion from “double” to “float”
IndicatorCuboid2D<T> beforeOutlet_( 1.1*dx, length[1], { length[0] + outletLength – 2.*dx, length[1]/2. }, 0 );
^
gasStorage2d.cpp(180): error: invalid narrowing conversion from “double” to “float”
SmoothIndicatorFactoredCuboid2D<T, T> phi0( {-inletLength, length[1]/2.},
^gasStorage2d.cpp(186): error: invalid narrowing conversion from “double” to “float”
SmoothIndicatorFactoredCuboid2D<T,T> fringe( {-inletLength, length[1]/2.},
^gasStorage2d.cpp(406): error: invalid narrowing conversion from “double” to “float”
{ ( length[0] + outletLength – inletLength )/2., length[1]/2. }, 0);
^gasStorage2d.cpp(406): error: invalid narrowing conversion from “double” to “float”
{ ( length[0] + outletLength – inletLength )/2., length[1]/2. }, 0);
^9 errors detected in the compilation of “gasStorage2d.cpp”.
make: *** [../../../default.single.mk:41: gasStorage2d.o] Error 2I would greatly appreciate any guidance you could provide on this matter.
Best regards,
Amirmansour- This reply was modified 6 months, 2 weeks ago by Amirmansour Jafari.
Amirmansour JafariParticipantDear OpenLB team,
Regarding the issue raised about running the gasStorage2d example in the latest OpenLB version, has anyone else encountered this problem? Has a solution been found?
Thank you.
Amirmansour JafariParticipantI sincerely appreciate your valuable guidance and kind attention.
Amirmansour JafariParticipantHi @savis. Thank you for your thorough explanation of high density and viscosity ratios. I am interested in checking that the density of two fluids is considered the same and the problem of simulating immiscible two-phase fluids is solved with the difference in high viscosity ratio. I would be grateful if you could introduce a reference in this field.
Best,
AmirmansourAmirmansour JafariParticipantThanks for your informative and valuable explanations. Best regards.
-
AuthorPosts
