Nektar++
solvers
IncNavierStokesSolver
EquationSystems
ImplicitExtrapolate.h
Go to the documentation of this file.
1
///////////////////////////////////////////////////////////////////////////////
2
//
3
// File: ImplicitExtrapolate.h
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
// Permission is hereby granted, free of charge, to any person obtaining a
14
// copy of this software and associated documentation files (the "Software"),
15
// to deal in the Software without restriction, including without limitation
16
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
17
// and/or sell copies of the Software, and to permit persons to whom the
18
// Software is furnished to do so, subject to the following conditions:
19
//
20
// The above copyright notice and this permission notice shall be included
21
// in all copies or substantial portions of the Software.
22
//
23
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
24
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29
// DEALINGS IN THE SOFTWARE.
30
//
31
// Description: Abstract base class for ImplicitExtrapolate.
32
//
33
///////////////////////////////////////////////////////////////////////////////
34
35
#ifndef NEKTAR_SOLVERS_IMPLICITEXTRAPOLATE_H
36
#define NEKTAR_SOLVERS_IMPLICITEXTRAPOLATE_H
37
38
#include <
IncNavierStokesSolver/EquationSystems/WeakPressureExtrapolate.h
>
39
#include <
LibUtilities/BasicUtils/NekFactory.hpp
>
40
#include <
LibUtilities/BasicUtils/SessionReader.h
>
41
#include <
LibUtilities/BasicUtils/SharedArray.hpp
>
42
#include <
LibUtilities/Memory/NekMemoryManager.hpp
>
43
#include <
MultiRegions/ExpList.h
>
44
45
namespace
Nektar
46
{
47
//--------
48
// Implicit Extrapolate
49
// --------
50
51
class
ImplicitExtrapolate;
52
53
typedef
std::shared_ptr<ImplicitExtrapolate>
ImplicitExtrapolateSharedPtr
;
54
55
class
ImplicitExtrapolate
:
public
WeakPressureExtrapolate
56
{
57
public
:
58
/// Creates an instance of this class
59
static
ExtrapolateSharedPtr
create
(
60
const
LibUtilities::SessionReaderSharedPtr
&pSession,
61
Array<OneD, MultiRegions::ExpListSharedPtr>
&pFields,
62
MultiRegions::ExpListSharedPtr
&pPressure,
const
Array<OneD, int>
&pVel,
63
const
SolverUtils::AdvectionSharedPtr
&advObject)
64
{
65
ExtrapolateSharedPtr
p
=
66
MemoryManager<ImplicitExtrapolate>::AllocateSharedPtr
(
67
pSession, pFields, pPressure, pVel, advObject);
68
return
p
;
69
}
70
71
/// Name of class
72
static
std::string
className
;
73
74
ImplicitExtrapolate
(
const
LibUtilities::SessionReaderSharedPtr
pSession,
75
Array<OneD, MultiRegions::ExpListSharedPtr>
pFields,
76
MultiRegions::ExpListSharedPtr
pPressure,
77
const
Array<OneD, int>
pVel,
78
const
SolverUtils::AdvectionSharedPtr
advObject);
79
80
~ImplicitExtrapolate
()
override
;
81
82
protected
:
83
void
v_EvaluatePressureBCs
(
84
const
Array
<
OneD
,
const
Array<OneD, NekDouble>
> &fields,
85
const
Array
<
OneD
,
const
Array<OneD, NekDouble>
> &N,
86
NekDouble
kinvis)
override
;
87
88
static
std::string
solverTypeLookupId
;
89
};
90
91
}
// namespace Nektar
92
93
#endif
NekFactory.hpp
SharedArray.hpp
ExpList.h
NekMemoryManager.hpp
SessionReader.h
WeakPressureExtrapolate.h
Nektar::Array
Definition:
BasicUtils/SharedArray.hpp:57
Nektar::ImplicitExtrapolate
Definition:
ImplicitExtrapolate.h:56
Nektar::ImplicitExtrapolate::solverTypeLookupId
static std::string solverTypeLookupId
Definition:
ImplicitExtrapolate.h:88
Nektar::ImplicitExtrapolate::ImplicitExtrapolate
ImplicitExtrapolate(const LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields, MultiRegions::ExpListSharedPtr pPressure, const Array< OneD, int > pVel, const SolverUtils::AdvectionSharedPtr advObject)
Definition:
ImplicitExtrapolate.cpp:49
Nektar::ImplicitExtrapolate::className
static std::string className
Name of class.
Definition:
ImplicitExtrapolate.h:72
Nektar::ImplicitExtrapolate::create
static ExtrapolateSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, MultiRegions::ExpListSharedPtr &pPressure, const Array< OneD, int > &pVel, const SolverUtils::AdvectionSharedPtr &advObject)
Creates an instance of this class.
Definition:
ImplicitExtrapolate.h:59
Nektar::ImplicitExtrapolate::v_EvaluatePressureBCs
void v_EvaluatePressureBCs(const Array< OneD, const Array< OneD, NekDouble > > &fields, const Array< OneD, const Array< OneD, NekDouble > > &N, NekDouble kinvis) override
Definition:
ImplicitExtrapolate.cpp:67
Nektar::ImplicitExtrapolate::~ImplicitExtrapolate
~ImplicitExtrapolate() override
Definition:
ImplicitExtrapolate.cpp:58
Nektar::MemoryManager::AllocateSharedPtr
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
Definition:
NekMemoryManager.hpp:166
Nektar::WeakPressureExtrapolate
Definition:
WeakPressureExtrapolate.h:59
CellMLToNektar.cellml_metadata.p
p
Definition:
cellml_metadata.py:350
Nektar::LibUtilities::SessionReaderSharedPtr
std::shared_ptr< SessionReader > SessionReaderSharedPtr
Definition:
SessionReader.h:113
Nektar::MultiRegions::ExpListSharedPtr
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
Definition:
LocTraceToTraceMap.h:56
Nektar::SolverUtils::AdvectionSharedPtr
std::shared_ptr< Advection > AdvectionSharedPtr
A shared pointer to an Advection object.
Definition:
Advection.h:54
Nektar
Definition:
CoupledSolver.h:2
Nektar::ImplicitExtrapolateSharedPtr
std::shared_ptr< ImplicitExtrapolate > ImplicitExtrapolateSharedPtr
Definition:
ImplicitExtrapolate.h:53
Nektar::ExtrapolateSharedPtr
std::shared_ptr< Extrapolate > ExtrapolateSharedPtr
Definition:
Extrapolate.h:60
Nektar::NekDouble
double NekDouble
Definition:
NektarUnivTypeDefs.hpp:43
Nektar::OneD
Definition:
NektarUnivTypeDefs.hpp:54
Generated on Wed Oct 30 2024 16:07:33 for Nektar++ by
1.9.4