Tempus  Version of the Day
Time Integration
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 
17 namespace Tempus {
18 
19 template<class Scalar>
21  : physicsName_(pN)
22 {}
23 
24 template<class Scalar>
25 Teuchos::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 
36 template<class Scalar>
38  const Teuchos::RCP<const PhysicsState<Scalar> >& pS)
39 {
40  physicsName_ = pS->getName();
41 }
42 
43 template<class Scalar>
44 std::string PhysicsState<Scalar>::getName() const
45 {
46  return physicsName_;
47 }
48 
49 template<class Scalar>
50 void PhysicsState<Scalar>::setName(std::string pN)
51 {
52  physicsName_ = pN;
53 }
54 
55 template<class Scalar>
57 {
58  return physicsName_;
59 }
60 
61 template<class Scalar>
63  Teuchos::FancyOStream & out,
64  const Teuchos::EVerbosityLevel verbLevel) const
65 {
66  out << description() << "::describe" << std::endl
67  << " physicsName = " << physicsName_ << std::endl;
68 }
69 
70 
71 } // namespace Tempus
72 #endif // Tempus_PhysicsState_impl_hpp
Tempus
Definition: Tempus_AdjointAuxSensitivityModelEvaluator_decl.hpp:20
Tempus::PhysicsState::clone
virtual Teuchos::RCP< PhysicsState< Scalar > > clone() const
Clone constructor.
Definition: Tempus_PhysicsState_impl.hpp:26
Tempus::PhysicsState::describe
virtual void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
Definition: Tempus_PhysicsState_impl.hpp:62
Tempus::PhysicsState::description
virtual std::string description() const
Definition: Tempus_PhysicsState_impl.hpp:56
Tempus::PhysicsState::getName
virtual std::string getName() const
Return name of PhysicsState.
Definition: Tempus_PhysicsState_impl.hpp:44
Tempus::PhysicsState::setName
virtual void setName(std::string pN)
Set name of PhysicsState.
Definition: Tempus_PhysicsState_impl.hpp:50
Tempus::PhysicsState::copy
virtual void copy(const Teuchos::RCP< const PhysicsState< Scalar > > &pS)
This is a deep copy.
Definition: Tempus_PhysicsState_impl.hpp:37
Tempus::PhysicsState
PhysicsState is a simple class to hold information about the physics.
Definition: Tempus_PhysicsState_decl.hpp:36
Tempus::PhysicsState::PhysicsState
PhysicsState(std::string pN="Tempus::PhysicsState")
Constructor.
Definition: Tempus_PhysicsState_impl.hpp:20