Error: "unknown option" when using Sculpt from terminal

Coreform Cubit Version: 2021.5
Platform: Manjaro Linux 21.0.7

Dear All,
Last time using Trelis 17.1, the following Sculpt script worked perfectly.

/path/to/Trelis/bin/sculpt --input_file input_file.i

where the interactive input file contains a diatom file with the geometry. (Attached also some examples)

Now, when executing the same but using Coreform Cubit 2021.5 the following error occurs:

Coreform-Cubit-2021.5/bin/mpi/bin/mpiexec: Error: unknown option “-np”

Attached also the function call and its output:

/path/to/Coreform-Cubit-2021.5/bin/sculpt --input_file sculpt_test.i
SCULPT Running on host name: linux
At time: Tue Jul  6 08:54:32 2021
Warning: /usr/bin/mpiexec is not compatible with OpenMPI 3.1.

Initializing MPI on 1 Processors: mpiexec = /path/to/Coreform-Cubit-2021.5/bin/./mpiexec

/path/to/Coreform-Cubit-2021.5/bin/./mpiexec -np 1 /path/to/Coreform-Cubit-2021.5/bin/./psculpt --input_file sculpt_test.i
/path/to/Coreform-Cubit-2021.5/bin/mpi/bin/mpiexec: Error: unknown option "-np"

Is there no support for that kind of mesh generation or am I missing something?

Thank you very much for the support in advance.
Kind regards,
Maurice

Attachments:

  • sculpt_test.i
    BEGIN SCULPT
    diatom_file = sculpt_test.diatom
    exodus_file = sculpt_test
    xmin = -500
    ymin = -500
    zmin = -500
    xmax = 500
    ymax = 500
    zmax = 500
    nelx = 32
    nely = 32
    nelz = 32
    smooth = fixed_bbox
    cell_size = 5,78
    adapt_type = vfrac_average
    adapt_threshold = 0,01
    adapt_levels = 2
    pillow_surfaces = true
    pillow_boundaries = true
    periodic = true
    mesh_void = true
    void_mat = 1
    END SCULPT

  • sculpt_test.diatom
    diatom
    package “mat-2”
    material 2
    insert sphere
    center = -289.3134 268.5030 -260.3153
    radius = 135.0000
    endinsert
    insert sphere
    center = -171.0609 -310.0177 -216.0878
    radius = 135.0000
    endinsert
    insert sphere
    center = -171.3485 -301.0373 267.6278
    radius = 142.5000
    endinsert
    endpackage
    enddiatom

Hi @SchuhBlatt, I’m not reproducing this error. This is the output I got when I ran your examples:

swilcox@braid:~$ ./Coreform-Cubit-2021.5/bin/sculpt --input_file sculpt_test.i
SCULPT Running on host name: braid
At time: Tue Jul  6 07:14:48 2021

Initializing MPI on 1 Processors: mpiexec = /home/swilcox/Coreform-Cubit-2021.5/bin/./mpiexec


/home/swilcox/Coreform-Cubit-2021.5/bin/./mpiexec -np 1 /home/swilcox/Coreform-Cubit-2021.5/bin/./psculpt --input_file sculpt_test.i
[2021-07-06 07:14:49.033] [info] RLM session initialized
QObject::startTimer: Timers can only be used with threads started with QThread
QObject::startTimer: Timers can only be used with threads started with QThread
QObject::startTimer: Timers can only be used with threads started with QThread
QObject::startTimer: Timers can only be used with threads started with QThread
QObject::startTimer: Timers can only be used with threads started with QThread

Reading input file sculpt_test.i...
Finished reading input file...

                 SANDIA NATIONAL LABORATORIES

     SSSSS     CCCCC    UU   UU   LL        PPPPPP    TTTTTT
    SS   SS   CC   CC   UU   UU   LL        PP   PP     TT
    SS        CC        UU   UU   LL        PP   PP     TT
     SSSSS    CC        UU   UU   LL        PPPPPP      TT
         SS   CC        UU   UU   LL        PP          TT
    SS   SS   CC   CC   UU   UU   LL        PP          TT
     SSSSS     CCCCC     UUUUU    LLLLLLL   PP          TT

                     PARALLEL HEX MESHING
                            FROM
                     VOLUME FRACTION DATA

              SCULPT Version 2021.5 Build c20b99de1b
              Copyright 2015 Sandia Corporation
      Revised Fri May 21 13:27:44 2021 +0000
      User Support and Bug Reports: cubit-help@sandia.gov

     SCULPT includes CAMAL by Sandia National Laboratories
  SCULPT includes CTH Diatoms by Sandia National Laboratories
  SCULPT is a companion application to the CUBIT Geometry and
       Meshing Toolkit by Sandia National Laboratories

WARNING: Size (cs) and Intervals (x,y,z) are defined in input.
         Using cell size and ignoring intervals.

WARNING: Size option (-cs) and bounding box (-t,u,v,q,r,s) defined on input.
         Bounding box was automatically adjusted to enforce an integer
         number of equal aspect ratio cells in three dminensions.

Input: /home/swilcox/Coreform-Cubit-2021.5/bin/./psculpt
  --input_file        -i    sculpt_test.i
  --periodic          -per  1
  --diatom_file       -d    sculpt_test.diatom
  --exodus_file       -e    sculpt_test
  --nelx              -x    173
  --nely              -y    173
  --nelz              -z    173
  --xmin              -t    -499.970000
  --ymin              -u    -499.970000
  --zmin              -v    -499.970000
  --xmax              -q    499.970000
  --ymax              -r    499.970000
  --zmax              -s    499.970000
  --cell_size         -cs   5.780000
  --mesh_void         -V    1
  --void_mat          -VM   1
  --adapt_type        -A    4
  --adapt_threshold   -AT   0.010000
  --adapt_levels      -AL   2
  --smooth            -S    2
  --pillow_surfaces   -ps   ON
  --pillow_boundaries -pb   ON


Total Cells              = 5177717
Number of Processors       = 1
Approx. Num Cells per Proc = 5177717


=======================================================
WARNING: Possible invalid input detected in input file.
         Check previous warning messages.
=======================================================

Decomposing Cartesian grid for parallel...
  Rank 0 Number of cells/segment in directions X         173
  Rank 0 Number of cells/segment in directions Y         173
  Rank 0 Number of cells/segment in directions Z         173
  Global Number of grid segments in directions X         1
  Global Number of grid segments in directions Y         1
  Global Number of grid segments in directions Z         1

initializing geometry...
 Parsing diatom input
 Finished loading diatom master buffer
 Diatom_Buffer: replaced 6 bad character(s)
 Finished creating diatoms
inserting volume fractions...
begin SCULPT meshing...
Begin Refinement...
  Initial cells = 5177717
  Refinement Indicator:
    VOLUME FRACTION AVERAGE DIFFERENCE > 0.010000
          Level 1 uniformly refining...
    5623 level 1 cells uniformly refined
          Level 2 uniformly refining...
    6276 Level 2 cells uniformly refined
    103923 additional Level 1 cells uniformly refined
  Inserting transitions level 1
    Refining X...
    Refining Y...
    Refining Z...
  Inserting transitions level 2
    Refining X...
    Refining Y...
    Refining Z...
  Updating Base Grid...
  Refinement completed with 8231477 cells
  Time in refinement = 321.609585 clock secs
(1/9) computing normals...
(2/9) classifying materials...

==============================
 PERIODICITY CHECK: PASSED
==============================

(3/9) resolving non-manifolds...
(4/9) computing dual edge intersections...
(5/9) computing material interfaces...
(6/9) generating geometry...
(7/9) generating buffer hexes...
(8/9) generating interior hexes...
(9/9) begin smoothing...
Begin smoothing hexes using:
  Curve Smoothing              = SMOOTH_CURV_VFRAC
  Surface Smoothing            = SMOOTH_SURF_HYBRID
  Volume Smoothing             = SMOOTH_VOL_HYBRID_CAMAL
  Boundary Buffer Improvement  = NO
  Surface Projection Type      = LINEAR_SURFACE_PROJECTION
  Laplacian Iterations         = 2
  Maximum Optimization Iters   = 5
  Optimization Threshold       = 0.600000
  Curve Opt. Threshold         = -1.000000
  Max Parallel Coloring Iters  = 0
  Parallel Coloring Threshold  = 0.200000
  Max Guaranteed Quality Iters = 0
  Guaranteed Quality Threshold = 0.200000
Laplacian Iter: 1
Laplacian Iter: 2
Smoothing 8897765 hexes on 1 processors
Jacobi Opt Iter: 1,  Num bad: 133, Num poor: 55132, Min SJ: -0.382449
Jacobi Opt Iter: 2,  Num bad: 24, Num poor: 37019, Min SJ: -0.094918
Jacobi Opt Iter: 3,  Num bad: 6, Num poor: 29852, Min SJ: -0.030638
Jacobi Opt Iter: 4,  Num bad: 8, Num poor: 25944, Min SJ: -0.037249
Jacobi Opt Iter: 5,  Num bad: 26, Num poor: 23786, Min SJ: -0.097793
generating pillow...
Pillowing Options:
  Pillowing Method:  All Surfaces
  Smoothing:         ON
  Pillow surfaces completed.
  Inserted 666288 additional hexes.
(9/9) begin smoothing...
Begin smoothing hexes using:
  Curve Smoothing              = SMOOTH_CURV_VFRAC
  Surface Smoothing            = SMOOTH_SURF_HYBRID
  Volume Smoothing             = SMOOTH_VOL_HYBRID_CAMAL
  Boundary Buffer Improvement  = NO
  Surface Projection Type      = LINEAR_SURFACE_PROJECTION
  Laplacian Iterations         = 2
  Maximum Optimization Iters   = 5
  Optimization Threshold       = 0.600000
  Curve Opt. Threshold         = 0.100000
  Max Parallel Coloring Iters  = 100
  Parallel Coloring Threshold  = 0.200000
  Max Guaranteed Quality Iters = 0
  Guaranteed Quality Threshold = 0.200000
Laplacian Iter: 1
Laplacian Iter: 2
Smoothing 9564053 hexes on 1 processors
Jacobi Opt Iter: 1,  Num bad: 78, Num poor: 88895, Min SJ: -0.336627
Jacobi Opt Iter: 2,  Num bad: 7, Num poor: 59356, Min SJ: -0.067412
Jacobi Opt Iter: 3,  Num bad: 6, Num poor: 43020, Min SJ: -0.022477
Jacobi Opt Iter: 4,  Num bad: 2, Num poor: 32431, Min SJ: -0.027460
Jacobi Opt Iter: 5,  Num bad: 7, Num poor: 25223, Min SJ: -0.016074
Begin parallel color smoothing 127462 nodes below threshold 0.200000
Coloring Opt Iter: 0, Num Smooths: 0, Num bad: 131, Num poor: 70821, Min Vol: -0.004594
Coloring Opt Iter: 2, Num Smooths: 17388, Num bad: 0, Num poor: 46333, Min SJ: 0.040700
Coloring Opt Iter: 4, Num Smooths: 29561, Num bad: 0, Num poor: 43439, Min SJ: 0.048776
Coloring Opt Iter: 6, Num Smooths: 41281, Num bad: 0, Num poor: 42976, Min SJ: 0.048776
Coloring Opt Iter: 8, Num Smooths: 52971, Num bad: 0, Num poor: 42847, Min SJ: 0.048776
Coloring Opt Iter: 10, Num Smooths: 64650, Num bad: 0, Num poor: 42805, Min SJ: 0.048776
Coloring Opt Iter: 12, Num Smooths: 76327, Num bad: 0, Num poor: 42796, Min SJ: 0.048776
Coloring Opt Iter: 14, Num Smooths: 88005, Num bad: 0, Num poor: 42796, Min SJ: 0.048776
Coloring Opt Iter: 16, Num Smooths: 99683, Num bad: 0, Num poor: 42795, Min SJ: 0.048776
Coloring Opt Iter: 18, Num Smooths: 111361, Num bad: 0, Num poor: 42796, Min SJ: 0.048776
Coloring Opt Iter: 20, Num Smooths: 123039, Num bad: 0, Num poor: 42795, Min SJ: 0.048776
Coloring Opt Iter: 22, Num Smooths: 134717, Num bad: 0, Num poor: 42795, Min SJ: 0.048776
WARNING: Smoothing terminated. Unable to make additional improvement.
Coloring Opt Iter: 24, Num Smooths: 146395, Num bad: 0, Num poor: 42795, Min SJ: 0.048776
Pillowing Options:
  Pillowing Method:  Domain Boundaries
  Smoothing:         ON
  Pillow domain boundaries completed.
  Inserted 0 additional hexes.
(9/9) begin smoothing...
Begin smoothing hexes using:
  Curve Smoothing              = SMOOTH_CURV_VFRAC
  Surface Smoothing            = SMOOTH_SURF_HYBRID
  Volume Smoothing             = SMOOTH_VOL_HYBRID_CAMAL
  Boundary Buffer Improvement  = NO
  Surface Projection Type      = LINEAR_SURFACE_PROJECTION
  Laplacian Iterations         = 2
  Maximum Optimization Iters   = 5
  Optimization Threshold       = 0.600000
  Curve Opt. Threshold         = 0.100000
  Max Parallel Coloring Iters  = 100
  Parallel Coloring Threshold  = 0.200000
  Max Guaranteed Quality Iters = 0
  Guaranteed Quality Threshold = 0.200000
