Linux is the go-to operating system for OpenFOAM users, offering unparalleled control, flexibility, and compatibility. This guide covers essential Linux commands tailored for OpenFOAM users, with detailed explanations and examples to help you maximize your workflow.
1. File and Directory Management
ls
The ls
command is used to list the contents of a directory. It provides a quick way to view files and subdirectories.
ls
ls -la
ls
: Lists files in the current directory.ls -la
: Lists files with detailed information, including permissions, ownership, and size. Useful for debugging permissions in OpenFOAM cases.
cd
The cd
command allows you to change the current working directory. This is essential for navigating to OpenFOAM case directories.
cd /path/to/OpenFOAM
cd ~/OpenFOAM/tutorials
- Use
cd
with the absolute or relative path to navigate. cd ..
moves up one directory level.
pwd
The pwd
command prints the full path of the current directory. This helps confirm your location when working with multiple directories.
pwd
mkdir
The mkdir
command creates a new directory. This is particularly useful for organizing OpenFOAM cases.
mkdir newCase
- Use
mkdir -p
to create parent directories if they don’t already exist.
rm
The rm
command deletes files or directories. Be cautious, as this action is irreversible.
rm mesh.obj
rm -r oldCase
- Use
rm -r
to delete directories and their contents recursively. - Avoid accidental deletion by double-checking paths.
2. File Operations
cp
The cp
command copies files and directories.
cp -r case1 case1_backup
cp file1 file2
: Copies file1 to file2.cp -r source/ destination/
: Copies directories recursively, useful for creating backups of cases.
mv
The mv
command moves or renames files and directories.
mv constant/polyMesh/ newMesh/
mv case1 case2
- Use
mv
to organize your OpenFOAM cases effectively. - Renaming files helps in managing multiple simulation setups.
touch
The touch
command creates an empty file or updates the timestamp of an existing file.
touch logFile
- Useful for initializing log files before running simulations.
cat
The cat
command displays the content of a file. It’s commonly used to quickly check log or configuration files.
cat logFile
- Combine with
| grep
to filter specific lines.
less
/ more
These commands display file content one screen at a time, making it easier to read large files.
less logFile
more logFile
- Navigate with arrow keys and quit using
q
.
3. Navigating and Managing OpenFOAM Cases
foamListCases
This command lists all OpenFOAM cases in the current directory.
foamListCases
- Simplifies the process of identifying available cases.
foamCloneCase
The foamCloneCase
command creates a duplicate of an OpenFOAM case directory.
foamCloneCase originalCase newCase
- Ideal for running variations of a simulation without modifying the original case.
foamCleanCase
The foamCleanCase
command cleans a case directory by removing mesh and solution files.
foamCleanCase
- Resets the case to its initial state for re-simulation.
4. Running OpenFOAM Simulations
blockMesh
The blockMesh
utility generates a computational mesh based on a blockMeshDict file.
blockMesh > log.blockMesh
- Always check
log.blockMesh
for errors after running this command.
checkMesh
The checkMesh
utility verifies the quality of the mesh.
checkMesh
- Pay attention to warnings and errors, as they can affect simulation accuracy.
decomposePar
The decomposePar
utility divides a case for parallel processing.
decomposePar
- Ensure
decomposeParDict
is configured correctly.
reconstructPar
The reconstructPar
utility reconstructs the results of a parallel simulation into a single set of files.
reconstructPar
- Use after completing parallel simulations.
5. Viewing and Manipulating Data
grep
The grep
command searches for specific patterns within files.
grep "Courant number" logFile
- Helps extract specific simulation results or error messages.
awk
The awk
command processes text files and extracts data.
awk '/time =/{print}' logFile
- Useful for summarizing log files.
sed
The sed
command edits file content programmatically.
sed -i 's/oldValue/newValue/g' controlDict
- Use to update parameters across multiple files efficiently.
6. Parallel Processing
mpirun
The mpirun
command runs simulations in parallel.
mpirun -np 4 simpleFoam -parallel
- Replace
4
with the desired number of processors.
top
/ htop
These commands monitor system performance in real-time.
top
htop
- Use to check CPU and memory usage during simulations.
7. Environment Management
source
The source
command sets up the OpenFOAM environment by loading its configuration files.
source /opt/openfoam10/etc/bashrc
- Must be run before using OpenFOAM utilities.
alias
The alias
command creates shortcuts for frequently used commands.
alias foam='source /opt/openfoam10/etc/bashrc'
- Simplifies the process of setting up the OpenFOAM environment.
8. Archiving and Compression
tar
The tar
command archives files or directories and can also compress them.
tar -czvf case.tar.gz caseDirectory
tar -xzvf case.tar.gz
- Use for archiving case directories for storage or sharing.
gzip
The gzip
command compresses individual files.
gzip logFile
gunzip logFile.gz
- Saves disk space by compressing large log files.
9. Version Control with Git
git init
The git init
command initializes a Git repository.
git init
- Track changes to case files systematically.
git add
The git add
command stages files for the next commit.
git add .
- Use
.
to add all changes in the current directory.
git commit
The git commit
command records changes to the repository.
git commit -m "Initial commit"
- Include a descriptive commit message.
git status
The git status
command shows the current state of the repository.
git status
- Check which files are staged, modified, or untracked.
git push
The git push
command uploads local changes to a remote repository.
git push origin main
- Ensure you’ve configured a remote repository first.
10. Advanced Usage
rsync
The rsync
command synchronizes files and directories between systems.
rsync -avz caseDirectory remote:/path/to/destination
- Ideal for transferring large case directories efficiently.
scp
The scp
command securely copies files between systems.
scp case.tar.gz user@remote:/path/to/destination
- Use for quick file transfers.
cron
The cron
command schedules tasks to run automatically.
crontab -e
0 2 * * * /path/to/runScript.sh
- Automate the execution of simulation scripts.
Upcoming Courses
We are excited to announce that a comprehensive Linux and OpenFOAM course is coming soon! This course is designed to help you master Linux commands and OpenFOAM tools, enhancing your simulation expertise.
Conclusion
Mastering these Linux commands will streamline your workflow and make you more efficient in using OpenFOAM. Regular practice and integration into your daily routine will enhance your productivity.
At Ecopredict, we specialize in providing cutting-edge simulation solutions and training. Our services empower users to harness the full potential of OpenFOAM and related tools. For more information, visit ecopredict.in or contact us at info@ecopredict.in.