cfdemons / luma Goto Github PK
View Code? Open in Web Editor NEWPublic-facing repository for the open-source project Lattice-Boltzmann @ The University of Manchester (LUMA).
License: Apache License 2.0
Public-facing repository for the open-source project Lattice-Boltzmann @ The University of Manchester (LUMA).
License: Apache License 2.0
I have recently installed LUMA on my device and tried to run the test case as described in
https://github.com/aharwood2/LUMA/wiki/Test-Cases. However, I received the following error:
When running in serial mode, 1 processor only, the test case is run without any problem. I think this is due to HDF5 settings but I don't know how to solve it. this is what i found about configuration of HDF5 on my device:
Anyone can help?
Whether the flexible plate's stress or strain can be obtained in LUMA? Such as the example of a 2D Cylinder with Flexible Filament and a rigid cylinder with an attached flexible plate embedded slightly off-center within a channel flow in SoftwareX (2018). Thanks.
Hello,
Hope you are doing well.
I have a doubt regarding the usage of Gravity force. Can we simulate flexible filaments (pinned) and subjected to uniform flow and gravity turned ON in the flow direction ?
I was trying to validate a benchmark case. But the simulation crashes at an initial timestep of 27 saying "position is off entire grid hierarchy". I can see that the simulation runs fine when I mention the filament as RIGID but fails when I make it FLEXIBLE.
There is no change in the source code. I am only giving inputs in the definitions.h and geometry.config file.
I am attaching the definitions.h and geometry.config file for reference.
link
Any help would be highly appreciated.
Thank You
Akash
There are several issues encountered during the build which if addressed would make things more convenient:
Once the tests work again (#27), they should be set up to run automatically, for example with GitHub Actions.
It would be nice to also simulate multi-phase flow. We can use an existing model like Shan-Chen and incorporate a second population function. The MPI and EGR parts of the code would need upgrading to facilitate this.
Hi,
In my project I need to incorporate sinusoidal pitching of any airfoil. I was stuck in that. I have also seen issue #5 but I don't know what to upgrade. So, I was asking if it is possible to do so with LUMA and if yes how can we do so.
Hope you could help.
Thank You.
Hello,
I am trying to configure the merge tool h5mgm
. I changed the version of the VTK
in the makefile with the version present in my system.
But while making I am getting an error msg:
g++ -c -o src/h5mgm.o src/h5mgm.cpp
In file included from src/VelocitySorter.h:16,
from src/h5mgm.cpp:16:
src/h5mgm.h:20:10: fatal error: hdf5.h: No such file or directory
20 | #include "hdf5.h"
| ^~~~~~~~
compilation terminated.
make: *** [<builtin>: src/h5mgm.o] Error 1
While making the file in the LUMA source directory, it is working without errors. I believe the h5mgm makefile also uses the same definition HDF5_HOME definition that the LUMA makefile does. Correct me if I am wrong.
Any help would be highly appreciated
Assert errors are produced on 1.7.7 when running the test case on the wiki. This is under investigation.
Hello hope all of you are doing well.
We are trying to import an airfoil for our 2-D simulations. We kept the chord length as more than 20 times the thickness of the foil and mentioned it to be flexible. We got an error while we do this. However when we specify it to be rigid there is no error.
This is how we are calling the pointcloud-
FROM_FILE IBM pointcloud_NACA0004_2D.in 0 0 START 0.5 START 0.98 CENTRE 0.0 1 X FLEXIBLE CLAMPED
Our domain size is 4 x 2.
For our purpose we want to be able to specify the foil to be flexible and mention the Young's Modulus if possible. Is there any condition that is used to categorize if a pointcloud object can be specified flexible or not?
Another issue is that even after specifying the airfoil geometry in the pointcloud once it is actually imported to LUMA, the IB markers do not converge on the trailing edge. Below I have attached images of this, second image is the zoomed in view.
I am trying to benchmark the LUMA with 3D sphere flow case, similiar to those in JAS Munoz's thesis. The code always get error bellow when the grids exceed 20 million nodes.
Is that means the memory or MPI exceeds the limits? If it is, what is the limit for current code? It seems the grid system is not distributed storaged.
Best,
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Fatal error in PMPI_Barrier: Unknown error class, error stack:
PMPI_Barrier(425).....................: MPI_Barrier(comm=0x84000004) failed
MPIR_Barrier_impl(332)................: Failure during collective
MPIR_Barrier_impl(327)................:
MPIR_Barrier(292).....................:
MPIR_Barrier_intra(150)...............:
barrier_smp_intra(96).................:
This should be taken care of by the makefile.
Hello, hope you are all doing well. Previously there had been an issue regarding giving prescribed motion to rigid bodies which was answered. We implemented it in code and are glad to say that it worked well as expected. We wanted to try and extend this functionality to flexible bodies as well (say a filament for example). Is there any way by which we can give prescribed motion to a flexible filament? For starters, we can try to implement heaving motion given to the leading edge of a filament.
Error building LUMA on gcc 4.4.7
mpicxx -O3 -std=c++0x -w -fopenmp -I/chalmers/sw/sup64/hdf5-1.10.3//include -c -o obj/BFLBody.o src/BFLBody.cpp
In file included from src/../inc/MpiManager.h:27,
from src/../inc/stdafx.h:206,
from src/BFLBody.cpp:23:
src/../inc/HDFstruct.h:45: error: ISO C++ forbids initialization of member ‘writable_data_count’
src/../inc/HDFstruct.h:45: error: making ‘writable_data_count’ static
src/../inc/HDFstruct.h:45: error: ISO C++ forbids in-class initialization of non-const static member ‘writable_data_count’
In file included from src/../inc/GridUtils.h:27,
from src/../inc/stdafx.h:207,
from src/BFLBody.cpp:23:
src/../inc/GridObj.h:58: error: ‘nullptr’ was not declared in this scope
src/../inc/GridObj.h:58: error: ISO C++ forbids initialization of member ‘parentGrid’
src/../inc/GridObj.h:58: error: making ‘parentGrid’ static
src/../inc/GridObj.h:58: error: invalid in-class initialization of static data member of non-integral type ‘GridObj*’
In file included from src/../inc/stdafx.h:207,
from src/BFLBody.cpp:23:
src/../inc/GridUtils.h:95: error: ‘nullptr’ was not declared in this scope
src/../inc/GridUtils.h:95: error: ‘nullptr’ was not declared in this scope
src/../inc/GridUtils.h:96: error: ‘nullptr’ was not declared in this scope
src/../inc/GridUtils.h:98: error: ‘nullptr’ was not declared in this scope
src/../inc/GridUtils.h:98: error: ‘nullptr’ was not declared in this scope
src/../inc/GridUtils.h:98: error: ‘nullptr’ was not declared in this scope
src/../inc/GridUtils.h:116: error: ‘nullptr’ was not declared in this scope
In file included from src/../inc/BFLBody.h:27,
from src/BFLBody.cpp:24:
src/../inc/Body.h: In constructor ‘Body::Body()’:
src/../inc/Body.h:102: error: ‘nullptr’ was not declared in this scope
src/../inc/Body.h: In member function ‘MarkerData* Body::getMarkerData(double, double, double)’:
src/../inc/Body.h:584: error: ‘nullptr’ was not declared in this scope
src/../inc/Body.h: In member function ‘virtual void Body::writeVtkPosition(int)’:
src/../inc/Body.h:800: error: call of overloaded ‘to_string(int&)’ is ambiguous
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/basic_string.h:2604: note: candidates are: std::string std::to_string(long long int)
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/basic_string.h:2610: note: std::string std::to_string(long long unsigned int)
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/basic_string.h:2616: note: std::string std::to_string(long double)
src/../inc/Body.h:807: error: call of overloaded ‘to_string(int&)’ is ambiguous
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/basic_string.h:2604: note: candidates are: std::string std::to_string(long long int)
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/basic_string.h:2610: note: std::string std::to_string(long long unsigned int)
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/basic_string.h:2616: note: std::string std::to_string(long double)
src/../inc/Body.h:813: error: expected initializer before ‘:’ token
src/../inc/Body.h:821: error: expected primary-expression before ‘nLines’
src/../inc/Body.h:821: error: expected ‘;’ before ‘nLines’
src/../inc/Body.h:821: error: ‘nLines’ was not declared in this scope
src/../inc/Body.h:821: error: expected ‘)’ before ‘;’ token
src/../inc/Body.h:823: error: ‘nLines’ was not declared in this scope
src/../inc/Body.h:825: error: ‘nLines’ was not declared in this scope
src/../inc/Body.h:828: error: ‘nLines’ was not declared in this scope
In file included from src/../inc/BFLBody.h:28,
from src/BFLBody.cpp:24:
src/../inc/BFLMarker.h: At global scope:
src/../inc/BFLMarker.h:53: error: ISO C++ forbids initialization of member ‘forceX’
src/../inc/BFLMarker.h:53: error: making ‘forceX’ static
src/../inc/BFLMarker.h:53: error: ISO C++ forbids in-class initialization of non-const static member ‘forceX’
src/../inc/BFLMarker.h:54: error: ISO C++ forbids initialization of member ‘forceY’
src/../inc/BFLMarker.h:54: error: making ‘forceY’ static
src/../inc/BFLMarker.h:54: error: ISO C++ forbids in-class initialization of non-const static member ‘forceY’
src/../inc/BFLMarker.h:55: error: ISO C++ forbids initialization of member ‘forceZ’
src/../inc/BFLMarker.h:55: error: making ‘forceZ’ static
src/../inc/BFLMarker.h:55: error: ISO C++ forbids in-class initialization of non-const static member ‘forceZ’
src/BFLBody.cpp: In member function ‘void BFLBody::initialise()’:
src/BFLBody.cpp:73: error: expected initializer before ‘:’ token
src/BFLBody.cpp:81: error: expected ‘)’ before ‘;’ token
src/BFLBody.cpp: In constructor ‘BFLBody::BFLBody(GridObj*, int, PCpts*)’:
src/BFLBody.cpp:151: error: class ‘BFLBody’ does not have any field named ‘Body’
src/BFLBody.cpp: In constructor ‘BFLBody::BFLBody(GridObj*, int, std::vector<double, std::allocator >&, double, std::vector<double, std::allocator >&)’:
src/BFLBody.cpp:166: error: class ‘BFLBody’ does not have any field named ‘Body’
src/BFLBody.cpp: In constructor ‘BFLBody::BFLBody(GridObj*, int, std::vector<double, std::allocator >&, double)’:
src/BFLBody.cpp:180: error: class ‘BFLBody’ does not have any field named ‘Body’
src/BFLBody.cpp: In constructor ‘BFLBody::BFLBody(GridObj*, int, std::vector<double, std::allocator >&, std::vector<double, std::allocator >&, std::vector<double, std::allocator >&)’:
src/BFLBody.cpp:195: error: class ‘BFLBody’ does not have any field named ‘Body’
src/BFLBody.cpp: In constructor ‘BFLBody::BFLBody(GridObj*, int, std::vector<double, std::allocator >&, double, double, std::vector<double, std::allocator >&)’:
src/BFLBody.cpp:211: error: class ‘BFLBody’ does not have any field named ‘Body’
src/BFLBody.cpp: In member function ‘void BFLBody::computeQ(int, int, int, GridObj*)’:
src/BFLBody.cpp:314: error: expected initializer before ‘:’ token
src/BFLBody.cpp:715: error: expected primary-expression at end of input
src/BFLBody.cpp:715: error: expected ‘;’ at end of input
src/BFLBody.cpp:715: error: expected primary-expression at end of input
src/BFLBody.cpp:715: error: expected ‘)’ at end of input
src/BFLBody.cpp:715: error: expected statement at end of input
src/BFLBody.cpp:715: error: expected ‘}’ at end of input
make: *** [obj/BFLBody.o] Error 1
The tests no longer run, as they have not kept up with changes in the rest of the codebase. They should be updated to match the current code.
Reported by a user via email
Simple test case of a flat plate in a channel does not give the expected results. Reproducible with/without MPI and OMP support and across multiple grid levels.
Hi,
I have to assign some motion in y to a flexible filament, and the
filament's x position has to be determined dynamically. Everything works
fine, but as filament enters another processor, the simulation hangs up
and doesn't proceed further.
Here is the simulation result:-
The video contains the Ux field, and the picture consists of the Mpiblock
number.
Currently, I am dividing the domain into two parts in the x-direction.
I am using filament as an IBM body.
I am simulating LINUX-UBUNTU 20.04.
In issue#9 you had talked about a
partial solution. So, can you tell me what I should do to avoid the
hanging of simulation when the body moves from one proc to another?
I also like to add that when I start the simulation at the position where
the body lies on the boundary of the two procs, it gives me a segmentation
fault.
I hope you will reply to me at my earliest convenience.
Thank You.
Apparently the needed header has been forgotten?
make: Entering directory `/opt/local/var/macports/build/_opt_PPCRosettaPorts_science_luma/luma/work/LUMA-1.7.12/LUMA'
mkdir -p obj
mpicxx-mpich-gcc12 -O3 -std=c++0x -w -fopenmp -I/include -c -o obj/BFLBody.o src/BFLBody.cpp
mpicxx-mpich-gcc12 -O3 -std=c++0x -w -fopenmp -I/include -c -o obj/BFLMarker.o src/BFLMarker.cpp
mpicxx-mpich-gcc12 -O3 -std=c++0x -w -fopenmp -I/include -c -o obj/FEMBody.o src/FEMBody.cpp
mpicxx-mpich-gcc12 -O3 -std=c++0x -w -fopenmp -I/include -c -o obj/FEMElement.o src/FEMElement.cpp
mpicxx-mpich-gcc12 -O3 -std=c++0x -w -fopenmp -I/include -c -o obj/FEMNode.o src/FEMNode.cpp
mpicxx-mpich-gcc12 -O3 -std=c++0x -w -fopenmp -I/include -c -o obj/GridManager.o src/GridManager.cpp
mpicxx-mpich-gcc12 -O3 -std=c++0x -w -fopenmp -I/include -c -o obj/GridObj.o src/GridObj.cpp
mpicxx-mpich-gcc12 -O3 -std=c++0x -w -fopenmp -I/include -c -o obj/GridObj_init_grids.o src/GridObj_init_grids.cpp
src/BFLBody.cpp: In member function 'void BFLBody::computeQ(int, int, int, GridObj*)':
src/BFLBody.cpp:391:111: error: 'numeric_limits' is not a member of 'std'
391 | if (Q[vel + L_NUM_VELS * storeID] == -1) Q[vel + L_NUM_VELS * storeID] = std::numeric_limits<double>::max();
| ^~~~~~~~~~~~~~
src/BFLBody.cpp:391:126: error: expected primary-expression before 'double'
391 | if (Q[vel + L_NUM_VELS * storeID] == -1) Q[vel + L_NUM_VELS * storeID] = std::numeric_limits<double>::max();
| ^~~~~~
src/BFLBody.cpp: In member function 'void BFLBody::computeQ(int, int, GridObj*)':
src/BFLBody.cpp:526:78: error: 'numeric_limits' is not a member of 'std'
526 | Q[vel + L_NUM_VELS * storeID] = std::numeric_limits<double>::max();
| ^~~~~~~~~~~~~~
src/BFLBody.cpp:526:93: error: expected primary-expression before 'double'
526 | Q[vel + L_NUM_VELS * storeID] = std::numeric_limits<double>::max();
| ^~~~~~
make: *** [obj/BFLBody.o] Error 1
Hi,
I am trying to install LUMA in my Ubuntu 20.04 system. I had built all the dependencies.
When I start making by make
command in LUMA directory everything works fine until it start using lapack libraries.
I am attaching a text file containing error I get.
input_output.txt
One more thing I like to add, the error seems to be same when I try to compile a cpp file using lapack blas libraries without using gfortran and blas, i.e., if I use g++ -o test test.cpp -llapack
instead of g++ -o test test.cpp -llapack -lblas -lgfortran
Hope you may help.
Thank you.
Hi,
I'd like to continue the problem regarding the installation of LUMA in another poster.
I tried the installation on two computers. One is Windows 10 with Ubuntu 18.04.3 LTS. The other is Redhat (see the info below).
LSB Version: :core-4.1-amd64:core-4.1-ia32:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-ia32:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-ia32:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-ia32:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-ia32:printing-4.1-noarch
Distributor ID: RedHatEnterpriseWorkstation
Description: Red Hat Enterprise Linux Workstation release 7.5 (Maipo)
Release: 7.5
Codename: Maipo
No other third party software for LUMA is installed beforehand.
The source code was downloaded and compiled with the commands:
git clone https://github.com/aharwood2/LUMA.git
cd LUMA/LUMA
make
The path of HDF5 was added in ~/.bashrc as below:
export HDF5_HOME=/usr/lib/x86_64-linux-gnu/hdf5/mpich/
There is no problem to run the code serially in the root (namely, LUMA/LUMA/, see above):
./LUMA
When running the code using mpirun:
a) In ./inc/definitions.h, uncomment Line 82 '#define L_BUILD_FOR_MPI'
b) run **mpirun -np 4 --allow-run-as-root ./LUMA **
c) an error is shown. Below is from Ubuntu, but Redhat gives the same error.
[DESKTOP-THCJMDM:1785] *** An error occurred in MPI_Cart_create [DESKTOP-THCJMDM:1785] *** reported by process [3214082049,0] [DESKTOP-THCJMDM:1785] *** on communicator MPI_COMM_WORLD [DESKTOP-THCJMDM:1785] *** MPI_ERR_ARG: invalid argument of some other kind [DESKTOP-THCJMDM:1785] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, [DESKTOP-THCJMDM:1785] *** and potentially your MPI job) [DESKTOP-THCJMDM:01780] 3 more processes have sent help message help-mpi-errors.txt / mpi_errors_are_fatal [DESKTOP-THCJMDM:01780] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
********** LUMA TEST SUITE ********** Beginning test suite -> there are 10 cases to test Starting case 0 of 9... Compiling...failed (check compile log file)...skipping case\n\n Starting case 1 of 9... cp: cannot stat '/restart*': No such file or directory Compiling...failed (check compile log file)...skipping case\n\n Starting case 2 of 9... Compiling...failed (check compile log file)...skipping case\n\n Starting case 3 of 9... Compiling...failed (check compile log file)...skipping case\n\n Starting case 4 of 9... Compiling...failed (check compile log file)...skipping case\n\n Starting case 5 of 9... Compiling... failed (check compile log file)...skipping case\n\n Starting case 6 of 9... Compiling...failed (check compile log file)...skipping case\n\n Starting case 7 of 9... Compiling...failed (check compile log file)...skipping case\n\n Starting case 8 of 9... Compiling...failed (check compile log file)...skipping case\n\n Starting case 9 of 9... cp: cannot stat '/restart*': No such file or directory Compiling...failed (check compile log file)...skipping case\n\n Finished test suite
Hi,
I am trying to validate a benchmark problem (flexible filament attached to a square cylinder) in a rectangular domain.
The inlet is constant velocity, top and bottom are slip boundaries and the outflow is p=0 boundary condition. So I am using eVelocity at inlet, eSlip at top and bottom while ePressure at outlet.
But the simulation crashes as the velocity values start getting NaN, and it propagates from the outlet.
A recently-discovered issue relating to the use of a single core in a given direction for MPI-enable simulations with sub-grids. To reproduce, simply create a simulation with at least one sub-grid and set the number of MPI cores to be 1 in one of the active directions.
Dear @aharwood2 as suggested I open this issue, regarding my building problem.
Hello, I have read the previous closed issues concerning the installation and execution of LUMA.
I have installed the serial version of hdf5
, and its
located in the next address: /usr/include/hdf5
As you can see I exported the path, no errors came out,
I assume it was ok.
(base) valdez@lmpnote05:/media/valdez/data/LUMA/LUMA$ export HDF5_HOME=/usr/include/hdf5
I assume the previous export command was well executed, no errors or warnings appeared.
Then I call the make
command and I get the next terminal output:
(base) valdez@lmpnote05:/media/valdez/data/LUMA/LUMA$ make
mkdir -p obj
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/GridObj_init_grids.o src/GridObj_init_grids.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/ObjectManager.o src/ObjectManager.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/MpiManager_fem.o src/MpiManager_fem.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/IBMarker.o src/IBMarker.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/FEMNode.o src/FEMNode.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/ObjectManager_ops_io.o src/ObjectManager_ops_io.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/IBInfo.o src/IBInfo.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/FEMBody.o src/FEMBody.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/BFLBody.o src/BFLBody.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/IBBody.o src/IBBody.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/GridManager.o src/GridManager.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/ObjectManager_ops_ibm_debug.o src/ObjectManager_ops_ibm_debug.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/BFLMarker.o src/BFLMarker.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/Mpi_buffer_size_send.o src/Mpi_buffer_size_send.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/main_lbm.o src/main_lbm.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/GridObj_ops_lbm.o src/GridObj_ops_lbm.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/Mpi_buffer_size_recv.o src/Mpi_buffer_size_recv.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/stdafx.o src/stdafx.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/ObjectManager_ops_ibm_mpi.o src/ObjectManager_ops_ibm_mpi.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/GridObj_ops_lbm_optimised.o src/GridObj_ops_lbm_optimised.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/Mpi_buffer_unpk.o src/Mpi_buffer_unpk.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/GridObj.o src/GridObj.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/Mpi_buffer_pack.o src/Mpi_buffer_pack.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/MpiManager.o src/MpiManager.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/FEMElement.o src/FEMElement.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/GridUtils.o src/GridUtils.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/MpiManager_ibm.o src/MpiManager_ibm.cpp
mpicxx -O3 -std=c++0x -w -fopenmp -I/usr/include/hdf5/include -c -o obj/GridObj_ops_io.o src/GridObj_ops_io.cpp
In file included from src/GridObj_ops_io.cpp:28:0:
src/../inc/hdf5luma.h:31:10: fatal error: hdf5.h: No such file or directory
#include "hdf5.h" // Load C API
^~~~~~~~
compilation terminated.
makefile:37: recipe for target 'obj/GridObj_ops_io.o' failed
make: *** [obj/GridObj_ops_io.o] Error 1
Looking after the comments and responses from the community I salute you.
When building using GCC 6.4.0 and OpenMPI 3.1.3 make throws the following error:
mpicxx -O3 -std=c++0x -w -fopenmp -I/include -c -o obj/MpiManager_fem.o src/MpiManager_fem.cpp
In file included from src/../inc/FEMBody.h:29:0,
from src/../inc/IBBody.h:30,
from src/../inc/ObjectManager.h:30,
from src/MpiManager_fem.cpp:24:
src/../inc/FEMElement.h:72:21: error: expected ‘)’ before ‘*’ token
FEMElement(FEMBody *fPtr, int i, int DOFs, double spacing, double height, double depth,
^
std::vector<double> &angles, double density, double E);
In file included from src/../inc/FEMBody.h:29:0,
from src/../inc/IBBody.h:30,
from src/../inc/ObjectManager.h:30,
from src/MpiManager_fem.cpp:24:
src/../inc/FEMElement.h:79:2: error: ‘FEMBody’ does not name a type
FEMBody *fPtr;
^~~~~~~
make: *** [obj/MpiManager_fem.o] Error 1
when compiling the source file MpiManager_fem.cpp
.
In file included from ../../../src/../inc/stdafx.h:205,
from ../../../src/BFLBody.cpp:23:
../../../src/../inc/GridManager.h:59:28: error: 'L_NUM_LEVELS' was not declared in this scope
59 | int global_size[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:59:43: error: 'L_NUM_REGIONS' was not declared in this scope
59 | int global_size[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
../../../src/../inc/GridManager.h:68:32: error: 'L_NUM_LEVELS' was not declared in this scope
68 | double global_edges[6][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:68:47: error: 'L_NUM_REGIONS' was not declared in this scope
68 | double global_edges[6][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
../../../src/../inc/GridManager.h:87:32: error: 'L_NUM_LEVELS' was not declared in this scope
87 | bool periodic_flags[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:87:47: error: 'L_NUM_REGIONS' was not declared in this scope
87 | bool periodic_flags[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
In file included from ../../../src/../inc/stdafx.h:207:
../../../src/../inc/MpiManager.h:115:28: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
115 | int neighbour_rank[L_MPI_DIRS]; ///< Neighbour rank number for each direction in Cartesian topology
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:116:30: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
116 | int neighbour_coords[L_DIMS][L_MPI_DIRS]; ///< Coordinates in MPI topology of neighbour ranks
| ^~~~~~
| L_dims
../../../src/../inc/MpiManager.h:116:38: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
116 | int neighbour_coords[L_DIMS][L_MPI_DIRS]; ///< Coordinates in MPI topology of neighbour ranks
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:139:25: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
139 | int rank_coords[L_DIMS]; ///< Coordinates in MPI Cartesian topology
| ^~~~~~
| L_dims
../../../src/../inc/MpiManager.h:172:35: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
172 | MPI_Request send_requests[L_MPI_DIRS]; ///< Array of request structures for handles to posted ISends
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:173:30: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
173 | MPI_Status send_stat[L_MPI_DIRS]; ///< Array of statuses for each ISend
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:179:26: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
179 | int size[L_MPI_DIRS]; ///< Buffer sizes for each direction
| ^~~~~~~~~~
| L_MPI_dir
In file included from ../../../src/../inc/GridUtils.h:27,
from ../../../src/../inc/stdafx.h:208:
../../../src/../inc/GridObj.h:185:93: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
185 | std::vector<int> direction, int order, int i, int j, int k, int p = NULL, int max = 1);
| ^~~~
../../../src/../inc/GridUtils.h:44:38: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
44 | static const int dir_reflect[L_DIMS][L_NUM_VELS]; ///< Array with hardcoded direction numbering for specular reflection
| ^~~~~~
| L_dims
../../../src/../inc/GridUtils.h:44:46: error: 'L_NUM_VELS' was not declared in this scope
44 | static const int dir_reflect[L_DIMS][L_NUM_VELS]; ///< Array with hardcoded direction numbering for specular reflection
| ^~~~~~~~~~
../../../src/../inc/GridUtils.h:45:40: error: 'L_NUM_VELS' was not declared in this scope
45 | static const int dir_opposites[L_NUM_VELS]; ///< Array with hardcoded direction numbering for bounce-back opposites
| ^~~~~~~~~~
../../../src/../inc/GridUtils.h:62:42: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
62 | static double vecnorm(double vec[L_DIMS]); // Function: vecnorm + overloads
| ^~~~~~
| L_dims
In file included from ../../../src/../inc/stdafx.h:209:
../../../src/../inc/GridUnits.h: In static member function 'static double GridUnits::ulat2uphys(T, GridObj*)':
../../../src/../inc/GridUnits.h:58:55: error: 'L_PHYSICAL_U' was not declared in this scope
58 | return (u_lattice * currentGrid->dh * L_PHYSICAL_U) / currentGrid->dt;
| ^~~~~~~~~~~~
../../../src/../inc/stdafx.h: At global scope:
../../../src/../inc/stdafx.h:217:23: error: 'L_NUM_VELS' was not declared in this scope
217 | extern const int c[3][L_NUM_VELS]; ///< Lattice velocities
| ^~~~~~~~~~
../../../src/../inc/stdafx.h:218:24: error: 'L_NUM_VELS' was not declared in this scope
218 | extern const int c_opt[L_NUM_VELS][3]; ///< Lattice velocities optimised arrangement
| ^~~~~~~~~~
../../../src/../inc/stdafx.h:219:23: error: 'L_NUM_VELS' was not declared in this scope
219 | extern const double w[L_NUM_VELS]; ///< Quadrature weights
| ^~~~~~~~~~
In file included from ../../../src/../inc/BFLBody.h:27,
from ../../../src/BFLBody.cpp:24:
../../../src/../inc/Body.h: In constructor 'Body<MarkerType>::Body(GridObj*, int, std::vector<double>&, double, double, std::vector<double>&)':
../../../src/../inc/Body.h:463:38: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
463 | std::vector<double> position(L_DIMS, 0);
| ^~~~~~
| L_dims
../../../src/BFLBody.cpp: In member function 'void BFLBody::initialise()':
../../../src/BFLBody.cpp:100:18: error: 'L_NUM_VELS' was not declared in this scope
100 | Q.resize(L_NUM_VELS * markers.size(), -1.0);
| ^~~~~~~~~~
../../../src/BFLBody.cpp: In member function 'void BFLBody::computeQ(int, int, int, GridObj*)':
../../../src/BFLBody.cpp:337:41: error: 'L_NUM_VELS' was not declared in this scope
337 | for (int vel = 0; vel < L_NUM_VELS - 1; vel+=2) {
| ^~~~~~~~~~
../../../src/BFLBody.cpp:340:39: error: 'c' was not declared in this scope; did you mean 'cs'?
340 | dest_i = (i + c[0][vel] + g->N_lim) % g->N_lim;
| ^
| cs
../../../src/BFLBody.cpp: In member function 'void BFLBody::computeQ(int, int, GridObj*)':
../../../src/BFLBody.cpp:490:41: error: 'L_NUM_VELS' was not declared in this scope
490 | for (int vel = 0; vel < L_NUM_VELS - 1; vel++) {
| ^~~~~~~~~~
../../../src/BFLBody.cpp:493:39: error: 'c' was not declared in this scope; did you mean 'cs'?
493 | dest_i = (i + c[0][vel] + g->N_lim) % g->N_lim;
| ^
| cs
In file included from ../../../src/../inc/stdafx.h:205,
from ../../../src/BFLMarker.cpp:23:
../../../src/../inc/GridManager.h:59:28: error: 'L_NUM_LEVELS' was not declared in this scope
59 | int global_size[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:59:43: error: 'L_NUM_REGIONS' was not declared in this scope
59 | int global_size[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
../../../src/../inc/GridManager.h:68:32: error: 'L_NUM_LEVELS' was not declared in this scope
68 | double global_edges[6][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:68:47: error: 'L_NUM_REGIONS' was not declared in this scope
68 | double global_edges[6][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
../../../src/../inc/GridManager.h:87:32: error: 'L_NUM_LEVELS' was not declared in this scope
87 | bool periodic_flags[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:87:47: error: 'L_NUM_REGIONS' was not declared in this scope
87 | bool periodic_flags[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
In file included from ../../../src/../inc/stdafx.h:207:
../../../src/../inc/MpiManager.h:115:28: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
115 | int neighbour_rank[L_MPI_DIRS]; ///< Neighbour rank number for each direction in Cartesian topology
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:116:30: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
116 | int neighbour_coords[L_DIMS][L_MPI_DIRS]; ///< Coordinates in MPI topology of neighbour ranks
| ^~~~~~
| L_dims
../../../src/../inc/MpiManager.h:116:38: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
116 | int neighbour_coords[L_DIMS][L_MPI_DIRS]; ///< Coordinates in MPI topology of neighbour ranks
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:139:25: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
139 | int rank_coords[L_DIMS]; ///< Coordinates in MPI Cartesian topology
| ^~~~~~
| L_dims
../../../src/../inc/MpiManager.h:172:35: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
172 | MPI_Request send_requests[L_MPI_DIRS]; ///< Array of request structures for handles to posted ISends
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:173:30: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
173 | MPI_Status send_stat[L_MPI_DIRS]; ///< Array of statuses for each ISend
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:179:26: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
179 | int size[L_MPI_DIRS]; ///< Buffer sizes for each direction
| ^~~~~~~~~~
| L_MPI_dir
In file included from ../../../src/../inc/GridUtils.h:27,
from ../../../src/../inc/stdafx.h:208:
../../../src/../inc/GridObj.h:185:93: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
185 | std::vector<int> direction, int order, int i, int j, int k, int p = NULL, int max = 1);
| ^~~~
../../../src/../inc/GridUtils.h:44:38: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
44 | static const int dir_reflect[L_DIMS][L_NUM_VELS]; ///< Array with hardcoded direction numbering for specular reflection
| ^~~~~~
| L_dims
../../../src/../inc/GridUtils.h:44:46: error: 'L_NUM_VELS' was not declared in this scope
44 | static const int dir_reflect[L_DIMS][L_NUM_VELS]; ///< Array with hardcoded direction numbering for specular reflection
| ^~~~~~~~~~
../../../src/../inc/GridUtils.h:45:40: error: 'L_NUM_VELS' was not declared in this scope
45 | static const int dir_opposites[L_NUM_VELS]; ///< Array with hardcoded direction numbering for bounce-back opposites
| ^~~~~~~~~~
../../../src/../inc/GridUtils.h:62:42: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
62 | static double vecnorm(double vec[L_DIMS]); // Function: vecnorm + overloads
| ^~~~~~
| L_dims
In file included from ../../../src/../inc/stdafx.h:209:
../../../src/../inc/GridUnits.h: In static member function 'static double GridUnits::ulat2uphys(T, GridObj*)':
../../../src/../inc/GridUnits.h:58:55: error: 'L_PHYSICAL_U' was not declared in this scope
58 | return (u_lattice * currentGrid->dh * L_PHYSICAL_U) / currentGrid->dt;
| ^~~~~~~~~~~~
../../../src/../inc/stdafx.h: At global scope:
../../../src/../inc/stdafx.h:217:23: error: 'L_NUM_VELS' was not declared in this scope
217 | extern const int c[3][L_NUM_VELS]; ///< Lattice velocities
| ^~~~~~~~~~
../../../src/../inc/stdafx.h:218:24: error: 'L_NUM_VELS' was not declared in this scope
218 | extern const int c_opt[L_NUM_VELS][3]; ///< Lattice velocities optimised arrangement
| ^~~~~~~~~~
../../../src/../inc/stdafx.h:219:23: error: 'L_NUM_VELS' was not declared in this scope
219 | extern const double w[L_NUM_VELS]; ///< Quadrature weights
| ^~~~~~~~~~
In file included from ../../../src/../inc/stdafx.h:205,
from ../../../src/FEMBody.cpp:23:
../../../src/../inc/GridManager.h:59:28: error: 'L_NUM_LEVELS' was not declared in this scope
59 | int global_size[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:59:43: error: 'L_NUM_REGIONS' was not declared in this scope
59 | int global_size[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
../../../src/../inc/GridManager.h:68:32: error: 'L_NUM_LEVELS' was not declared in this scope
68 | double global_edges[6][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:68:47: error: 'L_NUM_REGIONS' was not declared in this scope
68 | double global_edges[6][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
../../../src/../inc/GridManager.h:87:32: error: 'L_NUM_LEVELS' was not declared in this scope
87 | bool periodic_flags[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:87:47: error: 'L_NUM_REGIONS' was not declared in this scope
87 | bool periodic_flags[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
In file included from ../../../src/../inc/stdafx.h:207:
../../../src/../inc/MpiManager.h:115:28: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
115 | int neighbour_rank[L_MPI_DIRS]; ///< Neighbour rank number for each direction in Cartesian topology
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:116:30: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
116 | int neighbour_coords[L_DIMS][L_MPI_DIRS]; ///< Coordinates in MPI topology of neighbour ranks
| ^~~~~~
| L_dims
../../../src/../inc/MpiManager.h:116:38: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
116 | int neighbour_coords[L_DIMS][L_MPI_DIRS]; ///< Coordinates in MPI topology of neighbour ranks
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:139:25: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
139 | int rank_coords[L_DIMS]; ///< Coordinates in MPI Cartesian topology
| ^~~~~~
| L_dims
../../../src/../inc/MpiManager.h:172:35: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
172 | MPI_Request send_requests[L_MPI_DIRS]; ///< Array of request structures for handles to posted ISends
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:173:30: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
173 | MPI_Status send_stat[L_MPI_DIRS]; ///< Array of statuses for each ISend
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:179:26: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
179 | int size[L_MPI_DIRS]; ///< Buffer sizes for each direction
| ^~~~~~~~~~
| L_MPI_dir
In file included from ../../../src/../inc/GridUtils.h:27,
from ../../../src/../inc/stdafx.h:208:
../../../src/../inc/GridObj.h:185:93: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
185 | std::vector<int> direction, int order, int i, int j, int k, int p = NULL, int max = 1);
| ^~~~
../../../src/../inc/GridUtils.h:44:38: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
44 | static const int dir_reflect[L_DIMS][L_NUM_VELS]; ///< Array with hardcoded direction numbering for specular reflection
| ^~~~~~
| L_dims
../../../src/../inc/GridUtils.h:44:46: error: 'L_NUM_VELS' was not declared in this scope
44 | static const int dir_reflect[L_DIMS][L_NUM_VELS]; ///< Array with hardcoded direction numbering for specular reflection
| ^~~~~~~~~~
../../../src/../inc/GridUtils.h:45:40: error: 'L_NUM_VELS' was not declared in this scope
45 | static const int dir_opposites[L_NUM_VELS]; ///< Array with hardcoded direction numbering for bounce-back opposites
| ^~~~~~~~~~
../../../src/../inc/GridUtils.h:62:42: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
62 | static double vecnorm(double vec[L_DIMS]); // Function: vecnorm + overloads
| ^~~~~~
| L_dims
. . .
../../../src/GridObj_init_grids.cpp:1021:100: error: 'L_WALL_RIGHT' was not declared in this scope
1021 | LBM_setBCPrecedence(LatTyp(i, j, k, M_lim, K_lim), L_WALL_RIGHT);
| ^~~~~~~~~~~~
../../../src/GridObj_init_grids.cpp:1068:32: error: 'L_WALL_THICKNESS_BOTTOM' was not declared in this scope
1068 | if (YPos[j] <= L_WALL_THICKNESS_BOTTOM)
| ^~~~~~~~~~~~~~~~~~~~~~~
../../../src/GridObj_init_grids.cpp:1075:100: error: 'L_WALL_BOTTOM' was not declared in this scope
1075 | LBM_setBCPrecedence(LatTyp(i, j, k, M_lim, K_lim), L_WALL_BOTTOM);
| ^~~~~~~~~~~~~
../../../src/GridObj_init_grids.cpp:1085:60: error: 'class GridManager' has no member named 'global_edges'
1085 | if (YPos[j] >= GridManager::getInstance()->global_edges[eYMax][0] - L_WALL_THICKNESS_TOP)
| ^~~~~~~~~~~~
../../../src/GridObj_init_grids.cpp:1085:85: error: 'L_WALL_THICKNESS_TOP' was not declared in this scope
1085 | if (YPos[j] >= GridManager::getInstance()->global_edges[eYMax][0] - L_WALL_THICKNESS_TOP)
| ^~~~~~~~~~~~~~~~~~~~
../../../src/GridObj_init_grids.cpp:1092:100: error: 'L_WALL_TOP' was not declared in this scope
1092 | LBM_setBCPrecedence(LatTyp(i, j, k, M_lim, K_lim), L_WALL_TOP);
| ^~~~~~~~~~
../../../src/GridObj_init_grids.cpp: In member function 'void GridObj::LBM_initRefinedLab(GridObj&)':
../../../src/GridObj_init_grids.cpp:1119:46: error: 'L_NUM_LEVELS' was not declared in this scope
1119 | int gm_idx = level + region_number * L_NUM_LEVELS;
| ^~~~~~~~~~~~
../../../src/GridObj_init_grids.cpp:1123:32: error: 'class GridManager' has no member named 'global_edges'
1123 | edges[d] = gm->global_edges[d][gm_idx];
| ^~~~~~~~~~~~
../../../src/GridObj_init_grids.cpp: In member function 'void GridObj::_LBM_initSetInletProfile()':
../../../src/GridObj_init_grids.cpp:1354:47: error: 'L_UX0' was not declared in this scope
1354 | ux_in[j] = GridUnits::ud2ulbm(L_UX0, this);
| ^~~~~
../../../src/GridObj_init_grids.cpp:1355:47: error: 'L_UY0' was not declared in this scope
1355 | uy_in[j] = GridUnits::ud2ulbm(L_UY0, this);
| ^~~~~
../../../src/GridObj_init_grids.cpp:1356:47: error: 'L_UZ0' was not declared in this scope
1356 | uz_in[j] = GridUnits::ud2ulbm(L_UZ0, this);
| ^~~~~
In file included from ../../../src/../inc/stdafx.h:205,
from ../../../src/GridObj_ops_io.cpp:25:
../../../src/../inc/GridManager.h:59:28: error: 'L_NUM_LEVELS' was not declared in this scope
59 | int global_size[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:59:43: error: 'L_NUM_REGIONS' was not declared in this scope
59 | int global_size[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
../../../src/../inc/GridManager.h:68:32: error: 'L_NUM_LEVELS' was not declared in this scope
68 | double global_edges[6][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:68:47: error: 'L_NUM_REGIONS' was not declared in this scope
68 | double global_edges[6][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
../../../src/../inc/GridManager.h:87:32: error: 'L_NUM_LEVELS' was not declared in this scope
87 | bool periodic_flags[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:87:47: error: 'L_NUM_REGIONS' was not declared in this scope
87 | bool periodic_flags[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
In file included from ../../../src/../inc/stdafx.h:207:
../../../src/../inc/MpiManager.h:115:28: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
115 | int neighbour_rank[L_MPI_DIRS]; ///< Neighbour rank number for each direction in Cartesian topology
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:116:30: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
116 | int neighbour_coords[L_DIMS][L_MPI_DIRS]; ///< Coordinates in MPI topology of neighbour ranks
| ^~~~~~
| L_dims
../../../src/../inc/MpiManager.h:116:38: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
116 | int neighbour_coords[L_DIMS][L_MPI_DIRS]; ///< Coordinates in MPI topology of neighbour ranks
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:139:25: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
139 | int rank_coords[L_DIMS]; ///< Coordinates in MPI Cartesian topology
| ^~~~~~
| L_dims
../../../src/../inc/MpiManager.h:172:35: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
172 | MPI_Request send_requests[L_MPI_DIRS]; ///< Array of request structures for handles to posted ISends
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:173:30: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
173 | MPI_Status send_stat[L_MPI_DIRS]; ///< Array of statuses for each ISend
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:179:26: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
179 | int size[L_MPI_DIRS]; ///< Buffer sizes for each direction
| ^~~~~~~~~~
| L_MPI_dir
In file included from ../../../src/../inc/GridUtils.h:27,
from ../../../src/../inc/stdafx.h:208:
../../../src/../inc/GridObj.h:185:93: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
185 | std::vector<int> direction, int order, int i, int j, int k, int p = NULL, int max = 1);
| ^~~~
../../../src/../inc/GridUtils.h:44:38: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
44 | static const int dir_reflect[L_DIMS][L_NUM_VELS]; ///< Array with hardcoded direction numbering for specular reflection
| ^~~~~~
| L_dims
../../../src/../inc/GridUtils.h:44:46: error: 'L_NUM_VELS' was not declared in this scope
44 | static const int dir_reflect[L_DIMS][L_NUM_VELS]; ///< Array with hardcoded direction numbering for specular reflection
| ^~~~~~~~~~
../../../src/../inc/GridUtils.h:45:40: error: 'L_NUM_VELS' was not declared in this scope
45 | static const int dir_opposites[L_NUM_VELS]; ///< Array with hardcoded direction numbering for bounce-back opposites
| ^~~~~~~~~~
../../../src/../inc/GridUtils.h:62:42: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
62 | static double vecnorm(double vec[L_DIMS]); // Function: vecnorm + overloads
| ^~~~~~
| L_dims
In file included from ../../../src/../inc/stdafx.h:209:
../../../src/../inc/GridUnits.h: In static member function 'static double GridUnits::ulat2uphys(T, GridObj*)':
../../../src/../inc/GridUnits.h:58:55: error: 'L_PHYSICAL_U' was not declared in this scope
58 | return (u_lattice * currentGrid->dh * L_PHYSICAL_U) / currentGrid->dt;
| ^~~~~~~~~~~~
../../../src/../inc/stdafx.h: At global scope:
../../../src/../inc/stdafx.h:217:23: error: 'L_NUM_VELS' was not declared in this scope
217 | extern const int c[3][L_NUM_VELS]; ///< Lattice velocities
| ^~~~~~~~~~
../../../src/../inc/stdafx.h:218:24: error: 'L_NUM_VELS' was not declared in this scope
218 | extern const int c_opt[L_NUM_VELS][3]; ///< Lattice velocities optimised arrangement
| ^~~~~~~~~~
../../../src/../inc/stdafx.h:219:23: error: 'L_NUM_VELS' was not declared in this scope
219 | extern const double w[L_NUM_VELS]; ///< Quadrature weights
| ^~~~~~~~~~
In file included from ../../../src/../inc/IBBody.h:29,
from ../../../src/../inc/ObjectManager.h:30,
from ../../../src/GridObj_ops_io.cpp:27:
../../../src/../inc/Body.h: In constructor 'Body<MarkerType>::Body(GridObj*, int, std::vector<double>&, double, double, std::vector<double>&)':
../../../src/../inc/Body.h:463:38: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
463 | std::vector<double> position(L_DIMS, 0);
| ^~~~~~
| L_dims
In file included from ../../../src/GridObj_ops_io.cpp:28:
../../../src/../inc/hdf5luma.h: In function 'void hdf5_writeDataSet(hid_t&, hid_t&, hid_t&, eHdf5SlabType, GridObj*, T*, hid_t, bool*, int, double*, HDFstruct)':
../../../src/../inc/hdf5luma.h:74:50: error: 'L_NUM_LEVELS' was not declared in this scope
74 | else idx = g->level + g->region_number * L_NUM_LEVELS;
| ^~~~~~~~~~~~
../../../src/../inc/hdf5luma.h:128:26: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
128 | hsize_t f_offset[L_DIMS], f_block[L_DIMS], f_count[L_DIMS], f_stride[L_DIMS];
| ^~~~~~
| L_dims
../../../src/../inc/hdf5luma.h:150:42: error: 'f_offset' was not declared in this scope; did you mean 'm_offset'?
150 | for (int d = 0; d < L_DIMS; d++) f_offset[d] = 0;
| ^~~~~~~~
| m_offset
../../../src/../inc/hdf5luma.h:155:9: error: 'f_block' was not declared in this scope; did you mean 'm_block'?
155 | f_block[0] = i_end - i_start + 1;
| ^~~~~~~
| m_block
../../../src/../inc/hdf5luma.h:158:9: error: 'f_count' was not declared in this scope; did you mean 'm_count'?
158 | f_count[0] = 1;
| ^~~~~~~
| m_count
../../../src/../inc/hdf5luma.h:161:9: error: 'f_stride' was not declared in this scope; did you mean 'm_stride'?
161 | f_stride[0] = f_block[0];
| ^~~~~~~~
| m_stride
../../../src/../inc/hdf5luma.h:187:65: error: 'f_offset' was not declared in this scope; did you mean 'm_offset'?
187 | status = H5Sselect_hyperslab(filespace, H5S_SELECT_SET, f_offset, f_stride, f_count, f_block);
| ^~~~~~~~
| m_offset
../../../src/GridObj_ops_io.cpp: In member function 'void GridObj::io_textout(std::string)':
../../../src/GridObj_ops_io.cpp:45:30: error: 'L_OUTPUT_PRECISION' was not declared in this scope
45 | gridoutput.precision(L_OUTPUT_PRECISION);
| ^~~~~~~~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:53:13: error: 'L_NUM_LEVELS' was not declared in this scope
53 | if (L_NUM_LEVELS == 0) ex_str = to_string(0);
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:55:13: error: 'L_NUM_LEVELS' was not declared in this scope
55 | if (L_NUM_LEVELS == 0) NumReg_str = to_string(0);
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:60:52: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
60 | + string("D") + to_string(L_DIMS)
| ^~~~~~
| L_dims
../../../src/GridObj_ops_io.cpp:153:40: error: 'L_NUM_VELS' was not declared in this scope
153 | for (size_t v = 0; v < L_NUM_VELS; v++) {
| ^~~~~~~~~~
../../../src/GridObj_ops_io.cpp:176:40: error: 'L_NUM_VELS' was not declared in this scope
176 | for (size_t v = 0; v < L_NUM_VELS; v++) {
| ^~~~~~~~~~
../../../src/GridObj_ops_io.cpp: In member function 'void GridObj::io_fgaout()':
../../../src/GridObj_ops_io.cpp:278:14: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
278 | if ((L_DIMS == 2) || (L_DIMS == 3)){
| ^~~~~~
| L_dims
../../../src/GridObj_ops_io.cpp: In member function 'void GridObj::_io_fgaout(int)':
../../../src/GridObj_ops_io.cpp:304:30: error: 'L_OUTPUT_PRECISION' was not declared in this scope
304 | gridoutput.precision(L_OUTPUT_PRECISION);
| ^~~~~~~~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:315:13: error: 'L_NUM_LEVELS' was not declared in this scope
315 | if (L_NUM_LEVELS == 0) NumReg_str = to_string(0);
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:320:43: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
320 | + string("D") + to_string(L_DIMS)
| ^~~~~~
| L_dims
../../../src/GridObj_ops_io.cpp: In member function 'void GridObj::io_restart(eIOFlag)':
../../../src/GridObj_ops_io.cpp:455:57: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
455 | for (v = 0; v < L_DIMS; v++) {
| ^~~~~~
| L_dims
../../../src/GridObj_ops_io.cpp:464:57: error: 'L_NUM_VELS' was not declared in this scope
464 | for (v = 0; v < L_NUM_VELS; v++) {
| ^~~~~~~~~~
../../../src/GridObj_ops_io.cpp:491:29: error: 'L_NUM_LEVELS' was not declared in this scope
491 | if (level < L_NUM_LEVELS && subGrid.size()) {
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:553:41: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
553 | for (v = 0; v < L_DIMS; v++) {
| ^~~~~~
| L_dims
../../../src/GridObj_ops_io.cpp:563:41: error: 'L_NUM_VELS' was not declared in this scope
563 | for (v = 0; v < L_NUM_VELS; v++) {
| ^~~~~~~~~~
../../../src/GridObj_ops_io.cpp: In member function 'void GridObj::io_probeOutput()':
../../../src/GridObj_ops_io.cpp:612:29: error: 'L_OUTPUT_PRECISION' was not declared in this scope
612 | probefile.precision(L_OUTPUT_PRECISION);
| ^~~~~~~~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:623:23: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
623 | double pspace[L_DIMS];
| ^~~~~~
| L_dims
../../../src/GridObj_ops_io.cpp:624:13: error: 'cNumProbes' was not declared in this scope; did you mean 'nProbes'?
624 | if (cNumProbes[0] > 1)
| ^~~~~~~~~~
| nProbes
../../../src/GridObj_ops_io.cpp:625:17: error: 'pspace' was not declared in this scope; did you mean 'isspace'?
625 | pspace[0] = abs(cProbeLimsX[1] - cProbeLimsX[0]) / (cNumProbes[0] - 1);
| ^~~~~~
| isspace
../../../src/GridObj_ops_io.cpp:625:33: error: 'cProbeLimsX' was not declared in this scope; did you mean 'zProbeLims'?
625 | pspace[0] = abs(cProbeLimsX[1] - cProbeLimsX[0]) / (cNumProbes[0] - 1);
| ^~~~~~~~~~~
| zProbeLims
../../../src/GridObj_ops_io.cpp:626:13: error: 'cNumProbes' was not declared in this scope; did you mean 'nProbes'?
626 | if (cNumProbes[1] > 1)
| ^~~~~~~~~~
| nProbes
../../../src/GridObj_ops_io.cpp:627:17: error: 'pspace' was not declared in this scope; did you mean 'isspace'?
627 | pspace[1] = abs(cProbeLimsY[1] - cProbeLimsY[0]) / (cNumProbes[1] - 1);
| ^~~~~~
| isspace
../../../src/GridObj_ops_io.cpp:627:33: error: 'cProbeLimsY' was not declared in this scope; did you mean 'zProbeLims'?
627 | pspace[1] = abs(cProbeLimsY[1] - cProbeLimsY[0]) / (cNumProbes[1] - 1);
| ^~~~~~~~~~~
| zProbeLims
../../../src/GridObj_ops_io.cpp:634:25: error: 'cNumProbes' was not declared in this scope; did you mean 'nProbes'?
634 | for (i = 0; i < cNumProbes[0]; i++) {
| ^~~~~~~~~~
| nProbes
../../../src/GridObj_ops_io.cpp:635:21: error: 'cProbeLimsX' was not declared in this scope; did you mean 'zProbeLims'?
635 | x = cProbeLimsX[0] + i*pspace[0];
| ^~~~~~~~~~~
| zProbeLims
../../../src/GridObj_ops_io.cpp:635:40: error: 'pspace' was not declared in this scope; did you mean 'isspace'?
635 | x = cProbeLimsX[0] + i*pspace[0];
| ^~~~~~
| isspace
../../../src/GridObj_ops_io.cpp:638:29: error: 'cProbeLimsY' was not declared in this scope; did you mean 'zProbeLims'?
638 | y = cProbeLimsY[0] + j*pspace[1];
| ^~~~~~~~~~~
| zProbeLims
../../../src/GridObj_ops_io.cpp:650:48: error: 'L_NUM_LEVELS' was not declared in this scope
650 | for (int lev = L_NUM_LEVELS; lev >= 0; --lev)
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:652:65: error: 'L_NUM_REGIONS' was not declared in this scope
652 | for (int reg = 0; reg < L_NUM_REGIONS; ++reg)
| ^~~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp: In member function 'void GridObj::io_lite(double, std::string)':
../../../src/GridObj_ops_io.cpp:718:28: error: 'L_OUTPUT_PRECISION' was not declared in this scope
718 | litefile.precision(L_OUTPUT_PRECISION);
| ^~~~~~~~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:748:57: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
748 | for (v = 0; v < L_DIMS; v++) {
| ^~~~~~
| L_dims
../../../src/GridObj_ops_io.cpp:756:57: error: 'L_NUM_VELS' was not declared in this scope
756 | for (v = 0; v < L_NUM_VELS; v++) {
| ^~~~~~~~~~
../../../src/GridObj_ops_io.cpp:759:57: error: 'L_NUM_VELS' was not declared in this scope
759 | for (v = 0; v < L_NUM_VELS; v++) {
| ^~~~~~~~~~
../../../src/GridObj_ops_io.cpp:803:13: error: 'L_NUM_LEVELS' was not declared in this scope
803 | if (L_NUM_LEVELS > level) {
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp: In member function 'int GridObj::io_hdf5(double)':
../../../src/GridObj_ops_io.cpp:830:45: error: 'class GridManager' has no member named 'global_edges'
830 | minEdges[eXDirection] = gm->global_edges[eXMin][level + region_number * L_NUM_LEVELS];
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:830:89: error: 'L_NUM_LEVELS' was not declared in this scope
830 | minEdges[eXDirection] = gm->global_edges[eXMin][level + region_number * L_NUM_LEVELS];
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:831:45: error: 'class GridManager' has no member named 'global_edges'
831 | minEdges[eYDirection] = gm->global_edges[eYMin][level + region_number * L_NUM_LEVELS];
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:832:45: error: 'class GridManager' has no member named 'global_edges'
832 | minEdges[eZDirection] = gm->global_edges[eZMin][level + region_number * L_NUM_LEVELS];
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:865:23: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
865 | hsize_t dimsf[L_DIMS];
| ^~~~~~
| L_dims
../../../src/GridObj_ops_io.cpp:893:97: error: 'L_NUM_LEVELS' was not declared in this scope
893 | TL_present[eXDirection] = gm->subgrid_tlayer_key[eXMin][level + region_number * L_NUM_LEVELS - 1];
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:965:51: error: 'L_NUM_LEVELS' was not declared in this scope
965 | int idx = level + region_number * L_NUM_LEVELS;
| ^~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:966:17: error: 'dimsf' was not declared in this scope; did you mean 'dimsa'?
966 | dimsf[0] = gm->global_size[eXDirection][idx];
| ^~~~~
| dimsa
../../../src/GridObj_ops_io.cpp:966:32: error: 'class GridManager' has no member named 'global_size'; did you mean 'local_size'?
966 | dimsf[0] = gm->global_size[eXDirection][idx];
| ^~~~~~~~~~~
| local_size
../../../src/GridObj_ops_io.cpp:967:32: error: 'class GridManager' has no member named 'global_size'; did you mean 'local_size'?
967 | dimsf[1] = gm->global_size[eYDirection][idx];
| ^~~~~~~~~~~
| local_size
../../../src/GridObj_ops_io.cpp:1040:25: error: 'buffer_int_array' was not declared in this scope; did you mean 'buffer_int'?
1040 | buffer_int_array[0] = static_cast<int>(dimsf[0]);
| ^~~~~~~~~~~~~~~~
| buffer_int
../../../src/GridObj_ops_io.cpp:1058:38: error: 'L_TOTAL_TIMESTEPS' was not declared in this scope
1058 | buffer_int = L_TOTAL_TIMESTEPS;
| ^~~~~~~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:1068:38: error: 'L_GRID_OUT_FREQ' was not declared in this scope
1068 | buffer_int = L_GRID_OUT_FREQ;
| ^~~~~~~~~~~~~~~
../../../src/GridObj_ops_io.cpp:1092:38: error: 'L_NUM_REGIONS' was not declared in this scope
1092 | buffer_int = L_NUM_REGIONS;
| ^~~~~~~~~~~~~
In file included from ../../../src/../inc/stdafx.h:205,
from ../../../src/GridObj_ops_lbm.cpp:27:
../../../src/../inc/GridManager.h:59:28: error: 'L_NUM_LEVELS' was not declared in this scope
59 | int global_size[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:59:43: error: 'L_NUM_REGIONS' was not declared in this scope
59 | int global_size[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
../../../src/../inc/GridManager.h:68:32: error: 'L_NUM_LEVELS' was not declared in this scope
68 | double global_edges[6][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:68:47: error: 'L_NUM_REGIONS' was not declared in this scope
68 | double global_edges[6][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
../../../src/../inc/GridManager.h:87:32: error: 'L_NUM_LEVELS' was not declared in this scope
87 | bool periodic_flags[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~
../../../src/../inc/GridManager.h:87:47: error: 'L_NUM_REGIONS' was not declared in this scope
87 | bool periodic_flags[3][L_NUM_LEVELS * L_NUM_REGIONS + 1];
| ^~~~~~~~~~~~~
In file included from ../../../src/../inc/stdafx.h:207:
../../../src/../inc/MpiManager.h:115:28: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
115 | int neighbour_rank[L_MPI_DIRS]; ///< Neighbour rank number for each direction in Cartesian topology
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:116:30: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
116 | int neighbour_coords[L_DIMS][L_MPI_DIRS]; ///< Coordinates in MPI topology of neighbour ranks
| ^~~~~~
| L_dims
../../../src/../inc/MpiManager.h:116:38: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
116 | int neighbour_coords[L_DIMS][L_MPI_DIRS]; ///< Coordinates in MPI topology of neighbour ranks
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:139:25: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
139 | int rank_coords[L_DIMS]; ///< Coordinates in MPI Cartesian topology
| ^~~~~~
| L_dims
../../../src/../inc/MpiManager.h:172:35: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
172 | MPI_Request send_requests[L_MPI_DIRS]; ///< Array of request structures for handles to posted ISends
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:173:30: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
173 | MPI_Status send_stat[L_MPI_DIRS]; ///< Array of statuses for each ISend
| ^~~~~~~~~~
| L_MPI_dir
../../../src/../inc/MpiManager.h:179:26: error: 'L_MPI_DIRS' was not declared in this scope; did you mean 'L_MPI_dir'?
179 | int size[L_MPI_DIRS]; ///< Buffer sizes for each direction
| ^~~~~~~~~~
| L_MPI_dir
In file included from ../../../src/../inc/GridUtils.h:27,
from ../../../src/../inc/stdafx.h:208:
../../../src/../inc/GridObj.h:185:93: warning: converting to non-pointer type 'int' from NULL [-Wconversion-null]
185 | std::vector<int> direction, int order, int i, int j, int k, int p = NULL, int max = 1);
| ^~~~
../../../src/../inc/GridUtils.h:44:38: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
44 | static const int dir_reflect[L_DIMS][L_NUM_VELS]; ///< Array with hardcoded direction numbering for specular reflection
| ^~~~~~
| L_dims
../../../src/../inc/GridUtils.h:44:46: error: 'L_NUM_VELS' was not declared in this scope
44 | static const int dir_reflect[L_DIMS][L_NUM_VELS]; ///< Array with hardcoded direction numbering for specular reflection
| ^~~~~~~~~~
../../../src/../inc/GridUtils.h:45:40: error: 'L_NUM_VELS' was not declared in this scope
45 | static const int dir_opposites[L_NUM_VELS]; ///< Array with hardcoded direction numbering for bounce-back opposites
| ^~~~~~~~~~
../../../src/../inc/GridUtils.h:62:42: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
62 | static double vecnorm(double vec[L_DIMS]); // Function: vecnorm + overloads
| ^~~~~~
| L_dims
In file included from ../../../src/../inc/stdafx.h:209:
../../../src/../inc/GridUnits.h: In static member function 'static double GridUnits::ulat2uphys(T, GridObj*)':
../../../src/../inc/GridUnits.h:58:55: error: 'L_PHYSICAL_U' was not declared in this scope
58 | return (u_lattice * currentGrid->dh * L_PHYSICAL_U) / currentGrid->dt;
| ^~~~~~~~~~~~
../../../src/../inc/stdafx.h: At global scope:
../../../src/../inc/stdafx.h:217:23: error: 'L_NUM_VELS' was not declared in this scope
217 | extern const int c[3][L_NUM_VELS]; ///< Lattice velocities
| ^~~~~~~~~~
../../../src/../inc/stdafx.h:218:24: error: 'L_NUM_VELS' was not declared in this scope
218 | extern const int c_opt[L_NUM_VELS][3]; ///< Lattice velocities optimised arrangement
| ^~~~~~~~~~
../../../src/../inc/stdafx.h:219:23: error: 'L_NUM_VELS' was not declared in this scope
219 | extern const double w[L_NUM_VELS]; ///< Quadrature weights
| ^~~~~~~~~~
In file included from ../../../src/../inc/IBBody.h:29,
from ../../../src/../inc/ObjectManager.h:30,
from ../../../src/GridObj_ops_lbm.cpp:30:
../../../src/../inc/Body.h: In constructor 'Body<MarkerType>::Body(GridObj*, int, std::vector<double>&, double, double, std::vector<double>&)':
../../../src/../inc/Body.h:463:38: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
463 | std::vector<double> position(L_DIMS, 0);
| ^~~~~~
| L_dims
../../../src/GridObj_ops_lbm.cpp: In member function 'void GridObj::LBM_kbcCollide(int, int, int, IVector<double>&)':
../../../src/GridObj_ops_lbm.cpp:47:19: error: 'L_NUM_VELS' was not declared in this scope
47 | double ds[L_NUM_VELS], dh[L_NUM_VELS], gamma;
| ^~~~~~~~~~
../../../src/GridObj_ops_lbm.cpp:181:61: error: 'c' was not declared in this scope; did you mean 'cs'?
181 | M20 += f(i,j,k,v,M_lim,K_lim,L_NUM_VELS) * (c[0][v] * c[0][v]);
| ^
| cs
../../../src/GridObj_ops_lbm.cpp:194:21: error: 'c' was not declared in this scope; did you mean 'cs'?
194 | if (c[0][v] == 0 && c[1][v] == 0) {
| ^
| cs
../../../src/GridObj_ops_lbm.cpp:197:25: error: 'ds' was not declared in this scope; did you mean 'dh'?
197 | ds[v] = 0.0;
| ^~
| dh
../../../src/GridObj_ops_lbm.cpp:202:25: error: 'ds' was not declared in this scope; did you mean 'dh'?
202 | ds[v] = ( 0.25 * (M20 - M02) ) -
| ^~
| dh
../../../src/GridObj_ops_lbm.cpp:208:25: error: 'ds' was not declared in this scope; did you mean 'dh'?
208 | ds[v] = ( -0.25 * (M20 - M02) ) -
| ^~
| dh
../../../src/GridObj_ops_lbm.cpp:214:25: error: 'ds' was not declared in this scope; did you mean 'dh'?
214 | ds[v] = ( 0.25 * c[0][v] * c[1][v] * M11 ) -
| ^~
| dh
../../../src/GridObj_ops_lbm.cpp:221:19: error: invalid types 'double[int]' for array subscript
221 | dh[v] = f(i,j,k,v,M_lim,K_lim,L_NUM_VELS) - feq(i,j,k,v,M_lim,K_lim,L_NUM_VELS) - ds[v];
| ^
../../../src/GridObj_ops_lbm.cpp:221:99: error: 'ds' was not declared in this scope; did you mean 'dh'?
221 | dh[v] = f(i,j,k,v,M_lim,K_lim,L_NUM_VELS) - feq(i,j,k,v,M_lim,K_lim,L_NUM_VELS) - ds[v];
| ^~
| dh
../../../src/GridObj_ops_lbm.cpp:232:29: error: 'ds' was not declared in this scope; did you mean 'dh'?
232 | top_prod += ds[v] * dh[v] / feq(i,j,k,v,M_lim,K_lim,L_NUM_VELS);
| ^~
| dh
../../../src/GridObj_ops_lbm.cpp:232:39: error: invalid types 'double[int]' for array subscript
232 | top_prod += ds[v] * dh[v] / feq(i,j,k,v,M_lim,K_lim,L_NUM_VELS);
| ^
../../../src/GridObj_ops_lbm.cpp:233:31: error: invalid types 'double[int]' for array subscript
233 | bot_prod += dh[v] * dh[v] / feq(i,j,k,v,M_lim,K_lim,L_NUM_VELS);
| ^
../../../src/GridObj_ops_lbm.cpp:233:39: error: invalid types 'double[int]' for array subscript
233 | bot_prod += dh[v] * dh[v] / feq(i,j,k,v,M_lim,K_lim,L_NUM_VELS);
| ^
../../../src/GridObj_ops_lbm.cpp:247:44: error: 'ds' was not declared in this scope; did you mean 'dh'?
247 | (omega / 2) * (2 * ds[v] + gamma * dh[v])
| ^~
| dh
../../../src/GridObj_ops_lbm.cpp:247:62: error: invalid types 'double[int]' for array subscript
247 | (omega / 2) * (2 * ds[v] + gamma * dh[v])
| ^
../../../src/GridObj_ops_lbm.cpp: In member function 'void GridObj::LBM_macro(int, int, int)':
../../../src/GridObj_ops_lbm.cpp:283:39: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
283 | u(i,j,k,0,M_lim,K_lim,L_DIMS) = 0.0;
| ^~~~~~
| L_dims
../../../src/GridObj_ops_lbm.cpp:293:39: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
293 | u(i,j,k,0,M_lim,K_lim,L_DIMS) = 0.0;
| ^~~~~~
| L_dims
../../../src/GridObj_ops_lbm.cpp:308:37: error: 'L_NUM_VELS' was not declared in this scope
308 | for (int v = 0; v < L_NUM_VELS; v++) {
| ^~~~~~~~~~
../../../src/GridObj_ops_lbm.cpp:311:45: error: 'c' was not declared in this scope; did you mean 'cs'?
311 | fux_temp += (double)c[0][v] * f(i,j,k,v,M_lim,K_lim,L_NUM_VELS);
| ^
| cs
../../../src/GridObj_ops_lbm.cpp:325:65: error: 'L_DIMS' was not declared in this scope; did you mean 'L_dims'?
325 | fux_temp += 0.5 * force_xyz(i,j,k,0,M_lim,K_lim,L_DIMS);
| ^~~~~~
| L_dims
How to make it work?
It would be a useful feature to be able to move / rotate IBM structures with a given velocity function. The IBM code would need an upgrade to allow this feature.
white executing below errors showing up -
Running LUMA -- Version 1.7.4
(Serial Build)
*** The MPI_Cart_create() function was called before MPI_INIT was invoked.
*** This is disallowed by the MPI standard.
*** Your MPI job will now abort.
[jupiter:7684] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.