I am trying code::Blocks under windows 8 and the compiler Mingw(GCC). I have cleared all bugs due to the ‘timespec’ declaration with the help of palabose forum related to cavity2D . When I tried to compile the vofmultiphase from showCase, I got error like this ;
[code=“cpp-qt”]
||=== Build: Release in Palabos (compiler: GNU GCC Compiler) ===|
obj\Release\examples\showCases\vofMultiPhase\fallingDroplet.o:fallingDroplet.cpp|| multiple definition of plb::stringToTwoPhaseModel(std::string)'| obj\Release\examples\showCases\vofMultiPhase\damBreak3d.o:damBreak3d.cpp|| first defined here| obj\Release\examples\showCases\vofMultiPhase\fallingDroplet.o:fallingDroplet.cpp|| multiple definition ofsetupParameters()’|
obj\Release\examples\showCases\vofMultiPhase\damBreak3d.o:damBreak3d.cpp|| first defined here|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 46 second(s)) ===|
Palabos IO error: Can’t read command-line argument 1: there are no command-line
arguments
The structure of the input parameters should be : E:\palabos-v1.5r1\codeblocks - Copy\bin\Release\Palabos.exe Ra
Process returned 1 (0x1) execution time : 0.014 s
Press any key to continue.
Yet again … boussinesqThermal3d . This same as boussinesqThermal2d
[code=“cpp-qt”]
Palabos IO error: Can’t read command-line argument 1: there are no command-line
arguments
The structure of the input parameters should be : E:\palabos-v1.5r1\codeblocks \bin\Release\Palabos.exe Ra
Process returned 1 (0x1) execution time : 0.109 s
Press any key to continue.
[code=“cpp-qt”]
||=== Build: Release in Palabos (compiler: GNU GCC Compiler) ===|
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent2d\rayleighTaylor2D.cpp||In member function ‘virtual void TwoLayerInitializer<T, Descriptor>::execute(plb::plint, plb::plint, plb::Cell<T, Descriptor>&) const’
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent2d\rayleighTaylor2D.cpp|72|error: there are no arguments to ‘random’ that depend on a template parameter, so a declaration of ‘random’ must be available [-fpermissive]|
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent2d\rayleighTaylor2D.cpp|72|note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)|
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent2d\rayleighTaylor2D.cpp||In instantiation of ‘void TwoLayerInitializer<T, Descriptor>::execute(plb::plint, plb::plint, plb::Cell<T, Descriptor>&) const [with T = double; Descriptor = plb::descriptors::ForcedShanChenD2Q9Descriptor; plb::plint = int]’
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent2d\rayleighTaylor2D.cpp|217|required from here|
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent2d\rayleighTaylor2D.cpp|72|error: ‘random’ was not declared in this scope|
||=== Build failed: 2 error(s), 2 warning(s) (0 minute(s), 10 second(s)) ===|
Corresponding code part
[code="cpp"]
Array<T,2> zeroVelocity (0.,0.);
T rho = (T)1;
// Add a random perturbation to the initial condition to instantiate the
// instability.
if ( (topLayer && iY>ny/2) || (!topLayer && iY <= ny/2) ) {
rho += (double)random()/(double)RAND_MAX * densityFluctuations;
}
else {
rho = almostNoFluid;
}
iniCellAtEquilibrium(cell, rho, zeroVelocity);
}
[code=“cpp-qt”]
||=== Build: Release in Palabos (compiler: GNU GCC Compiler) ===|
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent3d\rayleighTaylor3D.cpp||In member function ‘virtual void TwoLayerInitializer<T, Descriptor>::execute(plb::plint, plb::plint, plb::plint, plb::Cell<T, Descriptor>&) const’
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent3d\rayleighTaylor3D.cpp|78|error: there are no arguments to ‘random’ that depend on a template parameter, so a declaration of ‘random’ must be available [-fpermissive]|
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent3d\rayleighTaylor3D.cpp|78|note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)|
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent3d\rayleighTaylor3D.cpp||In instantiation of ‘void TwoLayerInitializer<T, Descriptor>::execute(plb::plint, plb::plint, plb::plint, plb::Cell<T, Descriptor>&) const [with T = double; Descriptor = plb::descriptors::ForcedShanChenD3Q19Descriptor; plb::plint = int]’
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent3d\rayleighTaylor3D.cpp|232|required from here|
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent3d\rayleighTaylor3D.cpp|78|error: ‘random’ was not declared in this scope|
E:\Mtech\MCS S2\TP\Tutorial\palabos-v1.5r1\examples\showCases\multiComponent3d\rayleighTaylor3D.cpp|78|note: suggested alternative:|
…\externalLibraries\Eigen3\src\Core\MathFunctions.h|700|note: ‘Eigen::internal::random’|
||=== Build failed: 2 error(s), 2 warning(s) (0 minute(s), 20 second(s)) ===|