15                                 {
   17 
   18  try {
   19 
   20    
   22    PetscBool flg_file = PETSC_FALSE;
   23    char mesh_out_file[255] = "out.h5m";
   24 
   25    PetscOptionsBegin(PETSC_COMM_WORLD, "", "Field to vertices options",
   26                             "none");
   27    CHKERR PetscOptionsString(
"-file_name", 
"mesh file name", 
"", 
"mesh.h5m",
 
   29    CHKERR PetscOptionsString(
"-output_file", 
"output mesh file name", 
"",
 
   30                              "out.h5m", mesh_out_file, 255, PETSC_NULLPTR);
   31 
   32    PetscOptionsEnd(); 
   33 
   34    moab::Core mb_instance;
   35    moab::Interface &moab = mb_instance;
   36    ParallelComm *pcomm = ParallelComm::get_pcomm(&moab, 
MYPCOMM_INDEX);
 
   37    if (pcomm == NULL)
   38      pcomm = new ParallelComm(&moab, PETSC_COMM_WORLD);
   39    const char *option;
   40    option = "";
   42 
   43    
   46 
   47    
   48    auto core_log = logging::core::get();
   49    core_log->add_sink(
   53 
   55    std::vector<std::string> prb_list;
   56    for(auto &it : *prb_ptr) 
   57      prb_list.push_back(it.getName());
   58 
   59    for (auto &it : prb_list) {
   60      MOFEM_LOG(
"REMOVER", Sev::inform) << 
"Delete problem " << it;
 
   62    }
   63 
   65    std::vector<std::string> fe_list;
   66    for (auto &it : *fe_ptr) 
   67      fe_list.push_back(it->getName());
   68 
   69    for (auto &it : fe_list) {
   71          << "Delete finite element " << it;
   73    }
   74 
   76     std::vector<std::string> field_list;
   77     for (auto &it : *field_ptr)
   78       field_list.push_back(it->getName());
   79 
   80     for (auto &it : field_list) {
   81       MOFEM_LOG(
"REMOVER", Sev::inform) << 
"Delete field " << it;
 
   83    }
   84 
   85    CHKERR moab.write_file(mesh_out_file);
 
   86 
   87  }
   89 
   91 
   92  return 0;
   93}
#define CATCH_ERRORS
Catch errors.
#define MYPCOMM_INDEX
default communicator number PCOMM
#define CHKERR
Inline error check.
virtual const FiniteElement_multiIndex * get_finite_elements() const =0
Get the finite elements object.
virtual const Problem_multiIndex * get_problems() const =0
Get the problems object.
virtual const Field_multiIndex * get_fields() const =0
Get the fields object.
static LoggerType & setLog(const std::string channel)
Set ans resset chanel logger.
#define MOFEM_LOG(channel, severity)
Log.
#define MOFEM_LOG_TAG(channel, tag)
Tag channel.
virtual MoFEMErrorCode delete_problem(const std::string name)=0
Delete problem.
virtual MoFEMErrorCode delete_finite_element(const std::string name, int verb=DEFAULT_VERBOSITY)=0
Delete finite element from MoFEM database.
virtual MoFEMErrorCode delete_field(const std::string name, int verb=DEFAULT_VERBOSITY)=0
Delete field.
static MoFEMErrorCode Initialize(int *argc, char ***args, const char file[], const char help[])
Initializes the MoFEM database PETSc, MOAB and MPI.
static MoFEMErrorCode Finalize()
Checks for options to be called at the conclusion of the program.
Deprecated interface functions.
static boost::shared_ptr< SinkType > createSink(boost::shared_ptr< std::ostream > stream_ptr, std::string comm_filter)
Create a sink object.
static boost::shared_ptr< std::ostream > getStrmWorld()
Get the strm world object.