MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
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.
 

Protected Member Functions

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

Protected Attributes

Meshmesh
 
NonlinearFormnlf
 
TMOPNewtonSolvertmopns
 
GridFunctionx
 
Array< GridFunction * > gridfuncarr
 
Array< FiniteElementSpace * > fespacearr
 
bool move_bnd
 
bool hradaptivity
 
const int mesh_poly_deg
 
const int amr_metric_id
 
ParMeshpmesh
 
ParNonlinearFormpnlf
 
Array< ParGridFunction * > pgridfuncarr
 
Array< ParFiniteElementSpace * > pfespacearr
 
bool serial
 
TMOPRefinerEstimatortmop_r_est
 
ThresholdRefinertmop_r
 
TMOPDeRefinerEstimatortmop_dr_est
 
ThresholdDerefinertmop_dr
 
int hr_iter
 
int h_per_r_iter
 

Detailed Description

Definition at line 194 of file tmop_amr.hpp.

Constructor & Destructor Documentation

◆ TMOPHRSolver() [1/2]

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.

◆ TMOPHRSolver() [2/2]

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.

◆ ~TMOPHRSolver()

mfem::TMOPHRSolver::~TMOPHRSolver ( )
inline

Definition at line 266 of file tmop_amr.hpp.

Member Function Documentation

◆ AddFESpaceForUpdate() [1/2]

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

Definition at line 253 of file tmop_amr.hpp.

◆ AddFESpaceForUpdate() [2/2]

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

Definition at line 260 of file tmop_amr.hpp.

◆ AddGridFunctionForUpdate() [1/2]

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.

◆ AddGridFunctionForUpdate() [2/2]

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

Definition at line 256 of file tmop_amr.hpp.

◆ Mult()

void mfem::TMOPHRSolver::Mult ( )

Definition at line 582 of file tmop_amr.cpp.

◆ ParUpdate()

void mfem::TMOPHRSolver::ParUpdate ( )
protected

Definition at line 791 of file tmop_amr.cpp.

◆ RebalanceParNCMesh()

void mfem::TMOPHRSolver::RebalanceParNCMesh ( )
protected

Definition at line 727 of file tmop_amr.cpp.

◆ SetHAdaptivityIterations()

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.

◆ SetHRAdaptivityIterations()

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.

◆ Update()

void mfem::TMOPHRSolver::Update ( )
protected

Definition at line 744 of file tmop_amr.cpp.

◆ UpdateNonlinearFormAndBC()

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

Definition at line 838 of file tmop_amr.cpp.

Member Data Documentation

◆ amr_metric_id

const int mfem::TMOPHRSolver::amr_metric_id
protected

Definition at line 204 of file tmop_amr.hpp.

◆ fespacearr

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

Definition at line 202 of file tmop_amr.hpp.

◆ gridfuncarr

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

Definition at line 201 of file tmop_amr.hpp.

◆ h_per_r_iter

int mfem::TMOPHRSolver::h_per_r_iter
protected

Definition at line 219 of file tmop_amr.hpp.

◆ hr_iter

int mfem::TMOPHRSolver::hr_iter
protected

Definition at line 219 of file tmop_amr.hpp.

◆ hradaptivity

bool mfem::TMOPHRSolver::hradaptivity
protected

Definition at line 203 of file tmop_amr.hpp.

◆ mesh

Mesh* mfem::TMOPHRSolver::mesh
protected

Definition at line 197 of file tmop_amr.hpp.

◆ mesh_poly_deg

const int mfem::TMOPHRSolver::mesh_poly_deg
protected

Definition at line 204 of file tmop_amr.hpp.

◆ move_bnd

bool mfem::TMOPHRSolver::move_bnd
protected

Definition at line 203 of file tmop_amr.hpp.

◆ nlf

NonlinearForm* mfem::TMOPHRSolver::nlf
protected

Definition at line 198 of file tmop_amr.hpp.

◆ pfespacearr

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

Definition at line 209 of file tmop_amr.hpp.

◆ pgridfuncarr

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

Definition at line 208 of file tmop_amr.hpp.

◆ pmesh

ParMesh* mfem::TMOPHRSolver::pmesh
protected

Definition at line 206 of file tmop_amr.hpp.

◆ pnlf

ParNonlinearForm* mfem::TMOPHRSolver::pnlf
protected

Definition at line 207 of file tmop_amr.hpp.

◆ serial

bool mfem::TMOPHRSolver::serial
protected

Definition at line 211 of file tmop_amr.hpp.

◆ tmop_dr

ThresholdDerefiner* mfem::TMOPHRSolver::tmop_dr
protected

Definition at line 217 of file tmop_amr.hpp.

◆ tmop_dr_est

TMOPDeRefinerEstimator* mfem::TMOPHRSolver::tmop_dr_est
protected

Definition at line 216 of file tmop_amr.hpp.

◆ tmop_r

ThresholdRefiner* mfem::TMOPHRSolver::tmop_r
protected

Definition at line 215 of file tmop_amr.hpp.

◆ tmop_r_est

TMOPRefinerEstimator* mfem::TMOPHRSolver::tmop_r_est
protected

Definition at line 214 of file tmop_amr.hpp.

◆ tmopns

TMOPNewtonSolver* mfem::TMOPHRSolver::tmopns
protected

Definition at line 199 of file tmop_amr.hpp.

◆ x

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: