PeriodicBC.h file
Periodic boundary condition implementation.
This file defines classes for imposing periodic boundary conditions in finite element problems. Periodic conditions enforce that the solution values match across opposite boundaries of the domain.
Mathematical Foundation
A periodic boundary condition specifies:
where and are matching boundary pairs separated by periodicity vector .
Applications
- Crystal lattice simulations
- Unit cell problems in homogenization
- Fluid flow in periodic geometries
- Wave propagation in periodic media
Implementation
Periodic conditions are enforced by:
- Identifying matching DOF pairs on opposite boundaries
- Constraining one DOF to equal its periodic partner
- Eliminating dependent DOFs from the system
Usage Example
// Periodic BC between boundaries 1 and 2 auto pbc = PeriodicBC(u).from(1).to(2);
Namespaces
- namespace Rodin
- The Rodin library for Shape and Topology Optimization.
- namespace Rodin::Variational
- Module which provides the necessary tools for constructing variational problems.
Classes
-
template<class Scalar>class Rodin::Variational::PeriodicBCBase
- Abstract base class for a periodic boundary condition.
-
template<class Solution, class FES>class Rodin::Variational::PeriodicBC<TrialFunction<Solution, FES>, IndexMap<IndexSet>>
- Represents a Peridodic boundary condition on a ShapeFunction object.