MFEM  v4.5.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mfem::TMOPHRSolver Class Reference

#include <tmop_amr.hpp>

Collaboration diagram for mfem::TMOPHRSolver:
[legend]

Public Member Functions

 TMOPHRSolver (Mesh &mesh_, NonlinearForm &nlf_, TMOPNewtonSolver &tmopns_, GridFunction &x_, bool move_bnd_, bool hradaptivity_, int mesh_poly_deg_, int amr_metric_id_, int hr_iter_=5, int h_per_r_iter_=1)
 
 TMOPHRSolver (ParMesh &pmesh_, ParNonlinearForm &pnlf_, TMOPNewtonSolver &tmopns_, ParGridFunction &x_, bool move_bnd_, bool hradaptivity_, int mesh_poly_deg_, int amr_metric_id_, int hr_iter_=5, int h_per_r_iter_=1)
 
void Mult ()
 
void AddGridFunctionForUpdate (GridFunction *gf)
 
void AddFESpaceForUpdate (FiniteElementSpace *fes)
 
void AddGridFunctionForUpdate (ParGridFunction *pgf_)
 
void AddFESpaceForUpdate (ParFiniteElementSpace *pfes_)
 
 ~TMOPHRSolver ()
 
void SetHRAdaptivityIterations (int iter)
 
void SetHAdaptivityIterations (int iter)
 Total number of h-adaptivity iterations per r-adaptivity iteration. More...
 

Protected Member Functions

void Update ()
 
void ParUpdate ()
 
void UpdateNonlinearFormAndBC (Mesh *mesh, NonlinearForm *nlf)
 
void RebalanceParNCMesh ()
 

Protected Attributes

Mesh * mesh
 
NonlinearForm * nlf
 
TMOPNewtonSolver * tmopns
 
GridFunction * x
 
Array< GridFunction * > gridfuncarr
 
Array< FiniteElementSpace * > fespacearr
 
bool move_bnd
 
bool hradaptivity
 
const int mesh_poly_deg
 
const int amr_metric_id
 
ParMesh * pmesh
 
ParNonlinearForm * pnlf
 
Array< ParGridFunction * > pgridfuncarr
 
Array< ParFiniteElementSpace * > pfespacearr
 
bool serial
 
TMOPRefinerEstimator * tmop_r_est
 
ThresholdRefiner * tmop_r
 
TMOPDeRefinerEstimator * tmop_dr_est
 
ThresholdDerefiner * tmop_dr
 
int hr_iter
 
int h_per_r_iter
 

Detailed Description

Definition at line 194 of file tmop_amr.hpp.

Constructor & Destructor Documentation

mfem::TMOPHRSolver::TMOPHRSolver ( Mesh &  mesh_,
NonlinearForm &  nlf_,
TMOPNewtonSolver &  tmopns_,
GridFunction &  x_,
bool  move_bnd_,
bool  hradaptivity_,
int  mesh_poly_deg_,
int  amr_metric_id_,
int  hr_iter_ = 5,
int  h_per_r_iter_ = 1 
)

Definition at line 535 of file tmop_amr.cpp.

mfem::TMOPHRSolver::TMOPHRSolver ( ParMesh &  pmesh_,
ParNonlinearForm &  pnlf_,
TMOPNewtonSolver &  tmopns_,
ParGridFunction &  x_,
bool  move_bnd_,
bool  hradaptivity_,
int  mesh_poly_deg_,
int  amr_metric_id_,
int  hr_iter_ = 5,
int  h_per_r_iter_ = 1 
)

Definition at line 558 of file tmop_amr.cpp.

mfem::TMOPHRSolver::~TMOPHRSolver ( )
inline

Definition at line 266 of file tmop_amr.hpp.

Member Function Documentation

void mfem::TMOPHRSolver::AddFESpaceForUpdate ( FiniteElementSpace *  fes)
inline

Definition at line 253 of file tmop_amr.hpp.

void mfem::TMOPHRSolver::AddFESpaceForUpdate ( ParFiniteElementSpace *  pfes_)
inline

Definition at line 260 of file tmop_amr.hpp.

void mfem::TMOPHRSolver::AddGridFunctionForUpdate ( GridFunction *  gf)
inline

These are used to update spaces and functions that are not owned by the TMOPIntegrator or DiscreteAdaptTC. The owned ones are updated in the functions UpdateAfterMeshTopologyChange() of both classes.

