Tempus Version of the Day
Time Integration
Loading...
Searching...
No Matches
Tempus_PhysicsState_impl.hpp
Go to the documentation of this file.
1// @HEADER
2// ****************************************************************************
3// Tempus: Copyright (2017) Sandia Corporation
4//
5// Distributed under BSD 3-clause license (See accompanying file Copyright.txt)
6// ****************************************************************************
7// @HEADER
8
9#ifndef Tempus_PhysicsState_impl_hpp
10#define Tempus_PhysicsState_impl_hpp
11
12#include "Teuchos_VerboseObject.hpp"
13#include "Teuchos_Describable.hpp"
14#include <string>
15
16
17namespace Tempus {
18
19template<class Scalar>
21 : physicsName_(pN)
22{}
23
24template<class Scalar>
25Teuchos::RCP<PhysicsState<Scalar> >
27{
28 Teuchos::RCP<PhysicsState<Scalar> > pSB =
29 Teuchos::rcp(new PhysicsState<Scalar> ());
30
31 pSB->setName(this->getName());
32
33 return pSB;
34}
35
36template<class Scalar>
38 const Teuchos::RCP<const PhysicsState<Scalar> >& pS)
39{
40 physicsName_ = pS->getName();
41}
42
43template<class Scalar>
45{
46 return physicsName_;
47}
48
49template<class Scalar>
51{
52 physicsName_ = pN;
53}
54
55template<class Scalar>
57{
58 return "Tempus::PhysicsState - '" + physicsName_ + "'";
59}
60
61template<class Scalar>
63 Teuchos::FancyOStream & out,
64 const Teuchos::EVerbosityLevel /* verbLevel */) const
65{
66 auto l_out = Teuchos::fancyOStream( out.getOStream() );
67 Teuchos::OSTab ostab(*l_out, 2, this->description());
68 l_out->setOutputToRootOnly(0);
69
70 *l_out << "\n--- " << this->description() << " ---" << std::endl;
71}
72
73
74} // namespace Tempus
75#endif // Tempus_PhysicsState_impl_hpp
PhysicsState is a simple class to hold information about the physics.
virtual std::string getName() const
Return name of PhysicsState.
virtual void setName(std::string pN)
Set name of PhysicsState.
virtual std::string description() const
PhysicsState(std::string pN="Tempus::PhysicsState")
Constructor.
virtual void copy(const Teuchos::RCP< const PhysicsState< Scalar > > &pS)
This is a deep copy.
virtual Teuchos::RCP< PhysicsState< Scalar > > clone() const
Clone constructor.
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const