libMesh
Public Member Functions | Public Attributes | List of all members
libMesh::DirichletBoundary Class Reference

This class allows one to associate Dirichlet boundary values with a given set of mesh boundary ids and system variable ids. More...

#include <dirichlet_boundaries.h>

Public Member Functions

 DirichletBoundary (const std::set< boundary_id_type > &b_in, const std::vector< unsigned int > &variables_in, const FunctionBase< Number > *f_in, const FunctionBase< Gradient > *g_in=nullptr)
 Constructor for a system-variable-order boundary using pointers-to-functors. More...
 
 DirichletBoundary (const std::set< boundary_id_type > &b_in, const std::vector< unsigned int > &variables_in, const FunctionBase< Number > &f_in, VariableIndexing type=SYSTEM_VARIABLE_ORDER)
 Constructor for a boundary from reference-to-functor. More...
 
 DirichletBoundary (const std::set< boundary_id_type > &b_in, const std::vector< unsigned int > &variables_in, const FunctionBase< Number > &f_in, const FunctionBase< Gradient > &g_in, VariableIndexing type=SYSTEM_VARIABLE_ORDER)
 Constructor for a system-variable-order boundary from references-to-functors. More...
 
 DirichletBoundary (const std::set< boundary_id_type > &b_in, const std::vector< unsigned int > &variables_in, const System &f_sys_in, const FEMFunctionBase< Number > *f_in, const FEMFunctionBase< Gradient > *g_in=nullptr)
 Constructor for a system-variable-order boundary from pointers-to-fem-functors. More...
 
 DirichletBoundary (const std::set< boundary_id_type > &b_in, const std::vector< unsigned int > &variables_in, const System &f_sys_in, const FEMFunctionBase< Number > &f_in, VariableIndexing type=SYSTEM_VARIABLE_ORDER)
 Constructor for a system-variable-order boundary from reference-to-fem-functor. More...
 
 DirichletBoundary (const std::set< boundary_id_type > &b_in, const std::vector< unsigned int > &variables_in, const System &f_sys_in, const FEMFunctionBase< Number > &f_in, const FEMFunctionBase< Gradient > &g_in, VariableIndexing type=SYSTEM_VARIABLE_ORDER)
 Constructor for a system-variable-order boundary from references-to-fem-functors. More...
 
 DirichletBoundary (const DirichletBoundary &dirichlet_in)
 Copy constructor. More...
 
 ~DirichletBoundary ()
 Standard destructor. More...
 

Public Attributes

std::set< boundary_id_typeb
 
std::vector< unsigned int > variables
 
std::unique_ptr< FunctionBase< Number > > f
 
std::unique_ptr< FunctionBase< Gradient > > g
 
std::unique_ptr< FEMFunctionBase< Number > > f_fem
 
std::unique_ptr< FEMFunctionBase< Gradient > > g_fem
 
const Systemf_system
 

Detailed Description

This class allows one to associate Dirichlet boundary values with a given set of mesh boundary ids and system variable ids.

Dirichlet values must be supplied as the input function "f"; when using some specialized elements, gradient values must be supplied via the input function "g".

Dirichlet functions may be subclasses of FunctionBase or FEMFunctionBase; in the latter case the user must also supply a reference to the System on which the FEMFunctionBase will be evaluated.

Dirichlet functions are allowed to return NaN; if this is encountered, then the degree of freedom values in a patch around the location of the returned NaN will be left unconstrained. E.g. a NaN on a boundary edge in 3D would leave that edge and the two adjoining face interiors unconstrained, but would still permit the other edge and node DoFs around those faces to be constrained.

Author
Roy Stogner
Date
2012 Class for specifying Dirichlet boundary conditions as constraints.

Definition at line 89 of file dirichlet_boundaries.h.

Constructor & Destructor Documentation

◆ DirichletBoundary() [1/7]

libMesh::DirichletBoundary::DirichletBoundary ( const std::set< boundary_id_type > &  b_in,
const std::vector< unsigned int > &  variables_in,
const FunctionBase< Number > *  f_in,
const FunctionBase< Gradient > *  g_in = nullptr 
)

