Nektar++
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
Nektar::ProtocolSingle Class Reference

Protocol base class. More...

#include <ProtocolSingle.h>

Inheritance diagram for Nektar::ProtocolSingle:
[legend]

Public Member Functions

virtual ~ProtocolSingle ()
 
void Initialise ()
 Initialise the protocol storage and set initial conditions. More...
 
- Public Member Functions inherited from Nektar::Protocol
virtual ~Protocol ()
 
void Initialise ()
 Initialise the protocol storage and set initial conditions. More...
 
NekDouble GetAmplitude (const NekDouble time)
 Returns amplitude of stimulus (1 or 0) at given time. More...
 
void GenerateSummary (SolverUtils::SummaryList &s)
 Print a summary of the cell model. More...
 

Static Public Member Functions

static ProtocolSharedPtr create (const LibUtilities::SessionReaderSharedPtr &pSession, const TiXmlElement *pXml)
 Creates an instance of this class. More...
 

Static Public Attributes

static std::string className
 Name of class. More...
 

Protected Member Functions

virtual NekDouble v_GetAmplitude (const NekDouble time)
 
virtual void v_GenerateSummary (SolverUtils::SummaryList &s)
 
virtual void v_SetInitialConditions ()
 
- Protected Member Functions inherited from Nektar::Protocol
 Protocol (const LibUtilities::SessionReaderSharedPtr &pSession, const TiXmlElement *pXml)
 

Protected Attributes

NekDouble m_start
 
NekDouble m_dur
 
- Protected Attributes inherited from Nektar::Protocol
LibUtilities::SessionReaderSharedPtr m_session
 Session. More...
 

Private Member Functions

 ProtocolSingle (const LibUtilities::SessionReaderSharedPtr &pSession, const TiXmlElement *pXml)
 

Friends

class MemoryManager< ProtocolSingle >
 

Detailed Description

Protocol base class.

Definition at line 46 of file ProtocolSingle.h.

Constructor & Destructor Documentation

◆ ~ProtocolSingle()

virtual Nektar::ProtocolSingle::~ProtocolSingle ( )
inlinevirtual

Definition at line 63 of file ProtocolSingle.h.

References Initialise().

63 {}

◆ ProtocolSingle()

Nektar::ProtocolSingle::ProtocolSingle ( const LibUtilities::SessionReaderSharedPtr pSession,
const TiXmlElement *  pXml 
)
private

Protocol base class constructor.

Definition at line 60 of file ProtocolSingle.cpp.

References m_dur, Nektar::Protocol::m_session, and m_start.

63  : Protocol(pSession, pXml)
64  {
65  m_session = pSession;
66 
67  if (!pXml)
68  {
69  return;
70  }
71 
72  const TiXmlElement *pXmlparameter;
73 
74  pXmlparameter = pXml->FirstChildElement("START");
75  m_start = atof(pXmlparameter->GetText());
76 
77  pXmlparameter = pXml->FirstChildElement("DURATION");
78  m_dur = atof(pXmlparameter->GetText());
79  }
Protocol(const LibUtilities::SessionReaderSharedPtr &pSession, const TiXmlElement *pXml)
Definition: Protocol.cpp:58
LibUtilities::SessionReaderSharedPtr m_session
Session.
Definition: Protocol.h:81

Member Function Documentation

◆ create()

static ProtocolSharedPtr Nektar::ProtocolSingle::create ( const LibUtilities::SessionReaderSharedPtr pSession,
const TiXmlElement *  pXml 
)
inlinestatic

Creates an instance of this class.

Definition at line 50 of file ProtocolSingle.h.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr().

53  {
55  ::AllocateSharedPtr(pSession, pXml);
56  }
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.

◆ Initialise()

void Nektar::ProtocolSingle::Initialise ( )

Initialise the protocol storage and set initial conditions.

Initialise the protocol. Allocate workspace and variable storage.

Definition at line 85 of file ProtocolSingle.cpp.

Referenced by ~ProtocolSingle().

86  {
87  }

◆ v_GenerateSummary()

void Nektar::ProtocolSingle::v_GenerateSummary ( SolverUtils::SummaryList s)
protectedvirtual

Implements Nektar::Protocol.

Definition at line 109 of file ProtocolSingle.cpp.

110  {
111  }

◆ v_GetAmplitude()

NekDouble Nektar::ProtocolSingle::v_GetAmplitude ( const NekDouble  time)
protectedvirtual

Implements Nektar::Protocol.

Definition at line 93 of file ProtocolSingle.cpp.

References m_dur, and m_start.

94  {
95  if(time > m_start && time < (m_start+m_dur))
96  {
97  return 1.0;
98  }
99  else
100  {
101  return 0.0;
102  }
103  }

◆ v_SetInitialConditions()

void Nektar::ProtocolSingle::v_SetInitialConditions ( )
protectedvirtual

Definition at line 117 of file ProtocolSingle.cpp.

118  {
119  }

Friends And Related Function Documentation

◆ MemoryManager< ProtocolSingle >

friend class MemoryManager< ProtocolSingle >
friend

Definition at line 61 of file ProtocolSingle.h.

Member Data Documentation

◆ className

std::string Nektar::ProtocolSingle::className
static
Initial value:
"ProtocolSingle",
"Single stimulus protocol.")

Name of class.

Definition at line 59 of file ProtocolSingle.h.

◆ m_dur

NekDouble Nektar::ProtocolSingle::m_dur
protected

Definition at line 70 of file ProtocolSingle.h.

Referenced by ProtocolSingle(), and v_GetAmplitude().

◆ m_start

NekDouble Nektar::ProtocolSingle::m_start
protected

Definition at line 69 of file ProtocolSingle.h.

Referenced by ProtocolSingle(), and v_GetAmplitude().