chombo-discharge
Loading...
Searching...
No Matches
Source
Electrostatics
CD_FieldSolverImplem.H
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3
*
4
* SPDX-License-Identifier: GPL-3.0-or-later
5
*/
6
13
#ifndef CD_FIELDSOLVERIMPLEM_H
14
#define CD_FIELDSOLVERIMPLEM_H
15
16
// Our includes
17
#include <
CD_FieldSolver.H
>
18
#include <CD_NamespaceHeader.H>
19
20
Real
21
FieldSolver::getDielectricPermittivity
(
const
RealVect
&
a_pos
)
const
22
{
23
CH_TIME
(
"FieldSolver::getDielectricPermittivity(RealVect a_pos)"
);
24
25
const
Vector<Dielectric>
&
dielectrics
=
m_computationalGeometry
->getDielectrics();
26
27
Real
relPerm
= 0.0;
28
29
if
(
m_multifluidIndexSpace
->numPhases() > 1 &&
dielectrics
.size() > 0) {
30
31
// Find the closest dielectric to position a_pos. This procedure might fail if
32
// the user has two overlapping dielectrics, but those cases are not supported
33
// anyways.
34
Real
minDist
= std::numeric_limits<Real>::infinity();
35
int
closest
= 0;
36
37
for
(
int
i
= 0;
i
<
dielectrics
.size();
i
++) {
38
const
RefCountedPtr<BaseIF>
func
=
dielectrics
[
i
].getImplicitFunction();
39
40
const
Real
curDist
=
func
->value(
a_pos
);
41
42
if
(
std::abs
(
curDist
) <=
std::abs
(
minDist
)) {
43
minDist
=
curDist
;
44
closest
=
i
;
45
}
46
}
47
48
relPerm
=
dielectrics
[
closest
].getPermittivity(
a_pos
);
49
}
50
51
CH_assert
(
dielectrics
.size() > 0);
52
CH_assert
(
relPerm
> 0.0);
53
54
return
relPerm
;
55
}
56
57
#include <CD_NamespaceFooter.H>
58
59
#endif
CD_FieldSolver.H
Contains declaration of a base electrostatics solver class.
FieldSolver::m_multifluidIndexSpace
RefCountedPtr< MultiFluidIndexSpace > m_multifluidIndexSpace
Multifluid index space.
Definition
CD_FieldSolver.H:590
FieldSolver::m_computationalGeometry
RefCountedPtr< ComputationalGeometry > m_computationalGeometry
Computational geometry.
Definition
CD_FieldSolver.H:595
FieldSolver::getDielectricPermittivity
Real getDielectricPermittivity(const RealVect &a_pos) const
Get relative permittivity at some point in space.
Definition
CD_FieldSolverImplem.H:21
TracerParticleSolver
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition
CD_TracerParticleSolver.H:38
TracerParticleSolver::TracerParticleSolver
TracerParticleSolver()
Default constructor.
Definition
CD_TracerParticleSolverImplem.H:26
Generated by
1.9.8