MFEM  v4.5.2
Finite element discretization library
Public Member Functions | Protected Attributes | List of all members
mfem::ScreenedPoisson Class Reference

#include <dist_solver.hpp>

Inheritance diagram for mfem::ScreenedPoisson:
[legend]
Collaboration diagram for mfem::ScreenedPoisson:
[legend]

Public Member Functions

 ScreenedPoisson (Coefficient &nfunc, double rh)
 
 ~ScreenedPoisson ()
 
void SetInput (Coefficient &nfunc)
 
virtual double GetElementEnergy (const FiniteElement &el, ElementTransformation &trans, const Vector &elfun) override
 Compute the local energy. More...
 
virtual void AssembleElementVector (const FiniteElement &el, ElementTransformation &trans, const Vector &elfun, Vector &elvect) override
 Perform the local action of the NonlinearFormIntegrator. More...
 
virtual void AssembleElementGrad (const FiniteElement &el, ElementTransformation &trans, const Vector &elfun, DenseMatrix &elmat) override
 Assemble the local gradient matrix. More...
 
- Public Member Functions inherited from mfem::NonlinearFormIntegrator
virtual void SetIntRule (const IntegrationRule *ir)
 Prescribe a fixed IntegrationRule to use (when ir != NULL) or let the integrator choose (when ir == NULL). More...
 
void SetIntegrationRule (const IntegrationRule &ir)
 Prescribe a fixed IntegrationRule to use. More...
 
void SetPAMemoryType (MemoryType mt)
 
const IntegrationRuleGetIntegrationRule () const
 Get the integration rule of the integrator (possibly NULL). More...
 
virtual void AssembleFaceVector (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Tr, const Vector &elfun, Vector &elvect)
 Perform the local action of the NonlinearFormIntegrator resulting from a face integral term. More...
 
virtual void AssembleFaceGrad (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Tr, const Vector &elfun, DenseMatrix &elmat)
 Assemble the local action of the gradient of the NonlinearFormIntegrator resulting from a face integral term. More...
 
virtual void AssemblePA (const FiniteElementSpace &fes)
 Method defining partial assembly. More...
 
virtual void AssemblePA (const FiniteElementSpace &trial_fes, const FiniteElementSpace &test_fes)
 
virtual void AssembleGradPA (const Vector &x, const FiniteElementSpace &fes)
 Prepare the integrator for partial assembly (PA) gradient evaluations on the given FE space fes at the state x. More...
 
virtual double GetLocalStateEnergyPA (const Vector &x) const
 Compute the local (to the MPI rank) energy with partial assembly. More...
 
virtual void AddMultPA (const Vector &x, Vector &y) const
 Method for partially assembled action. More...
 
virtual void AddMultGradPA (const Vector &x, Vector &y) const
 Method for partially assembled gradient action. More...
 
virtual void AssembleGradDiagonalPA (Vector &diag) const
 Method for computing the diagonal of the gradient with partial assembly. More...
 
virtual bool SupportsCeed () const
 Indicates whether this integrator can use a Ceed backend. More...
 
virtual void AssembleMF (const FiniteElementSpace &fes)
 Method defining fully unassembled operator. More...
 
virtual void AddMultMF (const Vector &x, Vector &y) const
 
ceed::OperatorGetCeedOp ()
 
virtual ~NonlinearFormIntegrator ()
 

Protected Attributes

double diffcoef
 
Coefficientfunc
 
- Protected Attributes inherited from mfem::NonlinearFormIntegrator
const IntegrationRuleIntRule
 
ceed::OperatorceedOp
 
MemoryType pa_mt = MemoryType::DEFAULT
 

Additional Inherited Members

- Protected Member Functions inherited from mfem::NonlinearFormIntegrator
 NonlinearFormIntegrator (const IntegrationRule *ir=NULL)
 

Detailed Description

Definition at line 167 of file dist_solver.hpp.

Constructor & Destructor Documentation

◆ ScreenedPoisson()

mfem::ScreenedPoisson::ScreenedPoisson ( Coefficient nfunc,
double  rh 
)
inline

Definition at line 174 of file dist_solver.hpp.

◆ ~ScreenedPoisson()

mfem::ScreenedPoisson::~ScreenedPoisson ( )
inline

Definition at line 180 of file dist_solver.hpp.

Member Function Documentation

◆ AssembleElementGrad()

void mfem::ScreenedPoisson::AssembleElementGrad ( const FiniteElement el,
ElementTransformation Tr,
const Vector elfun,
DenseMatrix elmat 
)
overridevirtual

Assemble the local gradient matrix.

Reimplemented from mfem::NonlinearFormIntegrator.

Definition at line 514 of file dist_solver.cpp.

◆ AssembleElementVector()

void mfem::ScreenedPoisson::AssembleElementVector ( const FiniteElement el,
ElementTransformation Tr,
const Vector elfun,
Vector elvect 
)
overridevirtual

Perform the local action of the NonlinearFormIntegrator.

Reimplemented from mfem::NonlinearFormIntegrator.

Definition at line 450 of file dist_solver.cpp.

◆ GetElementEnergy()

double mfem::ScreenedPoisson::GetElementEnergy ( const FiniteElement el,
ElementTransformation Tr,
const Vector elfun 
)
overridevirtual

Compute the local energy.

Reimplemented from mfem::NonlinearFormIntegrator.

Definition at line 388 of file dist_solver.cpp.

◆ SetInput()

void mfem::ScreenedPoisson::SetInput ( Coefficient nfunc)
inline

Definition at line 182 of file dist_solver.hpp.

Member Data Documentation

◆ diffcoef

double mfem::ScreenedPoisson::diffcoef
protected

Definition at line 170 of file dist_solver.hpp.

◆ func

Coefficient* mfem::ScreenedPoisson::func
protected

Definition at line 171 of file dist_solver.hpp.


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