7int main(
int argc, 
char *argv[]) {
 
   12    moab::Core mb_instance;
 
   13    moab::Interface &moab = mb_instance;
 
   14    ParallelComm *pcomm = ParallelComm::get_pcomm(&moab, 
MYPCOMM_INDEX);
 
   16      pcomm = 
new ParallelComm(&moab, PETSC_COMM_WORLD);
 
   24    char mesh_out_file[255] = 
"out.h5m";
 
   28    PetscOptionsBegin(PETSC_COMM_WORLD, 
"", 
"none", 
"none");
 
   31    CHKERR PetscOptionsString(
"-file_name", 
"mesh file name", 
"", 
"mesh.h5m",
 
   33    CHKERR PetscOptionsString(
"-output_file", 
"output mesh file name", 
"",
 
   34                              mesh_out_file, mesh_out_file, 255, PETSC_NULLPTR);
 
   35    CHKERR PetscOptionsInt(
"-dim", 
"mesh dimension", 
"", dim, &dim, PETSC_NULLPTR);
 
   40    if (flg_file != PETSC_TRUE)
 
   41      SETERRQ(PETSC_COMM_SELF, 1,
 
   42              "*** ERROR -my_file (-file_name) (MESH FILE NEEDED)");
 
   45    MOFEM_LOG(
"WORLD", Sev::inform) << 
"Out file " << mesh_out_file;
 
   46    MOFEM_LOG(
"WORLD", Sev::inform) << 
"Mesh dimension " << dim;
 
   53    CHKERR moab.get_entities_by_dimension(0, dim, ents);
 
   54    MOFEM_LOG(
"WORLD", Sev::verbose) << 
"Ents:\n" << ents;
 
   56    Skinner skinner(&moab);
 
   57    CHKERR skinner.find_skin(0, ents, 
false, skin);
 
   58    MOFEM_LOG(
"WORLD", Sev::verbose) << 
"Skin:\n" << skin;
 
   61    CHKERR moab.create_meshset(MESHSET_SET, set);
 
   62    CHKERR moab.add_entities(set, skin);
 
   64    CHKERR moab.write_file(mesh_out_file, 
"MOAB", 
"", &set, 1);
 
 
static MoFEMErrorCode Initialize(int *argc, char ***args, const char file[], const char help[])
Initializes the MoFEM database PETSc, MOAB and MPI.