www.mooseframework.org
FileMesh.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "MooseMesh.h"
13 
14 // forward declaration
15 class FileMesh;
16 
17 template <>
19 
20 class FileMesh : public MooseMesh
21 {
22 public:
24 
26  FileMesh(const FileMesh & other_mesh);
27  virtual ~FileMesh(); // empty dtor required for unique_ptr with forward declarations
28 
29  virtual std::unique_ptr<MooseMesh> safeClone() const override;
30 
31  virtual void buildMesh() override;
32 
33  void read(const std::string & file_name);
34  virtual ExodusII_IO * exReader() const override { return _exreader.get(); }
35 
36  // Get/Set Filename (for meshes read from a file)
37  void setFileName(const std::string & file_name) { _file_name = file_name; }
38  virtual std::string getFileName() const override { return _file_name; }
39 
40 protected:
42  std::string _file_name;
43 
45  std::unique_ptr<ExodusII_IO> _exreader;
46 
49  const unsigned int _dim;
50 
53 };
54 
FileMesh::safeClone
virtual std::unique_ptr< MooseMesh > safeClone() const override
A safer version of the clone() method that hands back an allocated object wrapped in a smart pointer.
Definition: FileMesh.C:52
FileMesh::~FileMesh
virtual ~FileMesh()
Definition: FileMesh.C:49
MooseMesh.h
FileMesh::_file_name
std::string _file_name
the file_name from whence this mesh came
Definition: FileMesh.h:42
FileMesh::validParams
static InputParameters validParams()
Definition: FileMesh.C:25
FileMesh::exReader
virtual ExodusII_IO * exReader() const override
Not implemented – always returns NULL.
Definition: FileMesh.h:34
validParams< FileMesh >
InputParameters validParams< FileMesh >()
MooseObject::parameters
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:76
FileMesh::buildMesh
virtual void buildMesh() override
Must be overridden by child classes.
Definition: FileMesh.C:58
FileMesh::_read_mesh_timer
const PerfID _read_mesh_timer
Timers.
Definition: FileMesh.h:52
FileMesh::setFileName
void setFileName(const std::string &file_name)
Definition: FileMesh.h:37
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Definition: InputParameters.h:53
FileMesh::getFileName
virtual std::string getFileName() const override
Returns the name of the mesh file read to produce this mesh if any or an empty string otherwise.
Definition: FileMesh.h:38
FileMesh::read
void read(const std::string &file_name)
Definition: FileMesh.C:130
PerfID
unsigned int PerfID
Definition: MooseTypes.h:198
FileMesh::_exreader
std::unique_ptr< ExodusII_IO > _exreader
Auxiliary object for restart.
Definition: FileMesh.h:45
FileMesh
Definition: FileMesh.h:20
FileMesh::_dim
const unsigned int _dim
The requested dimension of the mesh.
Definition: FileMesh.h:49
MooseMesh
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:74
FileMesh::FileMesh
FileMesh(const InputParameters &parameters)
Definition: FileMesh.C:33