Nektar++
PulseWaveSystemOutput.cpp
Go to the documentation of this file.
1///////////////////////////////////////////////////////////////////////////////
2//
3// File: PulseWaveSystemOutput.cpp
4//
5// For more information, please see: http://www.nektar.info
6//
7// The MIT License
8//
9// Copyright (c) 2006 Division of Applied Mathematics, Brown University (USA),
10// Department of Aeronautics, Imperial College London (UK), and Scientific
11// Computing and Imaging Institute, University of Utah (USA).
12//
13// License for the specific language governing rights and limitations under
14// Permission is hereby granted, free of charge, to any person obtaining a
15// copy of this software and associated documentation files (the "Software"),
16// to deal in the Software without restriction, including without limitation
17// the rights to use, copy, modify, merge, publish, distribute, sublicense,
18// and/or sell copies of the Software, and to permit persons to whom the
19// Software is furnished to do so, subject to the following conditions:
20//
21// The above copyright notice and this permission notice shall be included
22// in all copies or substantial portions of the Software.
23//
24// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
25// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
27// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
29// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
30// DEALINGS IN THE SOFTWARE.
31//
32// Description: Output routines for Pulse Wave Solver
33//
34///////////////////////////////////////////////////////////////////////////////
35
36#include <iostream>
37
39
40using namespace std;
41
42namespace Nektar
43{
44
47 "PulseWaveSystemOutput", PulseWaveSystemOutput::create,
48 "Pulse Wave Propagation output.");
49
50/**
51 * @class PulseWaveSystemOutput
52 *
53 * Initialises the arterial subdomains in m_vessels and sets up
54 * all domain-linking conditions (bifurcations, junctions,
55 * merging flows). Detects the network structure and assigns
56 * boundary conditons. Also provides the underlying timestepping
57 * framework for pulse wave solvers including the general
58 * timestepping routines.
59 */
60
61/**
62 * Processes SolverInfo parameters from the session file and sets
63 * up timestepping-specific code.
64 *
65 * @param m_Session Session object to read parameters from.
66 */
69 : PulseWaveSystem(m_session)
70{
71}
72
73/**
74 * Destructor
75 */
77{
78}
79
80/** o
81 *
82 * Duplicates PulseWaveSystem InitObject but does not set
83 *
84 */
86{
87 m_session->RegisterCmdLineArgument("SetToOneSpaceDimension", "False",
88 "Redefine mesh to be aligned to x-axis");
89
91}
92} // namespace Nektar
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
Definition: NekFactory.hpp:198
Base class for unsteady solvers.
virtual void v_InitObject(bool DeclareField=false) override
virtual void v_InitObject(bool DeclareField=true) override
static std::string className
Name of class.
PulseWaveSystemOutput(const LibUtilities::SessionReaderSharedPtr &m_session)
static EquationSystemSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession)
Creates an instance of this class.
virtual ~PulseWaveSystemOutput()
Destructor.
LibUtilities::SessionReaderSharedPtr m_session
The session reader.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
EquationSystemFactory & GetEquationSystemFactory()
The above copyright notice and this permission notice shall be included.
Definition: CoupledSolver.h:2