libMesh
biharmonic.h
Go to the documentation of this file.
1 #ifndef BIHARMONIC_H
2 #define BIHARMONIC_H
3 
4 #include "libmesh/equation_systems.h"
5 #include "libmesh/replicated_mesh.h"
6 #include "libmesh/exodusII_io.h"
7 #include "libmesh/mesh_refinement.h"
8 
9 // Bring in bits from the libMesh namespace.
10 // Just the bits we're using, since this is a header.
13 using libMesh::Point;
14 using libMesh::Real;
16 
17 #ifdef LIBMESH_ENABLE_AMR
19 #endif
20 
46 {
47 public:
48  // Initial state enumeration
50  ROD = 1,
51  BALL = 2};
52 
53  // Free energy enumeration
58 
67 
68 
73  {
74  // delete _meshRefinement;
75  }
76 
77 
78  // Misc. getters
79  bool verbose() { return _verbose; }
80  Real dt0() { return _dt0; }
81  Real dt() { return _dt; }
82 
83 
84  // Public interface functions
85  void viewParameters();
86  void init();
87  void step(const Real & dt = -1.0);
88  void output(int timestep, const Real & t, Real & o_t, bool force = false);
89  void run();
90 
91 private:
92  unsigned int _dim, _N;
98  bool _verbose;
104  //
105  std::string _ofile_base, _ofile;
106  std::unique_ptr<ExodusII_IO> _exio;
108  int _o_count;
109  //
110  friend class JR;
111  class JR; // forward
113  JR * _jr;
114 };
115 
116 #endif // BIHARMONIC_H
Biharmonic::_growth
bool _growth
Definition: biharmonic.h:95
Biharmonic::STRIP
Definition: biharmonic.h:49
Biharmonic::_o_dt
Real _o_dt
Definition: biharmonic.h:107
Biharmonic::_netforce
bool _netforce
Definition: biharmonic.h:95
Biharmonic::viewParameters
void viewParameters()
Definition: biharmonic.C:166
Biharmonic::_dt
Real _dt
Definition: biharmonic.h:102
Biharmonic::DOUBLE_WELL
Definition: biharmonic.h:54
Biharmonic::~Biharmonic
~Biharmonic()
Destructor.
Definition: biharmonic.h:72
Biharmonic::BALL
Definition: biharmonic.h:51
Biharmonic::_ofile_base
std::string _ofile_base
Definition: biharmonic.h:105
Biharmonic::_degenerate
bool _degenerate
Definition: biharmonic.h:95
Biharmonic::verbose
bool verbose()
Definition: biharmonic.h:79
Biharmonic::_mesh
ReplicatedMesh & _mesh
Definition: biharmonic.h:111
Biharmonic::ROD
Definition: biharmonic.h:50
mesh
MeshBase & mesh
Definition: mesh_communication.C:1257
Biharmonic::_T
Real _T
Definition: biharmonic.h:102
libMesh::ExodusII_IO
The ExodusII_IO class implements reading meshes in the ExodusII file format from Sandia National Labs...
Definition: exodusII_io.h:51
Biharmonic::_t1
Real _t1
Definition: biharmonic.h:102
Biharmonic::JR
Biharmonic's friend class definition.
Definition: biharmonic_jr.h:29
libMesh::ReplicatedMesh
The ReplicatedMesh class is derived from the MeshBase class, and is used to store identical copies of...
Definition: replicated_mesh.h:47
libMesh::MeshRefinement
Implements (adaptive) mesh refinement algorithms for a MeshBase.
Definition: mesh_refinement.h:61
Biharmonic::dt
Real dt()
Definition: biharmonic.h:81
Biharmonic::_jr
JR * _jr
Definition: biharmonic.h:113
Biharmonic::FreeEnergyEnum
FreeEnergyEnum
Definition: biharmonic.h:54
Biharmonic::_initialWidth
Real _initialWidth
Definition: biharmonic.h:101
Biharmonic::_t0
Real _t0
Definition: biharmonic.h:102
Biharmonic::_cnWeight
Real _cnWeight
Definition: biharmonic.h:103
libMesh::Point
A Point defines a location in LIBMESH_DIM dimensional Real space.
Definition: point.h:38
Biharmonic::output
void output(int timestep, const Real &t, Real &o_t, bool force=false)
Definition: biharmonic.C:251
Biharmonic::_N
unsigned int _N
Definition: biharmonic.h:92
Biharmonic::_verbose
bool _verbose
Definition: biharmonic.h:98
Biharmonic::_dt0
Real _dt0
Definition: biharmonic.h:102
Biharmonic::_theta
Real _theta
Definition: biharmonic.h:93
Biharmonic::_theta_c
Real _theta_c
Definition: biharmonic.h:93
Biharmonic::_tol
Real _tol
Definition: biharmonic.h:94
Biharmonic::_initialCenter
Point _initialCenter
Definition: biharmonic.h:100
Biharmonic::_kappa
Real _kappa
Definition: biharmonic.h:93
libMesh::EquationSystems
This is the EquationSystems class.
Definition: equation_systems.h:74
Biharmonic::dt0
Real dt0()
Definition: biharmonic.h:80
Biharmonic::_o_count
int _o_count
Definition: biharmonic.h:108
Biharmonic::_initialState
InitialStateEnum _initialState
Definition: biharmonic.h:99
Biharmonic::run
void run()
Definition: biharmonic.C:287
Biharmonic::_ofile
std::string _ofile
Definition: biharmonic.h:105
Biharmonic::_cahn_hillard
bool _cahn_hillard
Definition: biharmonic.h:95
Biharmonic::LOG_DOUBLE_WELL
Definition: biharmonic.h:56
Biharmonic::_energy
FreeEnergyEnum _energy
Definition: biharmonic.h:96
Biharmonic::InitialStateEnum
InitialStateEnum
Definition: biharmonic.h:49
libMesh::Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Definition: libmesh_common.h:121
Biharmonic::step
void step(const Real &dt=-1.0)
Definition: biharmonic.C:230
Biharmonic::init
void init()
Initialize all the systems.
Definition: biharmonic.C:213
Biharmonic::_exio
std::unique_ptr< ExodusII_IO > _exio
Definition: biharmonic.h:106
Biharmonic::Biharmonic
Biharmonic(ReplicatedMesh &mesh)
Constructor retrieves command-line options, setting defaults, if necessary.
Definition: biharmonic.C:14
Biharmonic
The Biharmonic class encapsulates most of the data structures necessary to calculate the biharmonic r...
Definition: biharmonic.h:45
Biharmonic::DOUBLE_OBSTACLE
Definition: biharmonic.h:55
Biharmonic::_log_truncation
int _log_truncation
Definition: biharmonic.h:97
Biharmonic::LOG_DOUBLE_OBSTACLE
Definition: biharmonic.h:57
Biharmonic::_dim
unsigned int _dim
Definition: biharmonic.h:92