MFEM  v4.6.0
Finite element discretization library
Public Member Functions | Public Attributes | List of all members
mfem::spde::Boundary Struct Reference

#include <spde_solver.hpp>

Collaboration diagram for mfem::spde::Boundary:
[legend]

Public Member Functions

 Boundary ()=default
 
void PrintInfo (std::ostream &os=mfem::out) const
 Print the information specifying the boundary conditions. More...
 
void VerifyDefinedBoundaries (const Mesh &mesh) const
 
void ComputeBoundaryError (const ParGridFunction &solution)
 
void UpdateIntegrationCoefficients (int i, double &alpha, double &beta, double &gamma)
 
void AddHomogeneousBoundaryCondition (int boundary, BoundaryType type)
 Add a homogeneous boundary condition to the boundary. More...
 
void AddInhomogeneousDirichletBoundaryCondition (int boundary, double coefficient)
 Add a inhomogeneous Dirichlet boundary condition to the boundary. More...
 
void SetRobinCoefficient (double coefficient)
 Set the robin coefficient for the boundary. More...
 

Public Attributes

std::map< int, BoundaryTypeboundary_attributes
 Map to assign homogeneous boundary conditions to defined boundary types. More...
 
std::map< int, double > dirichlet_coefficients
 Coefficient for inhomogeneous Dirichlet boundary conditions. More...
 
double robin_coefficient = 1.0
 

Detailed Description

Definition at line 26 of file spde_solver.hpp.

Constructor & Destructor Documentation

◆ Boundary()

mfem::spde::Boundary::Boundary ( )
default

Member Function Documentation

◆ AddHomogeneousBoundaryCondition()

void mfem::spde::Boundary::AddHomogeneousBoundaryCondition ( int  boundary,
BoundaryType  type 
)

Add a homogeneous boundary condition to the boundary.

Definition at line 224 of file spde_solver.cpp.

◆ AddInhomogeneousDirichletBoundaryCondition()

void mfem::spde::Boundary::AddInhomogeneousDirichletBoundaryCondition ( int  boundary,
double  coefficient 
)

Add a inhomogeneous Dirichlet boundary condition to the boundary.

Definition at line 230 of file spde_solver.cpp.

◆ ComputeBoundaryError()

void mfem::spde::Boundary::ComputeBoundaryError ( const ParGridFunction solution)

Computes the error for each defined boundary attribute by calling back to the IntegrateBC.

Definition at line 133 of file spde_solver.cpp.

◆ PrintInfo()

void mfem::spde::Boundary::PrintInfo ( std::ostream &  os = mfem::out) const

Print the information specifying the boundary conditions.

Definition at line 31 of file spde_solver.cpp.

◆ SetRobinCoefficient()

void mfem::spde::Boundary::SetRobinCoefficient ( double  coefficient)

Set the robin coefficient for the boundary.

Definition at line 237 of file spde_solver.cpp.

◆ UpdateIntegrationCoefficients()

void mfem::spde::Boundary::UpdateIntegrationCoefficients ( int  i,
double &  alpha,
double &  beta,
double &  gamma 
)

Helper function to compute the coefficients alpha, beta, gamma (see in IntegrateBC) for a given boundary attribute.

Definition at line 178 of file spde_solver.cpp.

◆ VerifyDefinedBoundaries()

void mfem::spde::Boundary::VerifyDefinedBoundaries ( const Mesh mesh) const

Verify that all defined boundaries are actually defined on the mesh, i.e. if the keys of boundary attributes appear in the boundary attributes of the mesh.

Verify if all boundary attributes appear as keys in the boundary attributes, if not let the user know that we use Neumann by default.
Check if any periodic boundary is registered

Definition at line 80 of file spde_solver.cpp.

Member Data Documentation

◆ boundary_attributes

std::map<int, BoundaryType> mfem::spde::Boundary::boundary_attributes

Map to assign homogeneous boundary conditions to defined boundary types.

Definition at line 58 of file spde_solver.hpp.

◆ dirichlet_coefficients

std::map<int, double> mfem::spde::Boundary::dirichlet_coefficients

Coefficient for inhomogeneous Dirichlet boundary conditions.

Definition at line 60 of file spde_solver.hpp.

◆ robin_coefficient

double mfem::spde::Boundary::robin_coefficient = 1.0

Coefficient for Robin boundary conditions (n.grad(u) + coeff u = 0) on defined boundaries.

Definition at line 63 of file spde_solver.hpp.


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