chombo-discharge
Loading...
Searching...
No Matches
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
20Real
22{
23 CH_TIME("FieldSolver::getDielectricPermittivity(RealVect a_pos)");
24
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
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
Contains declaration of a base electrostatics solver class.
RefCountedPtr< MultiFluidIndexSpace > m_multifluidIndexSpace
Multifluid index space.
Definition CD_FieldSolver.H:590
RefCountedPtr< ComputationalGeometry > m_computationalGeometry
Computational geometry.
Definition CD_FieldSolver.H:595
Real getDielectricPermittivity(const RealVect &a_pos) const
Get relative permittivity at some point in space.
Definition CD_FieldSolverImplem.H:21
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:26