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

Implementation of elements on entities. More...

Go to the source code of this file.

Classes

struct  MoFEM::ForcesAndSourcesCore
 structure to get information from mofem into EntitiesFieldData More...
 
struct  MoFEM::ForcesAndSourcesCore::UserDataOperator
 
struct  MoFEM::OpLoopSide< E >
 Element used to execute operators on side of the element. More...
 
struct  MoFEM::OpLoopRange< E >
 Iterate over range of (sub)elements. More...
 

Namespaces

namespace  MoFEM
 implementation of Data Operators for Forces and Sources
 

Variables

DEPRECATED typedef ForcesAndSourcesCore MoFEM::ForcesAndSurcesCore
 

Detailed Description

Implementation of elements on entities.

Generic finite element implementation using operator pipelines.

Those element are inherited by user to implement specific implementation of particular problem.

This file provides the core framework for finite element computations in MoFEM based on a pipeline of user data operators. Instead of monolithic finite element implementations, ForcesAndSourcesCore treats finite elements as sequences of modular operators that can be combined and reused.

Core Concept: Operator Pipeline Architecture

Finite Element = Pipeline of Operators Rather than traditional finite element classes with hardcoded functionality, MoFEM implements finite elements as pipelines of small, focused operators. Each operator performs a specific task (calculate gradients, apply boundary conditions, assemble matrices, etc.) and can be combined with others to create complex finite element behaviors.

ForcesAndSourcesCore: Generic base class that manages the operator pipeline and provides the framework for element assembly. Users inherit from this class and add specific operators to implement their particular problem.

Operator Types and Usage:

OPROW: Operators that work with test functions (rows of system matrix)

OPCOL: Operators that work with trial functions (columns of system matrix)

OPROWCOL: Operators that work with both test and trial functions

OPSPACE: Operators that work on the finite element space itself

Usage Pattern:

  1. Inherit from appropriate ForcesAndSourcesCore variant
  2. Add operators to pipeline using getOpPtrVector()
  3. Operators execute automatically during element assembly
  4. Combine different operator types to implement complete finite element

Benefits:

Note
This design enables rapid development of complex multiphysics finite element applications through operator composition.

Definition in file ForcesAndSourcesCore.hpp.