|
Nektar++
|
#include <FilterElectrogram.h>
Static Public Member Functions | |
| static SolverUtils::FilterSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const std::shared_ptr< SolverUtils::EquationSystem > &pEquation, const ParamMap &pParams) |
| Creates an instance of this class. | |
Static Public Attributes | |
| static std::string | className |
| Name of the class. | |
Protected Member Functions | |
| void | v_Initialise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override |
| Initialises the electrogram filter and open output file. | |
| void | v_Update (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override |
| Compute extracellular potential at egm points at current time. | |
| void | v_Finalise (const Array< OneD, const MultiRegions::ExpListSharedPtr > &pFields, const NekDouble &time) override |
| Finalise the electrogram filter and close output file. | |
| bool | v_IsTimeDependent () override |
| Filter is time-dependent and should be called at each time-step. | |
Protected Member Functions inherited from Nektar::SolverUtils::Filter | |
| virtual SOLVER_UTILS_EXPORT std::string | v_SetupOutput (const std::string ext, const ParamMap &pParams) |
| virtual SOLVER_UTILS_EXPORT std::string | v_SetupOutput (const std::string ext, const std::string inname) |
Protected Attributes | |
| SpatialDomains::EntityHolder | m_holder |
Protected Attributes inherited from Nektar::SolverUtils::Filter | |
| LibUtilities::SessionReaderSharedPtr | m_session |
| const std::weak_ptr< EquationSystem > | m_equ |
| bool | m_updateOnInitialise = true |
Private Attributes | |
| Array< OneD, Array< OneD, NekDouble > > | m_grad_R_x |
| Gradient of the radius from each electrogram point in x-direction. | |
| Array< OneD, Array< OneD, NekDouble > > | m_grad_R_y |
| Gradient of the radius from each electrogram point in y-direction. | |
| Array< OneD, Array< OneD, NekDouble > > | m_grad_R_z |
| Gradient of the radius from each electrogram point in z-direction. | |
| std::vector< SpatialDomains::PointGeom * > | m_electrogramPoints |
| List of electrogram points. | |
| unsigned int | m_index |
| Counts number of calls to update (number of timesteps) | |
| unsigned int | m_outputFrequency |
| Number of timesteps between outputs. | |
| std::string | m_outputFile |
| Filename to output electrogram data to. | |
| std::ofstream | m_outputStream |
| Output file stream for electrogram data. | |
| std::stringstream | m_electrogramStream |
| Point coordinate input string. | |
Friends | |
| class | MemoryManager< FilterElectrogram > |
Additional Inherited Members | |
Public Types inherited from Nektar::SolverUtils::Filter | |
| typedef std::map< std::string, std::string > | ParamMap |
Definition at line 44 of file FilterElectrogram.h.
| Nektar::FilterElectrogram::FilterElectrogram | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
| const std::shared_ptr< SolverUtils::EquationSystem > & | pEquation, | ||
| const ParamMap & | pParams | ||
| ) |
Electrogram filter constructor.
Definition at line 50 of file FilterElectrogram.cpp.
References ASSERTL0, Nektar::LibUtilities::Equation::Evaluate(), m_electrogramStream, m_index, m_outputFile, m_outputFrequency, Nektar::SolverUtils::Filter::m_session, and Nektar::SolverUtils::Filter::SetupOutput().
|
override |
|
inlinestatic |
Creates an instance of this class.
Definition at line 50 of file FilterElectrogram.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
overrideprotectedvirtual |
Finalise the electrogram filter and close output file.
Implements Nektar::SolverUtils::Filter.
Definition at line 247 of file FilterElectrogram.cpp.
References m_outputStream.
|
overrideprotectedvirtual |
Initialises the electrogram filter and open output file.
Implements Nektar::SolverUtils::Filter.
Definition at line 89 of file FilterElectrogram.cpp.
References Nektar::ObjPoolManager< DataType >::AllocateUniquePtr(), ASSERTL0, m_electrogramPoints, m_electrogramStream, m_grad_R_x, m_grad_R_y, m_grad_R_z, m_holder, m_index, m_outputFile, m_outputStream, Nektar::SpatialDomains::EntityHolder::m_pointVec, Nektar::SolverUtils::Filter::m_session, Vmath::Sadd(), Vmath::Sdiv(), v_Update(), Vmath::Vsqrt(), Vmath::Vvtvp(), and Vmath::Vvtvvtp().
|
overrideprotectedvirtual |
Filter is time-dependent and should be called at each time-step.
Implements Nektar::SolverUtils::Filter.
Definition at line 260 of file FilterElectrogram.cpp.
|
overrideprotectedvirtual |
Compute extracellular potential at egm points at current time.
Implements Nektar::SolverUtils::Filter.
Definition at line 192 of file FilterElectrogram.cpp.
References m_electrogramPoints, m_grad_R_x, m_grad_R_y, m_grad_R_z, m_index, m_outputFrequency, m_outputStream, Nektar::LibUtilities::ReduceSum, Vmath::Vvtvp(), and Vmath::Vvtvvtp().
Referenced by v_Initialise().
|
friend |
Definition at line 1 of file FilterElectrogram.h.
|
static |
Name of the class.
Definition at line 62 of file FilterElectrogram.h.
|
private |
List of electrogram points.
Definition at line 98 of file FilterElectrogram.h.
Referenced by v_Initialise(), and v_Update().
|
private |
Point coordinate input string.
Definition at line 108 of file FilterElectrogram.h.
Referenced by FilterElectrogram(), and v_Initialise().
Gradient of the radius from each electrogram point in x-direction.
Definition at line 92 of file FilterElectrogram.h.
Referenced by v_Initialise(), and v_Update().
Gradient of the radius from each electrogram point in y-direction.
Definition at line 94 of file FilterElectrogram.h.
Referenced by v_Initialise(), and v_Update().
Gradient of the radius from each electrogram point in z-direction.
Definition at line 96 of file FilterElectrogram.h.
Referenced by v_Initialise(), and v_Update().
|
protected |
Definition at line 88 of file FilterElectrogram.h.
Referenced by v_Initialise().
|
private |
Counts number of calls to update (number of timesteps)
Definition at line 100 of file FilterElectrogram.h.
Referenced by FilterElectrogram(), v_Initialise(), and v_Update().
|
private |
Filename to output electrogram data to.
Definition at line 104 of file FilterElectrogram.h.
Referenced by FilterElectrogram(), and v_Initialise().
|
private |
Number of timesteps between outputs.
Definition at line 102 of file FilterElectrogram.h.
Referenced by FilterElectrogram(), and v_Update().
|
private |
Output file stream for electrogram data.
Definition at line 106 of file FilterElectrogram.h.
Referenced by v_Finalise(), v_Initialise(), and v_Update().