MADNESS
0.10.1
|
This class is used to specify boundary conditions for all operators. More...
#include <funcdefaults.h>
Public Member Functions | |
BoundaryConditions (BCType code=BC_FREE) | |
Constructor. Default boundary condition set to free space. More... | |
BoundaryConditions (const BoundaryConditions< NDIM > &other) | |
Copy constructor is deep. More... | |
std::vector< bool > | is_periodic () const |
Convenience for application of integral operators. More... | |
BCType & | operator() (std::size_t d, int i) |
Returns reference to boundary condition. More... | |
BCType | operator() (std::size_t d, int i) const |
Returns value of boundary condition. More... | |
BoundaryConditions< NDIM > & | operator= (const BoundaryConditions< NDIM > &other) |
Assignment makes deep copy. More... | |
template<typename Archive > | |
void | serialize (const Archive &ar) |
Static Public Member Functions | |
static const char * | code_as_string (BCType code) |
Translates code into human readable string. More... | |
Private Attributes | |
BCType | bc [NDIM *2] |
This class is used to specify boundary conditions for all operators.
Exterior boundary conditions (i.e., on the simulation domain) are associated with operators (not functions). The types of boundary conditions available are in the enum BCType.
The default boundary conditions are obtained from the FunctionDefaults. For non-zero Dirichlet and Neumann conditions additional information must be provided when derivative operators are constructed. For integral operators, only periodic and free space are supported.
|
inline |
Constructor. Default boundary condition set to free space.
References madness::BoundaryConditions< NDIM >::bc, and NDIM.
|
inline |
Copy constructor is deep.
|
inlinestatic |
Translates code into human readable string.
code | Code for boundary condition |
Referenced by madness::operator<<().
|
inline |
Convenience for application of integral operators.
References madness::BoundaryConditions< NDIM >::bc, madness::BC_PERIODIC, d(), NDIM, and v.
Referenced by madness::Specialbox_op< T, NDIM >::check_special_points(), madness::ElectronCuspyBox_op< T, NDIM >::operator()(), madness::Leaf_op< T, NDIM, opT, specialboxT >::post_screening(), and madness::FunctionImpl< T, NDIM >::project_refine_op().
|
inline |
Returns reference to boundary condition.
d | Dimension (0,...,NDIM-1) for boundary condition |
i | Side (0=left, 1=right) for boundary condition |
References madness::BoundaryConditions< NDIM >::bc, d(), and MADNESS_ASSERT.
|
inline |
Returns value of boundary condition.
d | Dimension (0,...,NDIM-1) for boundary condition |
i | Side (0=left, 1=right) for boundary condition |
References madness::BoundaryConditions< NDIM >::bc, d(), and MADNESS_ASSERT.
|
inline |
Assignment makes deep copy.
References madness::BoundaryConditions< NDIM >::bc, and NDIM.
|
inline |
References madness::BoundaryConditions< NDIM >::bc.
|
private |