PetIBM 0.5.4
Toolbox and applications of the immersed-boundary method for distributed-memory architectures
singleboundaryperiodic.h
Go to the documentation of this file.
1
8#pragma once
9
10// here goes headers from our PetIBM
12
13namespace petibm
14{
15namespace boundary
16{
26{
27public:
36 const type::Field &field, const PetscReal &value);
37
39 virtual ~SingleBoundaryPeriodic() = default;
40
41protected:
42 // implementation of SingleBoundaryBase::setGhostICsKernel
43 virtual PetscErrorCode setGhostICsKernel(const PetscReal &targetValue,
45
46 // implementation of SingleBoundaryBase::updateEqsKernel
47 virtual PetscErrorCode updateEqsKernel(const PetscReal &targetValue,
48 const PetscReal &dt,
50
51}; // SingleBoundaryPeriodic
52
53} // end of namespace boundary
54} // end of namespace petibm
Base (abstract) class for ghost points & BC on a single boundary.
type::Field field
The field of which the ghost points represent.
type::BCLoc loc
The location of this boundary.
type::Mesh mesh
The corresponding Mesh object.
PetscReal value
A constant value representing BC value.
An implementation of SingleBoundaryBase for periodic BC.
SingleBoundaryPeriodic(const type::Mesh &mesh, const type::BCLoc &loc, const type::Field &field, const PetscReal &value)
Constructor.
virtual ~SingleBoundaryPeriodic()=default
Default destructor.
virtual PetscErrorCode setGhostICsKernel(const PetscReal &targetValue, type::GhostPointInfo &p)
The underlying kernel for setting initial values and equations.
virtual PetscErrorCode updateEqsKernel(const PetscReal &targetValue, const PetscReal &dt, type::GhostPointInfo &p)
Underlying kernel for updating the coefficients of the equation.
std::shared_ptr< mesh::MeshBase > Mesh
Type definition of Mesh.
Definition: mesh.h:348
Field
Legal fields.
Definition: type.h:80
BCLoc
Location of a boundary.
Definition: type.h:108
A toolbox for building flow solvers.
Definition: bodypack.h:52
Definition of the class SingleBoundaryBase.
A data structure for a single ghost point.
Definition: type.h:161