v0.15.0
Loading...
Searching...
No Matches
Classes | Namespaces | Variables
LoopMethods.hpp File Reference

MoFEM loop methods interface for finite element computations. More...

Go to the source code of this file.

Classes

struct  MoFEM::PetscData
 Base data structure for PETSc-related contexts. More...
 
struct  MoFEM::KspMethod
 Data structure for KSP (linear solver) context. More...
 
struct  MoFEM::SnesMethod
 Data structure for SNES (nonlinear solver) context. More...
 
struct  MoFEM::TSMethod
 Data structure for TS (time stepping) context. More...
 
struct  MoFEM::TaoMethod
 Data structure for TAO (optimization) context. More...
 
struct  MoFEM::BasicMethod
 Data structure to exchange data between MoFEM and User Loop Methods. More...
 
struct  MoFEM::FEMethod
 Structure for user loop methods on finite elements. More...
 
struct  MoFEM::EntityMethod
 Data structure for user loop methods on entities. More...
 
struct  MoFEM::DofMethod
 Data structure for user loop methods on degrees of freedom (DOFs) More...
 

Namespaces

namespace  MoFEM
 implementation of Data Operators for Forces and Sources
 

Variables

DEPRECATED typedef DofMethod MoFEM::EntMethod
 

Detailed Description

MoFEM loop methods interface for finite element computations.

Author
Anonymous author(s) committing under MIT license

This file defines data structures and interfaces for making loops over finite elements, entities, and degrees of freedom (DOFs) in MoFEM problems and database.

Loop Methods Overview

The core loop methods enable efficient iteration over:

FEMethod Usage in Core Interface

FEMethod is the primary interface for finite element computations, designed for high-performance element-level operations. It integrates with MoFEM's core looping mechanisms:

Loop Integration:

PETSc Solver Integration:

ForcesAndSources Integration:

Each solver context provides appropriate data structures (matrices, vectors, contexts) accessible through the inheritance hierarchy (BasicMethod -> FEMethod).

Performance Design

The loop methods are optimized for computational efficiency:

See also
Interface::loop_finite_elements, Interface::loop_entities, Interface::loop_dofs

Definition in file LoopMethods.hpp.