36 #ifndef DISCRETECONTINUUMBOUNDARYCONDITION_HPP_ 37 #define DISCRETECONTINUUMBOUNDARYCONDITION_HPP_ 41 #include "UblasIncludes.hpp" 43 #include "BoundaryConditionsContainer.hpp" 44 #include "RegularGrid.hpp" 45 #include "DiscreteContinuumMesh.hpp" 46 #include "DimensionalChastePoint.hpp" 58 POINT, FACET, OUTER, VESSEL_LINE, VESSEL_VOLUME, CELL, IN_PART
70 LABEL_BASED, PRESCRIBED
77 template<
unsigned DIM>
91 std::vector<DimensionalChastePoint<DIM> >
mPoints;
112 units::quantity<unit::concentration>
mValue;
122 boost::shared_ptr<DiscreteContinuumMesh<DIM, DIM> >
mpMesh;
124 boost::shared_ptr<VesselNetwork <DIM> > mpNetwork;
126 units::quantity<unit::concentration> mReferenceConcentration;
143 static boost::shared_ptr<DiscreteContinuumBoundaryCondition<DIM> > Create();
155 units::quantity<unit::concentration> GetValue();
171 void UpdateBoundaryConditionContainer(boost::shared_ptr<BoundaryConditionsContainer<DIM, DIM, 1> > pContainer);
173 void UpdateRegularGridPointBoundaryConditions(boost::shared_ptr<std::vector<std::pair<
bool, units::quantity<unit::concentration> > > >pBoundaryConditions);
175 void UpdateRegularGridFacetBoundaryConditions(boost::shared_ptr<std::vector<std::pair<
bool, units::quantity<unit::concentration> > > >pBoundaryConditions);
177 void UpdateRegularGridSegmentBoundaryConditions(boost::shared_ptr<std::vector<std::pair<
bool, units::quantity<unit::concentration> > > >pBoundaryConditions);
179 void UpdateRegularGridPartBoundaryConditions(boost::shared_ptr<std::vector<std::pair<
bool, units::quantity<unit::concentration> > > >pBoundaryConditions);
181 void UpdateRegularGridCellBoundaryConditions(boost::shared_ptr<std::vector<std::pair<
bool, units::quantity<unit::concentration> > > >pBoundaryConditions);
188 void UpdateRegularGridBoundaryConditions(boost::shared_ptr<std::vector<std::pair<
bool, units::quantity<unit::concentration> > > > pBoundaryConditions);
194 void SetDomain(boost::shared_ptr<
Part<DIM> > pDomain);
200 void SetLabelName(
const std::string& label);
224 void SetSource(BoundaryConditionSource::Value boundarySource);
236 void SetValue(units::quantity<unit::concentration> value);
BoundaryConditionSource::Value mSource
boost::shared_ptr< RegularGrid< DIM > > mpRegularGrid
BoundaryConditionType::Value mType
std::vector< DimensionalChastePoint< DIM > > mPoints
units::quantity< unit::concentration > mValue
boost::shared_ptr< DiscreteContinuumMesh< DIM, DIM > > mpMesh
boost::shared_ptr< Part< DIM > > mpDomain