Laplacian Iter: 1
Laplacian Iter: 2
Smoothing 9564053 hexes on 1 processors
Jacobi Opt Iter: 1,  Num bad: 60, Num poor: 60100, Min SJ: -0.319761
Jacobi Opt Iter: 2,  Num bad: 9, Num poor: 37763, Min SJ: -0.069601
Jacobi Opt Iter: 3,  Num bad: 0, Num poor: 26863, Min SJ: 0.006146
Jacobi Opt Iter: 4,  Num bad: 1, Num poor: 19925, Min SJ: -0.025330
Jacobi Opt Iter: 5,  Num bad: 0, Num poor: 15034, Min SJ: 0.005873
Begin parallel color smoothing 80791 nodes below threshold 0.200000
Coloring Opt Iter: 0, Num Smooths: 0, Num bad: 20, Num poor: 42626, Min Vol: -0.002342
Coloring Opt Iter: 2, Num Smooths: 11857, Num bad: 0, Num poor: 22141, Min SJ: 0.046018
Coloring Opt Iter: 4, Num Smooths: 19200, Num bad: 0, Num poor: 19867, Min SJ: 0.049060
Coloring Opt Iter: 6, Num Smooths: 26103, Num bad: 0, Num poor: 19698, Min SJ: 0.049060
Coloring Opt Iter: 8, Num Smooths: 32995, Num bad: 0, Num poor: 19660, Min SJ: 0.049060
Coloring Opt Iter: 10, Num Smooths: 39882, Num bad: 0, Num poor: 19651, Min SJ: 0.049060
Coloring Opt Iter: 12, Num Smooths: 46770, Num bad: 0, Num poor: 19632, Min SJ: 0.049060
Coloring Opt Iter: 14, Num Smooths: 53656, Num bad: 0, Num poor: 19627, Min SJ: 0.049060
Coloring Opt Iter: 16, Num Smooths: 60542, Num bad: 0, Num poor: 19627, Min SJ: 0.049060
Coloring Opt Iter: 18, Num Smooths: 67428, Num bad: 0, Num poor: 19627, Min SJ: 0.049060
WARNING: Smoothing terminated. Unable to make additional improvement.
Coloring Opt Iter: 19, Num Smooths: 70871, Num bad: 0, Num poor: 19627, Min SJ: 0.049060
building exodus mesh...
generating global ids...
================ MESH SUMMARY ===================
Base Filename   sculpt_test
Num Procs       1
Num Nodes       9667140
Num Elements    9564053
Num Blocks      2
Num Nodesets    0
Num Sidesets    0
Num Bad Qual    0
Num Poor Qual   17
Min Quality     0.146791
Avg Quality     0.900735
Min Edge Len    0.103950
Min Qual Rank   0

Job Completed Tue Jul  6 07:52:38 2021

Elapsed Time            2267.152968 sec. (37.785883 min.)
Total Time on 1 Procs   2267.152968 sec. (37.785883 min.)
Slow Rank               0
Done!

Dear Scot,

Thanks for your supply. It seems the shipped openmpi doesn’t run on our system as it does on your machine.

When typing /path/to/Coreform-Cubit-2021.5/bin/./mpiexec, the following error occurs:

--------------------------------------------------------------------------
It looks like opal_init failed for some reason; your parallel process is
likely to abort.  There are many reasons that a parallel process can
fail during opal_init; some of which are due to configuration or
environment problems.  This failure appears to be an internal failure;
here's some additional information (which may only be relevant to an
Open MPI developer):

  opal_shmem_base_select failed
  --> Returned value -1 instead of OPAL_SUCCESS
--------------------------------------------------------------------------

whereas for an already installed openmpi we get the following output:

--------------------------------------------------------------------------
mpiexec could not find anything to do.

It is possible that you forgot to specify how many processes to run
via the "-np" argument.
--------------------------------------------------------------------------

To me, this seems, that there is something not working properly.
Is there something, I am missing?

If you already have openmpi installed elsewhere, our shipped version of openmpi may be loading libraries from your installed version. If the versions are different, that would cause a conflict. Can you please take a system call log like this:

strace -o cubit_mpi.txt /path/to/Cubit/bin/sculpt --input_file input_file.i

You can also force Cubit’s OpenMPI to load from a certain directory using the environment variable OPAL_PREFIX. OPAL_PREFIX would be set to /path/to/Cubit/bin/mpi. See https://www.open-mpi.org/faq/?category=building#installdirs for more details.
Cubit sets the environment variables OPAL_PREFIX (bin/mpi), OPAL_LIBDIR (bin/mpi/lib), and OPAL_BINDIR (bin/mpi/bin) on startup if they are not already set. This makes sure that the Cubit version of OpenMPI loads from our installation and doesn’t load from any other installation on the machine.

1 Like