|
|
(3 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
− | -----------------------------------------------
| + | '''phParAdapt''' is a program for doing mesh adaptation in PHASTA. This is either done using [[SCOREC Core]] utilties, or though Simmetrix. |
− | == Download and compile (viz nodes) ==
| |
− | This sections is inspired from <http://redmine.scorec.rpi.edu/projects/pumi/wiki/Build_Instructions>. | |
− | The SCOREC tools now build against CMake. Only Parma, the PHASTA utilities and phParAdapt still builds against Autotools.
| |
− | From a termonal, run the following commands:
| |
− | soft add +cmake
| |
− | soft add +git
| |
− | cd ~
| |
− | mkdir SCOREC.develop
| |
− | cd SCOREC.develop
| |
− | git clone ssh://your_username@jumpgate-phasta.colorado.edu/users/mrasquin/SCOREC.develop/compilation
| |
| | | |
− | The git command will download these instructions, along with a checkout and compile script for Parma and phParAdapt. The next commands are to compile the whole stack with the GNU compiler on the viz nodes are:
| + | [[phParAdapt-SCOREC]] |
− | soft add +gcc-4.8.1
| |
− | soft add +openmpi-gnu
| |
− | mkdir install-gcc-O2 //all the libraries and executable will go there
| |
− | mkdir build-gcc-O2 // this is where you will run the cmake commands
| |
− | cd build-gcc-O2
| |
− | cmake ../CMake.SCOREC -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/users/mrasquin/SCOREC.develop/install-gcc-O2 -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx
| |
| | | |
− | Do not forget to update the path to PREFIX according to your install directory.
| + | [[phParAdapt-Simmetrix]] |
− | By default, it compiles with meshmodel. See the redmine link above about how to compile with parasolid or other geometric model.
| |
− | The cmake command downloads the parmetis package inside the build-gcc-O2 directory. If you want to use 64 bit integer in parmetis, which is only useful for big meshes in serial, edit
| |
| | | |
− | parmetis-4.0.2/metis/include/metis.h
| + | == Subpages == |
| + | {{Special:PrefixIndex/PhParAdapt/}} |
| | | |
− | and set
| + | [[Category:Software]] |
− | | |
− | #define IDXTYPEWIDTH 64
| |
− | | |
− | Now, compile the SCOREC tools (in serial only for now - do not try make -j 8 for instance):
| |
− | | |
− | make 2>&1 | tee log_cmake_make.dat
| |
− | make install 2>&1 | tee log_cmake_install.dat
| |
− | cd .. #back to SCOREC.develop
| |
− | | |
− | Now you should have the pumi tools installed in SCOREC.develop/install-gcc-O2. It is time to download and compile the Parma library. From SCOREC.develop,
| |
− | mkdir Autotools.SCOREC
| |
− | cd Autotools.SCOREC
| |
− | cp ../compilation/parma_install.sh .
| |
− | | |
− | Edit and update the script parma_install.sh. In particular, edit PREFIX to the same path used in the cmake command above. Other parameters you need to update are the compilation options (DEBUG), the svn username if you have one, etc. Then:
| |
− | ./parma_install.sh checkout_all 2>&1 | tee log_autotools_parma_checkout.dat
| |
− | ./parma_install.sh setup_all 2>&1 | tee log_autotools_parma_setup.dat
| |
− | ./parma_install.sh intall_all 2>&1 | tee log_autotools_parma_install.dat
| |
− | | |
− | For phParAdapt, the procedure is similar:
| |
− | cp ../compilation/phParAdaptBuild.sh
| |
− | edit path to PREFIX in parma_install.sh + other parameters
| |
− | ./phParAdaptBuild.sh checkout_all 2>&1 | tee log_autotools_phparadapt_checkout.dat
| |
− | ./phParAdaptBuild.sh setup_all 2>&1 | tee log_autotools_phparadapt_setup.dat
| |
− | ./phParAdaptBuild.sh install_all 2>&1 | tee log_autotools_phparadapt_install.dat
| |
− | | |
− | Your phParAdapt executable should be in ~/SCOREC.develop/install-gcc-O2/bin/phParAdapt
| |
− | | |
− | == Convert geom_ver63.sms to FMDB format==
| |
− | *This can be done in same directory in which you created geom_ver63.sms. You first need to convert geom_ver63.sms to FMDB format. The executable that will do this is at /users/jema6380/runSimMesh2FMDB.sh
| |
− | *Make a link from the output file, geom_FMDB.sms, to geom.sms (ln -s geom_FMDB.sms geom.sms)
| |
− | | |
− | ==Create geom.spj==
| |
− | *If you have not done so already, create geom.spj. This is not done with Simulation Maker as was done previously, but can simply be done with a vim editor. See the file /users/jema6380/Models/Boeing/BetaScale2CaltechTunnel/CT_Open32_B0_D30_U20/9-A0-24jets/geom.spj for some guidance. As a quick example, if your boundary condition is a velocity of 20 i_hat m/s (comp3) on the inlet face (which let's say has a face number of 1651), then you would enter:
| |
− | comp3: 1651 2 20 1 0 0
| |
− | where the "2" designates that we are talking about a face, which has 2 dimensions; the "20" is the speed; and the "1 0 0" is the direction.
| |
− | *Michel created a script that will make this process faster, which is desirable if you have a large number of faces. If you want to use the script, then first use the executable at /users/jema6380/getFaceList.sh to create a list of faces. From the terminal type:
| |
− | ./getFaceList.sh "input_file"
| |
− | where "input_file" is the file that contains the face numbers, which presumably does not already list them consecutively. This might be BLattr.inp, for exmple.
| |
− | *Now create a new directory called "FacesModelAttributes" and put all of the boundary conditions in .dat files. See the files in /users/jema6380/Models/Boeing/BetaScale2CaltechTunnel/CT_Open32_B0_D30_U20/Simplified_SPJ_file/FacesModelAttributes/ for guidance. Make sure all the .dat files have a name that begins with "attr_" .
| |
− | *copy /users/jema6380/buildSimplifiedAttrFile.sh to the Simplified_SPJ_file directory and do:
| |
− | ./buildSimplifiedAttrFile.sh
| |
− | *This should create a file called result.spj, which contains all of the boundary conditions. cd back to your working mesh directory and make a link from result.spj to geom.spj. Also make a link from result.spj to geomNOIC.spj
| |
− | | |
− | ==Partition geom_ver63.sms==
| |
− | *Make sure you have geom.xmt_txt in your working directory.
| |