MFEM
v4.6.0
Finite element discretization library
|
#include <spde_solver.hpp>
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, BoundaryType > | boundary_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 |
Definition at line 26 of file spde_solver.hpp.
|
default |
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.
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.
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.
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.
void mfem::spde::Boundary::SetRobinCoefficient | ( | double | coefficient | ) |
Set the robin coefficient for the boundary.
Definition at line 237 of file spde_solver.cpp.
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.
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.
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.
std::map<int, double> mfem::spde::Boundary::dirichlet_coefficients |
Coefficient for inhomogeneous Dirichlet boundary conditions.
Definition at line 60 of file spde_solver.hpp.
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.