dispersedDisplacedPhaseInterface.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2021-2025 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 \*---------------------------------------------------------------------------*/
25 
30 
31 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
32 
33 namespace Foam
34 {
36  (
38  separatorsToTypeName
39  ({
42  }).c_str(),
43  0
44  );
46  (
49  word
50  );
51 }
52 
53 
54 // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
55 
57 (
58  const phaseInterface& interface,
59  bool strict
60 ) const
61 {
62  return
63  (!strict || isType<dispersedDisplacedPhaseInterface>(interface))
64  && dispersedPhaseInterface::same(interface, false)
65  && displacedPhaseInterface::same(interface, false);
66 }
67 
68 
69 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
70 
72 (
73  const phaseModel& dispersed,
74  const phaseModel& continuous,
75  const phaseModel& displacing
76 )
77 :
78  phaseInterface(dispersed, continuous),
79  dispersedPhaseInterface(dispersed, continuous),
80  displacedPhaseInterface(dispersed, continuous, displacing)
81 {}
82 
83 
85 (
86  const phaseSystem& fluid,
87  const word& name
88 )
89 :
90  phaseInterface(fluid, name),
93 {}
94 
95 
96 // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
97 
99 {}
100 
101 
102 // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
103 
105 {
106  return
108  + '_'
110  + '_'
111  + displacing().name();
112 }
113 
114 
115 // ************************************************************************* //
Macros for easy insertion into run-time selection tables.
Class to represent a interface between phases where one phase is considered dispersed within the othe...
dispersedDisplacedPhaseInterface(const phaseModel &dispersed, const phaseModel &continuous, const phaseModel &displacing)
Construct from phases.
virtual bool same(const phaseInterface &interface, bool strict) const
Return true if the phase interfaces are the same.
Class to represent a interface between phases where one phase is considered dispersed within the othe...
static word separator()
Return the separator that delimits this interface's name.
virtual bool same(const phaseInterface &interface, bool strict) const
Return true if the phase interfaces are the same.
Class to represent an interface between phases which has been displaced to some extent by a third pha...
static word separator()
Return the separator that delimits this interface's name.
virtual bool same(const phaseInterface &interface, bool strict) const
Return true if the phase interfaces are the same.
Class to represent an interface between phases. Derivations can further specify the configuration of ...
Class to represent a system of phases.
Definition: phaseSystem.H:74
A class for handling words, derived from string.
Definition: word.H:62
Namespace for OpenFOAM.
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
defineTypeNameAndDebugWithName(dispersedDisplacedPhaseInterface, separatorsToTypeName({ dispersedPhaseInterface::separator(), displacedPhaseInterface::separator() }).c_str(), 0)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.