ucns3d-team / UCNS3D

Unstructured Compressible Navier Stokes 3D code (UCNS3D)
https://ucns3d.com
GNU General Public License v3.0
256 stars 92 forks source link

Help with installation and Makefile #46

Closed SRkumar97 closed 1 year ago

SRkumar97 commented 1 year ago

Hello! I am trying to install the manual version of the code, with the use of GFortran parallel and OpenBLAS library for Ubuntu 20.04.

I first compiled OpenBLAS.

After downloading the full code and opening terminal in the src folder of the code, it is said that we should type

make -f Makefile_common clean all

However make reports that there is no Makefile, and stops. So I type the following command for the Makefile_common.

make -f Makefile_common clean all

image

I am facing issue with the Makefile. The output shows error for every line of the Makefile_common. Did I miss something? Do I need to set paths for OpenBLAS, anywhere within the Makefile?

Thanks a ton

sidkamat commented 1 year ago

You need to copy the Makefile from the "bin" folder and use that to compile the code

SRkumar97 commented 1 year ago

Thanks @ sidkamat, got it.

I did this, copied the Malefile from UCNS3D > bin > gnu-compiler to the UCNS3D > src folder

Once I begin the process again, the make command now works, but gets stuck at a point due to an error related to grid_t.o image

Is this error common? How to rectify this error? Thanks a ton

VadimCRN commented 1 year ago

Hello, make sure both the makefile and makefile_common files are in the code directory and compile with "make -f Makefile clean all"


