CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   Solver "command not found" error (http://www.cfd-online.com/Forums/openfoam/116875-solver-command-not-found-error.html)

kilroy April 26, 2013 17:57

Solver "command not found" error
 
Hello,

I am not an expert on Linux and I am trying to compile "waveFoam" and "waveDyMFoam" solvers. I compiled the "waveFoam" solver successfully. Everything was ready for the "waveFoam" solver, I just downloaded all the files and ran the "Allwmake".

For the "waveDyMFoam" solver I followed the steps described in the wiki below:
https://sites.google.com/site/jordim...ic-mesh-motion

Basically, I modified "waveDyMFoam' from the "interDyMFoam" solver. Everything compiled fine but now when I try to run the "waveDyMFoam" solver, I get the error below:

waveDyMFoam: command not found

I am not sure what did I do wrong. I did everything exactly as described in the wiki. Maybe I should modify another file (bashrc??).

Thank you very much for your time and help,

Kilroy

Tushar@cfd April 27, 2013 03:44

Quote:

Originally Posted by kilroy (Post 423420)
Hello,

I am not an expert on Linux and I am trying to compile "waveFoam" and "waveDyMFoam" solvers. I compiled the "waveFoam" solver successfully. Everything was ready for the "waveFoam" solver, I just downloaded all the files and ran the "Allwmake".

For the "waveDyMFoam" solver I followed the steps described in the wiki below:
https://sites.google.com/site/jordim...ic-mesh-motion

Basically, I modified "waveDyMFoam' from the "interDyMFoam" solver. Everything compiled fine but now when I try to run the "waveDyMFoam" solver, I get the error below:

waveDyMFoam: command not found

I am not sure what did I do wrong. I did everything exactly as described in the wiki. Maybe I should modify another file (bashrc??).

Thank you very much for your time and help,

Kilroy

Your error lies in the application/solver folder.
You don't have to change anything in "bashrc". /.bashrc, is used to set the environmental variable only.

Few doubts:
1. Is your waveFoam command running? If yes, then do check the "/make" folder, may be you have missed some point. May be the path of "/folders" are different in your case then the mentioned case on the weblink.

2. Have you named your file as "waveDyMFoam.C" instead of "interDyMFoam"?

3. Otherwise, try uploading your case here. Will let you know.

:)

Lieven April 27, 2013 06:38

An other cause could simply be that the files are created but put in the wrong place.
Check whether the Make/files folder is something like
Code:

waveFoam.C

EXE = $(FOAM_USER_APPBIN)/waveFoam

Only the custom solvers put in $(FOAM_USER_APPBIN) are found automatically.

Make sure you compile the solvers with 'wmake' and not 'wmake libso' since this will not work either.
If non of the above is the cause, first try to find the waveFoam solver file by running
Code:

sudo updatedb && locate waveFoam
This should autoput a whole list of files and one of them should end with .../bin/waveFoam

Cheers,

Lieven

kilroy April 29, 2013 10:06

@Tushar,

Thank you very much for your response. I answered your questions below:

Quote:

1. Is your waveFoam command running? If yes, then do check the "/make" folder, may be you have missed some point. May be the path of "/folders" are different in your case then the mentioned case on the weblink.
My waveFoam is working but waveDyMFoam is not. I also checked the "/make" folder, it looks exactly the same as described in the weblink.

The path described in the weblink is below:
$WM_PROJECT_USER_DIR/applications/solvers/waves2Foam/applications/solvers/solvers17/waveFoam/waveDyMFoam

And my path is below:
opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam


Quote:

2. Have you named your file as "waveDyMFoam.C" instead of "interDyMFoam"?
Yes, I double checked that too.

Quote:

3. Otherwise, try uploading your case here. Will let you know.
I uploaded everything in the waves2Foam folder, it is located in the path below:
opt/openfoam220/applications/solvers/waves2Foam

The link to the case is below:


http://www.filedropper.com/wavedymfoamtar

kilroy April 29, 2013 10:17

@Lieven,

Thank you very much for your response. My "waveFoam" command is running but "waveDyMFoam" is not.

Quote:

Check whether the Make/files folder is something like
Code:
Quote:

waveFoam.C

EXE = $(FOAM_USER_APPBIN)/waveFoam

I checked "Make/files" folder for "waveDyMFoam". It looks like below:

Quote:

waveDyMFoam.C

EXE = $(FOAM_USER_APPBIN)/waveDyMFoam
Quote:

Make sure you compile the solvers with 'wmake' and not 'wmake libso' since this will not work either.
I compiled the "waveDyMFoam" solver with "wmake".

Quote:

If non of the above is the cause, first try to find the waveFoam solver file by running
Code:
Quote:

