Difference between revisions of "PhParAdapt"

From PHASTA Wiki
Jump to: navigation, search
(Download and compile (viz nodes))
(Replaced content with "phParAdapt-SCOREC phParAdapt-Simmetrix")
Line 1: Line 1:
-----------------------------------------------
+
[[phParAdapt-SCOREC]]
== Download and compile (viz nodes) ==
 
This sections is inspired from <http://redmine.scorec.rpi.edu/projects/pumi/wiki/Build_Instructions>. Please read it first before continuing, as some information on this wiki page are not repeated.
 
The SCOREC tools now build against CMake. Only Parma, the PHASTA utilities and phParAdapt still build 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-Simmetrix]]
  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
 
 
 
This will create the Makefiles. To compile the actual code you need to
 
make
 
make install
 
 
 
inside the build-gcc-O2 directory.
 
 
 
Do not forget to update the path to PREFIX according to your install directory.
 
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
 
 
 
and set
 
 
 
  #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 (and PHASTA utilites), 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.
 

Revision as of 21:39, 29 July 2013