Definition at line 252 of file tmop_amr.hpp.

void mfem::TMOPHRSolver::AddGridFunctionForUpdate ( ParGridFunction *  pgf_)
inline

Definition at line 256 of file tmop_amr.hpp.

void mfem::TMOPHRSolver::Mult ( )

Definition at line 582 of file tmop_amr.cpp.

void mfem::TMOPHRSolver::ParUpdate ( )
protected

Definition at line 793 of file tmop_amr.cpp.

void mfem::TMOPHRSolver::RebalanceParNCMesh ( )
protected

Definition at line 729 of file tmop_amr.cpp.

void mfem::TMOPHRSolver::SetHAdaptivityIterations ( int  iter)
inline

Total number of h-adaptivity iterations per r-adaptivity iteration.

Definition at line 280 of file tmop_amr.hpp.

void mfem::TMOPHRSolver::SetHRAdaptivityIterations ( int  iter)
inline

Total number of hr-adaptivity iterations. At each iteration, we do an r-adaptivity iteration followed by a number of h-adaptivity iterations.

Definition at line 277 of file tmop_amr.hpp.

void mfem::TMOPHRSolver::Update ( )
protected

Definition at line 746 of file tmop_amr.cpp.

void mfem::TMOPHRSolver::UpdateNonlinearFormAndBC ( Mesh *  mesh,
NonlinearForm *  nlf 
)
protected

Definition at line 840 of file tmop_amr.cpp.

Member Data Documentation

const int mfem::TMOPHRSolver::amr_metric_id
protected

Definition at line 204 of file tmop_amr.hpp.

Array<FiniteElementSpace *> mfem::TMOPHRSolver::fespacearr
protected

Definition at line 202 of file tmop_amr.hpp.

Array<GridFunction *> mfem::TMOPHRSolver::gridfuncarr
protected

Definition at line 201 of file tmop_amr.hpp.

int mfem::TMOPHRSolver::h_per_r_iter
protected

Definition at line 219 of file tmop_amr.hpp.

int mfem::TMOPHRSolver::hr_iter
protected

Definition at line 219 of file tmop_amr.hpp.

bool mfem::TMOPHRSolver::hradaptivity
protected

Definition at line 203 of file tmop_amr.hpp.

Mesh* mfem::TMOPHRSolver::mesh
protected

Definition at line 197 of file tmop_amr.hpp.

const int mfem::TMOPHRSolver::mesh_poly_deg
protected

Definition at line 204 of file tmop_amr.hpp.

bool mfem::TMOPHRSolver::move_bnd
protected

Definition at line 203 of file tmop_amr.hpp.

NonlinearForm* mfem::TMOPHRSolver::nlf
protected

Definition at line 198 of file tmop_amr.hpp.

Array<ParFiniteElementSpace *> mfem::TMOPHRSolver::pfespacearr
protected

Definition at line 209 of file tmop_amr.hpp.

Array<ParGridFunction *> mfem::TMOPHRSolver::pgridfuncarr
protected

Definition at line 208 of file tmop_amr.hpp.

ParMesh* mfem::TMOPHRSolver::pmesh
protected

Definition at line 206 of file tmop_amr.hpp.

ParNonlinearForm* mfem::TMOPHRSolver::pnlf
protected

Definition at line 207 of file tmop_amr.hpp.

bool mfem::TMOPHRSolver::serial
protected

Definition at line 211 of file tmop_amr.hpp.

ThresholdDerefiner* mfem::TMOPHRSolver::tmop_dr
protected

Definition at line 217 of file tmop_amr.hpp.

TMOPDeRefinerEstimator* mfem::TMOPHRSolver::tmop_dr_est
protected

Definition at line 216 of file tmop_amr.hpp.

ThresholdRefiner* mfem::TMOPHRSolver::tmop_r
protected

Definition at line 215 of file tmop_amr.hpp.

TMOPRefinerEstimator* mfem::TMOPHRSolver::tmop_r_est
protected

Definition at line 214 of file tmop_amr.hpp.

TMOPNewtonSolver* mfem::TMOPHRSolver::tmopns
protected

Definition at line 199 of file tmop_amr.hpp.

GridFunction* mfem::TMOPHRSolver::x
protected

Definition at line 200 of file tmop_amr.hpp.


The documentation for this class was generated from the following files: