Metis Installation Query

p.p Lalu
2010-11-17
2013-04-25
  • p.p Lalu
    p.p Lalu
    2010-11-17

    I would like to install metis 4.0 to my Ubuntu 10.10  x86 machine
    How do I modify the makefile.in file
    what should I fill the place

    COPTIONS =
    LDOPTIONS =
    RANLIB =
    I am new to linux 
    pls help

     
  • Billy Araujo
    Billy Araujo
    2010-11-17

    From INSTALL file:

    Edit the file Makefile.in that resides in the same directory as this file
    according to the requirements of your system. In particular you may need
    to modify the following:
      1. The CC variable, to be the name of the ANSI C compiler
         in your system. The GNU C compiler (gcc) will do.
      2. The settings for the AR and RANLIB variables that are suitable for
         you system. Note that some systems do not have 'ranlib' but they use
         'ar -ts' instead, or it is not needed all together.
      3. You can use COPTIONS and LDOPTIONS to provide additional command line
         options that are required by your compiler and linker.

    Just leave default values. If that doesn't work check install dependencies and make sure that  these two lines point correclty to the directory.

    METIS_INCLUDE = $(METIS_DIR)/METISLib
    METIS_LIB = $(METIS_DIR)/$(METIS_ARCH)/libmetis.a

    The ebst way would be to install using apt-get install in ubuntu but not sure if METIS is packaged for ubuntu.

     
  • p.p Lalu
    p.p Lalu
    2010-11-22

    Thanks a lot  it worked. But I have one more query.

    When using parallel solver for the  firsttime , We need to read unpartitioned mesh file for partitioning (-d option)
    Then it reads the unpatitioned mesh file . But the routine MshImportMSH (char *file)   contain one information that is  &partition     How do I input value of partition when it  remain unpartitioned .

    scanf (fp, "%d %d %d", &physreg, &elemreg, &partition);

    Pls help Thanks

     
  • Billy Araujo
    Billy Araujo
    2010-11-22

    If it is unpartioned then it has only 1 partition which is the entire mesh.

     
  • p.p Lalu
    p.p Lalu
    2010-12-19

    Hellow all

    I am trying to fit a small SST KW rans code to openfvm , The serial code is working fine but parallel code diverges after 3 ,4 iterations
    My problem is flow past a 3d body(under water), Re in the ranges of 1e5. I am using single precision arithmetic.  Mesh : tet
    I would like to know following
    1 which preconditioner is best suited for parallel
    2  Is the divergence is because of  float variables instead of double
    3  I am using petsc, is it uses double precision ?.
    4 It is observed that petsc is very slow which is the best alternative to petsc
    5 Also it is taking more number of iterations in parallel runs than in serial runs (even  without turbulence)
    5 can i post the code and how do I
    I am developing this code because We have no commercial CFD code (costly)  pls help

     
  • Billy Araujo
    Billy Araujo
    2010-12-19

    1. ASM preconditioner should be used for parallel runs.
    2. I don't think the deviation is due to float precision but due to explicitness of variables on the domain boundaries. How many partitions are you using? Try to reduce the amount of interface between partitions. The more divisions there are, more the solution deviates from serial code.
    3. I think you can compile PETSc with double or float precision. Depends on configure.
    4. PETSc has no AMG I think. Try different solvers you can pass flags through to PETSc: OpenFVM lid f 1 -ksp_view. -ksp_view or other PETSc options will be passed on to PETSc.
    5. Try tweaking PETSc using the PETSc options.
    6. You can post code here or send it by e-mail to me. If you want to add to the code directly I can add you to the project.