Da: SRkumar97 @.> Inviato: venerdì 5 maggio 2023 08:17 A: ucns3d-team/UCNS3D @.> Cc: Subscribed @.***> Oggetto: Re: [ucns3d-team/UCNS3D] Help with installation and Makefile (Issue #46)

Thanks @ sidkamat, got it.

I did this, copied the Malefile from UCNS3D > bin > gnu-compiler to the UCNS3D > src folder

Once I begin the process again, the make command now works, but gets stuck at a point due to an error related to grid_t.o


code: ASSIGN transform:vvb(1:3_8) transform:vext(1 , 1:3_8) ASSIGN transform:vvc(1:3_8) transform:vext(2 , 1:3_8) ASSIGN transform:vvd(1:3_8) transform:vext(3 , 1:3_8) ASSIGN transform:vva(1 , 1) transform:vvb(2) ASSIGN transform:vva(2 , 1) transform:vvc(2) ASSIGN transform:vva(3 , 1) transform:vvd(2) ASSIGN transform:vva(1 , 2) transform:vvb(3) ASSIGN transform:vva(2 , 2) transform:vvc(3) ASSIGN transform:vva(3 , 2) transform:vvd(3) ASSIGN transform:vva(1 , 3) 1.0000000000000000 ASSIGN transform:vva(2 , 3) 1.0000000000000000 ASSIGN transform:vva(3 , 3) 1.0000000000000000 ASSIGN transform:vvjacobsurf(1) (+ (- ( transform:vva(1 , 1) (parens (- (parens ( transform:vva(3 , 3) transform:vva(2 , 2))) (parens ( transform:vva(3 , 2) transform:vva(2 , 3)))))) ( transform:vva(2 , 1) (parens (- (parens ( transform:vva(3 , 3) transform:vva(1 , 2))) (parens ( transform:vva(3 , 2) transform:vva(1 , 3))))))) ( transform:vva(3 , 1) (parens (- (parens ( transform:vva(2 , 3) transform:vva(1 , 2))) (parens ( transform:vva(2 , 2) transform:vva(1 , 3))))))) ASSIGN transform:vva(1 , 1) transform:vvb(3) ASSIGN transform:vva(2 , 1) transform:vvc(3) ASSIGN transform:vva(3 , 1) transform:vvd(3) ASSIGN transform:vva(1 , 2) transform:vvb(1) ASSIGN transform:vva(2 , 2) transform:vvc(1) ASSIGN transform:vva(3 , 2) transform:vvd(1) ASSIGN transform:vva(1 , 3) 1.0000000000000000 ASSIGN transform:vva(2 , 3) 1.0000000000000000 ASSIGN transform:vva(3 , 3) 1.0000000000000000 ASSIGN transform:vvjacobsurf(2) (+ (- ( transform:vva(1 , 1) (parens (- (parens ( transform:vva(3 , 3) transform:vva(2 , 2))) (parens ( transform:vva(3 , 2) transform:vva(2 , 3)))))) ( transform:vva(2 , 1) (parens (- (parens ( transform:vva(3 , 3) transform:vva(1 , 2))) (parens ( transform:vva(3 , 2) transform:vva(1 , 3))))))) ( transform:vva(3 , 1) (parens (- (parens ( transform:vva(2 , 3) transform:vva(1 , 2))) (parens ( transform:vva(2 , 2) transform:vva(1 , 3))))))) ASSIGN transform:vva(1 , 1) transform:vvb(1) ASSIGN transform:vva(2 , 1) transform:vvc(1) ASSIGN transform:vva(3 , 1) transform:vvd(1) ASSIGN transform:vva(1 , 2) transform:vvb(2) ASSIGN transform:vva(2 , 2) transform:vvc(2) ASSIGN transform:vva(3 , 2) transform:vvd(2) ASSIGN transform:vva(1 , 3) 1.0000000000000000 ASSIGN transform:vva(2 , 3) 1.0000000000000000 ASSIGN transform:vva(3 , 3) 1.0000000000000000 ASSIGN transform:vvjacobsurf(3) (+ (- ( transform:vva(1 , 1) (parens (- (parens ( transform:vva(3 , 3) transform:vva(2 , 2))) (parens ( transform:vva(3 , 2) transform:vva(2 , 3)))))) ( transform:vva(2 , 1) (parens (- (parens ( transform:vva(3 , 3) transform:vva(1 , 2))) (parens ( transform:vva(3 , 2) transform:vva(1 , 3))))))) ( transform:vva(3 , 1) (parens (- (parens ( transform:vva(2 , 3) transform:vva(1 , 2))) (parens ( transform:vva(2 , 2) transform:vva(1 , 3))))))) ASSIGN transform:trianglearea (parens ( (parens transform:oo2) (parens __sqrt_r8[[(((+ (+ (parens ( transform:vvjacobsurf(1) 2)) (parens ( transform:vvjacobsurf(2) 2))) (parens (** transform:vvjacobsurf(3) 2)))))]])))

make: *** [Makefile_common:59: grid_t.o] Error 1


Is this error common?

— Reply to this email directly, view it on GitHubhttps://github.com/ucns3d-team/UCNS3D/issues/46#issuecomment-1535829545, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASYZGZ2FK2LAZHCEXWPWLH3XESSSBANCNFSM6AAAAAAXWEXXDI. You are receiving this because you are subscribed to this thread.Message ID: @.***>

SRkumar97 commented 1 year ago

@VadimCRN Thanks, that's how I tried - copied Makefile to the src directory as written in the instructions (there is no directory called "code"). Makefile_common is also in the src folder only. But the error related to grid_t.o appears, as shown in the image above.

SRkumar97 commented 1 year ago

@sidkamat could you please let me know how you installed the code? I'm trying with OpenBLAS and GFortran MPI, but can't understand what is the issue with grid_t.F90, that the object file error appears while trying to make.

TakisCFD commented 1 year ago

I will suggest the following: 1) Start with intel Fortran and MKL (ensure that you have the static parmetis,metis and tecio libraries provided within the compilation directory)

2) your makefile should have the correct flags for compilation selected (intel Fortan and MKL path)

3) compile with Makefile clean all and let us know what you get

SRkumar97 commented 1 year ago

Thank you for this, I will do this way and get back.

SRkumar97 commented 1 year ago

Thanks a ton, now the ucns3d_p executable has been built successfully. In the src folder wherein the Makefile command was run.

SRkumar97 commented 1 year ago

Hello! I am trying to run the Taylor Green Vortex testcase, provided in the tests directory. I copied the executable ucns3d_p to the test folder and initiated the parallel run using 8 procs for the case - error_run

The case runs for a few minutes, writes 6-7 restart.dat files but suddenyl terminates by itself with the error message(s) as shown in the attached PNG. Request for your help.

SRkumar97 commented 1 year ago

The issue gets sorted if I use ulimit -s unlimited before running the case.