85 std::vector<std::vector<type::SingleBoundary>>
bds;
102 virtual PetscErrorCode
destroy();
121 const PetscReal &dt) = 0;
137 std::vector<Vec> &lclVecs)
const = 0;
147 const YAML::Node &node) = 0;
175typedef std::shared_ptr<boundary::BoundaryBase>
Boundary;
Base (abstract) class for the whole boundary.
PetscMPIInt mpiSize
Size of MPI communicator.
MPI_Comm comm
MPI communicator.
type::Mesh mesh
A shared_ptr to underlying mesh.
BoundaryBase(const type::Mesh &mesh, const YAML::Node &node)
Construct a boundary object based on a given mesh object.
virtual ~BoundaryBase()
Default destructor.
virtual PetscErrorCode copyValues2LocalVecs(std::vector< Vec > &lclVecs) const =0
Copy values of ghost points to a vector of local PETSc Vec objects.
virtual PetscErrorCode updateGhostValues(const type::Solution &soln)=0
Update the values of ghost points.
virtual PetscErrorCode destroy()
Manually destroy data.
BoundaryBase()=default
Default constructor.
virtual PetscErrorCode setGhostICs(const type::Solution &soln)=0
Set the initial values of ghost points.
std::vector< std::vector< type::SingleBoundary > > bds
A 2D vector holding all single boundaries.
virtual PetscErrorCode updateEqs(const type::Solution &soln, const PetscReal &dt)=0
Update the equations between ghost and boundary points.
virtual PetscErrorCode init(const type::Mesh &mesh, const YAML::Node &node)=0
Underlying initialization function.
PetscMPIInt mpiRank
The rank of this process.
PetscErrorCode createBoundary(const type::Mesh &mesh, const YAML::Node &node, type::Boundary &boundary)
Create a Boundary object.
std::shared_ptr< boundary::BoundaryBase > Boundary
Type definition of petibm::type::Boundary.
std::shared_ptr< mesh::MeshBase > Mesh
Type definition of Mesh.
std::shared_ptr< solution::SolutionBase > Solution
Type definition of solution object.
Prototype of mesh::MeshBase, type::Mesh, and factory function.
A toolbox for building flow solvers.
Definition of the class SingleBoundaryBase.
Definition of the class petibm::solution::SolutionBase, the type definition petibm::type::Solution,...