sudo updatedb && locate waveFoam
This should autoput a whole list of files and one of them should end with .../bin/waveFoam
After I run the command you mentioned above, I can see a line ending with
.../bin/waveFoam

The whole list of files I get, after I run the commands is below:


meta@meta-5:/opt/openfoam220/applications/solvers$ sudo updatedb && locate waveDyMFoam
/home/meta/OpenFOAM/root-2.2.0/platforms/linux64GccDPOpt/bin/waveDyMFoam
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/correctPhi.H
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/pEqn.H
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/readControls.H
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/waveDyMFoam.C
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/waveDyMFoam.C~
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/waveDyMFoam.dep
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/files
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/files~
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/options
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/options~
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/dependencies
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/dependencyFiles
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/dontIncludeDeps
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/files
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/filesMacros
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/includeDeps
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/localObjectFiles
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/objectFiles
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/options
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/sourceFiles
/opt/openfoam211/applications/solvers/waves2Foam/applications/solvers/solvers211/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/waveDyMFoam.o
/opt/openfoam220/applications/solvers/waveDyMFoam.tar.gz
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/correctPhi.H
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/pEqn.H
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/readControls.H
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/waveDyMFoam.C
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/waveDyMFoam.C~
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/waveDyMFoam.dep
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/files
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/options
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/dependencies
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/dependencyFiles
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/dontIncludeDeps
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/files
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/filesMacros
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/includeDeps
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/localObjectFiles
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/objectFiles
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/options
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/sourceFiles
/opt/openfoam220/applications/solvers/waves2Foam/applications/solvers/solvers220/waveFoam/waveDyMFoam/Make/linux64GccDPOpt/waveDyMFoam.o

Lieven April 29, 2013 10:57

Ok, this is the line which I was talking about

/home/meta/OpenFOAM/root-2.2.0/platforms/linux64GccDPOpt/bin/waveDyMFoam

It looks a bit messed up to me. What I would expect is something like
/home/$username/OpenFOAM/$username-2.2.0/platforms/...

and certainly not 'root' since you should not be working as root. If you open a new terminal and type
Code:

echo $FOAM_USER_APPBIN
it will say which folder will be read as regular user. This is where your file waveDynFoam should end up (and I'm pretty sure it will not be the folder from the current list). As I see it, you have 2 options.
1. (recommended) Move all your custom solvers to a folder which you have read and write access to as a regular user (e.g. mine are simply in $home/OpenFOAM/applications) and recompile everything.
2. change the ownership of the /opt/openfoam220 -folder so you can access and modify it as a regular user by typing (change $user in your real user name)
Code:

chown -R $user::$user /opt/openfoam220/
and recompile all your custom code again but as regular user (so don't dare to use sudo ;-)).

kilroy April 29, 2013 11:05

Lieven,

I think I now why did that happen. At first when I tried to run "wmake" it didn't let me. So first I ran the command "sudo bash", then I ran "wmake". I think that's why everything is so messed up right now.

Now when I open a new terminal and run "sudo bash" first, then the "waveDyMFoam" runs.

But I will fix everything with your first recommendation below:

Quote:

1. (recommended) Move all your custom solvers to a folder which you have read and write access to as a regular user (e.g. mine are simply in $home/OpenFOAM/applications) and recompile everything.
Thank you very much for your time and help.

Kilroy.

Lieven April 29, 2013 11:15

You're very welcome.

Quote:

Now when I open a new terminal and run "sudo bash" first, then the "waveDyMFoam" runs.
This is indeed what I expected ;)

Tushar@cfd April 30, 2013 06:25

Quote:

Originally Posted by kilroy (Post 423919)
Lieven,

I think I now why did that happen. At first when I tried to run "wmake" it didn't let me. So first I ran the command "sudo bash", then I ran "wmake". I think that's why everything is so messed up right now.

Now when I open a new terminal and run "sudo bash" first, then the "waveDyMFoam" runs.

But I will fix everything with your first recommendation below:



Thank you very much for your time and help.

Kilroy.


Sorry, couldn't able to reply your post. Anyways, Lieven answered your queries.

It's always preferable to install in root directory. As you don't need to call sudo bash when you run your solver.
Or, try giving permission (read and write access) to the user directory

kilroy April 30, 2013 10:04

Quote:

Sorry, couldn't able to reply your post. Anyways, Lieven answered your queries.

It's always preferable to install in root directory. As you don't need to call sudo bash when you run your solver.
Or, try giving permission (read and write access) to the user directory
Tushar, thank you very much for your time and help.

I am still learning how to use Linux :D and this case is a very good experience for me to how to work with the environment.


All times are GMT -4. The time now is 02:14.