Frontflow/violet Cartesian is a three-dimensional unsteady incompressible thermal flow simulator on a Cartesian grid system. This solver is designed so as to assist practical design in industry fields by powerful voxel based approach and to achieve higher parallel performance on massively parallel computers.
- Copyright (c) 2007-2011 VCAD System Research Program, RIKEN. All rights reserved.
- Copyright (c) 2011-2015 Institute of Industrial Science, The University of Tokyo. All rights reserved.
- Copyright (c) 2012-2016 Advanced Institute for Computational Science, RIKEN. All rights reserved.
- Copyright (c) 2016-2020 Research Institute for Information Technology(RIIT), Kyushu University. All rights reserved.
- Cmake
- MPI library
- TextParser - Text Parser library
- PMlib - Performance Monitor library
- CPMlib - Computational space Partitioning Management library
- CDMlib - Cartesian Data Management library
- Polylib - Polygon management library
ChangeLog.md History of development CMakeLists.txt Makefile for cmake License.txt License to apply Readme.md This document doc/ Documents doxygen/ Doxygen files example/ Example files src/ Source files ASD/ Acttive Subdomain class F_CORE/ f90 subroutines in ffvc F_LS/ f90 subroutines of linear solvers F_VOF/ VOF routines FB/ flow base class FFV/ ffvc class FILE_IO/ file io utilities Geometry/ Geometry manipulation IP/ Intrinsic problems src_util/ Combsph
$ export FFVC_HOME=/hogehoge
$ mkdir build
$ cd build
$ cmake [options] ..
$ make
$ sudo make install
-D INSTALL_DIR=
Install_directory
Specify the directory that this library will be installed. Built library is installed at
install_directory/lib
and the header files are placed atinstall_directory/include
.
-D enable_OPENMP=
{yes | no}
This option makes OpenMP directives effect. Default is yes.
-D with_MPI=
{yes | no}
If you use an MPI library, specify
with_MPI=yes
(default).
-D real_type=
{float | double}
Specify the type of floating point. If this option is omitted, the default is float.
-D with_TP=
Installed_Directory
Specify the directory path that TextParser is installed.
-D with_PM=
Installed_Directory
Specify the directory path that PMlib is installed.
-D with_PL=
Installed_Directory
Specify the directory path that Polylib is installed.
-D with_CPM=
Installed_Directory
Specify the directory path that CPMlib is installed.
-D with_CDM=
Installed_Directory
Specify the directory path that CDMlib is installed.
-D with_PAPI=
Installed_Directory
Specify the directory path that PAPI is installed.
$ export FFVC_HOME=hogehoge
In following examples, assuming that TextParser, PMlib, Polylib, CPMlib, and CDMlib are installed under the FFVC_HOME directory. If not, please specify applicable directory paths.
$ cmake -DINSTALL_DIR=${FFVC_HOME}/FFVC \
-Dreal_type=float \
-Denable_OPENMP=yes \
-Dwith_MPI=yes \
-Dwith_TP=${FFVC_HOME}/TextParser \
-Dwith_PM=${FFVC_HOME}/PMlib \
-Dwith_PAPI=OFF \
-Dwith_PL=${FFVC_HOME}/Polylib \
-Dwith_CPM=${FFVC_HOME}/CPMlib \
-Dwith_CDM=${FFVC_HOME}/CDMlib ..
In case of some Intel compiler environment, please specify environemnt variables
export CC=icc CXX=icpc F90=ifort FC=ifort
before compiling.
$ cmake -DINSTALL_DIR=${FFVC_HOME}/FFVC \
-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain_fx10.cmake \
-Dreal_type=float \
-Denable_OPENMP=yes \
-Dwith_MPI=yes \
-Dwith_TP=${FFVC_HOME}/TextParser \
-Dwith_PM=${FFVC_HOME}/PMlib \
-Dwith_PAPI=OFF \
-Dwith_PL=${FFVC_HOME}/Polylib \
-Dwith_CPM=${FFVC_HOME}/CPMlib \
-Dwith_CDM=${FFVC_HOME}/CDMlib ..
$ cmake -DINSTALL_DIR=${FFVC_HOME}/FFVC \
-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain_fx100.cmake \
-Dreal_type=float \
-Denable_OPENMP=yes \
-Dwith_MPI=yes \
-Dwith_TP=${FFVC_HOME}/TextParser \
-Dwith_PM=${FFVC_HOME}/PMlib \
-Dwith_PAPI=OFF \
-Dwith_PL=${FFVC_HOME}/Polylib \
-Dwith_CPM=${FFVC_HOME}/CPMlib \
-Dwith_CDM=${FFVC_HOME}/CDMlib ..
$ cmake -DINSTALL_DIR=${FFVC_HOME}/FFVC \
-DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain_K.cmake \
-Dreal_type=float \
-Denable_OPENMP=yes \
-Dwith_MPI=yes \
-Dwith_TP=${FFVC_HOME}/TextParser \
-Dwith_PM=${FFVC_HOME}/PMlib \
-Dwith_PAPI=OFF \
-Dwith_PL=${FFVC_HOME}/Polylib \
-Dwith_CPM=${FFVC_HOME}/CPMlib \
-Dwith_CDM=${FFVC_HOME}/CDMlib ..
- On Fujitsu machines(fx10, K, fx100), confirm appropriate directrory path for compiler environment.
- Before building, execute following command to clean for sure.
$ make distclean
- Kenji Ono keno@{riken, cc.kyushu-u.ac}.jp
- Masako Koyama(Iwata)
- Tsuyoshi Tamaki
- Yasuhiro Kawashima
- Kei Akasaka
- Soichiro Suzuki
- Junya Onishi
- Ken Uzawa
- Kazuhiro Hamaguchi
The number of floating operations in a loop is estimated by the value measured on the K computer.
function | float | double |
---|---|---|
sqrt | 10 | 20 |
exp | 22 | 26 |
log | 21 | 25 |
log10 | 24 | 30 |
sin | 29 | 31 |
cos | 29 | 29 |
min | 1 | 1 |
max | 1 | 1 |
abs | 1 | 1 |
add | 1 | 1 |
subtract | 1 | 1 |
multiply | 1 | 1 |
division | 8 | 13 |
aint | 6 | 6 |
anint | 10 | 10 |
ceiling | 2 | 2 |
floor | 2 | 2 |
nint | 6 | 6 |
For example, the -CcdRR8
option for fortran preprocessor convert variables, functions, and constants higher precision version in source code. Thus, functions in source code is described by floating version.