Constructor for a system-variable-order boundary using pointers-to-functors.

◆ DirichletBoundary() [2/7]

libMesh::DirichletBoundary::DirichletBoundary ( const std::set< boundary_id_type > &  b_in,
const std::vector< unsigned int > &  variables_in,
const FunctionBase< Number > &  f_in,
VariableIndexing  type = SYSTEM_VARIABLE_ORDER 
)

Constructor for a boundary from reference-to-functor.

Defaults to system variable indexing for backwards compatibility, but most users will prefer local indexing.

◆ DirichletBoundary() [3/7]

libMesh::DirichletBoundary::DirichletBoundary ( const std::set< boundary_id_type > &  b_in,
const std::vector< unsigned int > &  variables_in,
const FunctionBase< Number > &  f_in,
const FunctionBase< Gradient > &  g_in,
VariableIndexing  type = SYSTEM_VARIABLE_ORDER 
)

Constructor for a system-variable-order boundary from references-to-functors.

Defaults to system variable indexing for backwards compatibility, but most users will prefer local indexing.

◆ DirichletBoundary() [4/7]

libMesh::DirichletBoundary::DirichletBoundary ( const std::set< boundary_id_type > &  b_in,
const std::vector< unsigned int > &  variables_in,
const System f_sys_in,
const FEMFunctionBase< Number > *  f_in,
const FEMFunctionBase< Gradient > *  g_in = nullptr 
)

Constructor for a system-variable-order boundary from pointers-to-fem-functors.

◆ DirichletBoundary() [5/7]

libMesh::DirichletBoundary::DirichletBoundary ( const std::set< boundary_id_type > &  b_in,
const std::vector< unsigned int > &  variables_in,
const System f_sys_in,
const FEMFunctionBase< Number > &  f_in,
VariableIndexing  type = SYSTEM_VARIABLE_ORDER 
)

Constructor for a system-variable-order boundary from reference-to-fem-functor.

Defaults to system variable indexing for backwards compatibility, but most users will prefer local indexing.

◆ DirichletBoundary() [6/7]

libMesh::DirichletBoundary::DirichletBoundary ( const std::set< boundary_id_type > &  b_in,
const std::vector< unsigned int > &  variables_in,
const System f_sys_in,
const FEMFunctionBase< Number > &  f_in,
const FEMFunctionBase< Gradient > &  g_in,
VariableIndexing  type = SYSTEM_VARIABLE_ORDER 
)

Constructor for a system-variable-order boundary from references-to-fem-functors.

Defaults to system variable indexing for backwards compatibility, but most users will prefer local indexing.

◆ DirichletBoundary() [7/7]

libMesh::DirichletBoundary::DirichletBoundary ( const DirichletBoundary dirichlet_in)

Copy constructor.

Deep copies (clones) functors; shallow copies any System reference

◆ ~DirichletBoundary()

libMesh::DirichletBoundary::~DirichletBoundary ( )

Standard destructor.

Member Data Documentation

◆ b

std::set<boundary_id_type> libMesh::DirichletBoundary::b

Definition at line 174 of file dirichlet_boundaries.h.

◆ f

std::unique_ptr<FunctionBase<Number> > libMesh::DirichletBoundary::f

Definition at line 177 of file dirichlet_boundaries.h.

◆ f_fem

std::unique_ptr<FEMFunctionBase<Number> > libMesh::DirichletBoundary::f_fem

Definition at line 180 of file dirichlet_boundaries.h.

◆ f_system

const System* libMesh::DirichletBoundary::f_system

Definition at line 183 of file dirichlet_boundaries.h.

◆ g

std::unique_ptr<FunctionBase<Gradient> > libMesh::DirichletBoundary::g

Definition at line 178 of file dirichlet_boundaries.h.

◆ g_fem

std::unique_ptr<FEMFunctionBase<Gradient> > libMesh::DirichletBoundary::g_fem

Definition at line 181 of file dirichlet_boundaries.h.

◆ variables

std::vector<unsigned int> libMesh::DirichletBoundary::variables

Definition at line 175 of file dirichlet_boundaries.h.


The documentation for this class was generated from the following file: