37 #ifndef BIDOMAINPROBLEM_HPP_
38 #define BIDOMAINPROBLEM_HPP_
41 #include <boost/serialization/base_object.hpp>
44 #include <boost/shared_ptr.hpp>
45 #include <boost/serialization/shared_ptr.hpp>
47 #include "AbstractCardiacProblem.hpp"
48 #include "AbstractCardiacTissue.hpp"
49 #include "AbstractBidomainSolver.hpp"
50 #include "AbstractCardiacCellFactory.hpp"
51 #include "Electrodes.hpp"
52 #include "BidomainTissue.hpp"
53 #include "HeartRegionCodes.hpp"
54 #include "DistributedTetrahedralMesh.hpp"
64 template<
unsigned DIM>
71 friend class TestPCTwoLevelsBlockDiagonal;
79 template<
class Archive>
80 void save(Archive & archive,
const unsigned int version)
const
82 archive & boost::serialization::base_object<AbstractCardiacProblem<DIM, DIM, 2> >(*this);
96 template<
class Archive>
97 void load(Archive & archive,
const unsigned int version)
99 archive & boost::serialization::base_object<AbstractCardiacProblem<DIM, DIM, 2> >(*this);
112 BOOST_SERIALIZATION_SPLIT_MEMBER()
114 friend class TestBidomainWithBathProblem;
115 friend class TestCardiacSimulationArchiver;
280 template<class Archive>
295 #include "SerializationExportWrapper.hpp" // Must be last
299 template<
unsigned DIM>
300 template<class Archive>
307 assert(mpElectrodes->GetBoundaryConditionsContainer());
311 boost::shared_ptr<BoundaryConditionsContainer<DIM, DIM, 2> > p_bcc;
319 mpElectrodes->GetBoundaryConditionsContainer()->MergeFromArchive(archive, this->
mpMesh);
324 p_bcc->LoadFromArchive(archive, this->
mpMesh);
void AnalyseMeshForBath()
boost::shared_ptr< Electrodes< DIM > > mpElectrodes
unsigned mExtracelluarColumnId
AbstractBidomainSolver< DIM, DIM > * mpSolver
void LoadExtraArchiveForBidomain(Archive &archive, unsigned version)
BidomainTissue< DIM > * GetBidomainTissue()
void SetUpAdditionalStoppingTimes(std::vector< double > &rAdditionalStoppingTimes)
void SetFixedExtracellularPotentialNodes(std::vector< unsigned > nodes)
friend class boost::serialization::access
std::vector< unsigned > mFixedExtracellularPotentialNodes
void WriteInfo(double time)
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * mpMesh
void load(Archive &archive, const unsigned int version)
virtual void DefineWriterColumns(bool extending)
#define EXPORT_TEMPLATE_CLASS_SAME_DIMS(CLASS)
Vec CreateInitialCondition()
BccType mpBoundaryConditionsContainer
void OnEndOfTimestep(double time)
virtual void WriteOneStep(double time, Vec voltageVec)
unsigned mRowForAverageOfPhiZeroed
BidomainTissue< DIM > * mpBidomainTissue
void SetNodeForAverageOfPhiZeroed(unsigned node)
void AtBeginningOfTimestep(double time)
void save(Archive &archive, const unsigned int version) const
virtual AbstractCardiacTissue< DIM > * CreateCardiacTissue()
virtual AbstractDynamicLinearPdeSolver< DIM, DIM, 2 > * CreateSolver()