3#ifndef G_COMPONENT_ELMER_H
4#define G_COMPONENT_ELMER_H
18 ComponentElmer(
const std::string& header,
const std::string& elist,
19 const std::string& nlist,
const std::string& mplist,
20 const std::string& volt,
const std::string& unit);
24 void ElectricField(
const double x,
const double y,
const double z,
double& ex,
25 double& ey,
double& ez,
Medium*& m,
int& status);
26 void ElectricField(
const double x,
const double y,
const double z,
double& ex,
27 double& ey,
double& ez,
double& v,
Medium*& m,
30 void WeightingField(
const double x,
const double y,
const double z,
31 double& wx,
double& wy,
double& wz,
32 const std::string& label);
34 const std::string& label);
39 const double z)
const {
54 bool Initialise(
const std::string& header =
"mesh.header",
55 const std::string& elist =
"mesh.elements",
56 const std::string& nlist =
"mesh.nodes",
57 const std::string& mplist =
"dielectrics.dat",
58 const std::string& volt =
"out.result",
59 const std::string& unit =
"cm");
68 void GetAspectRatio(
const unsigned int i,
double& dmin,
double& dmax);
Component for importing field maps computed by Elmer.
double WeightingPotential(const double x, const double y, const double z, const std::string &label)
Medium * GetMedium(const double x, const double y, const double z)
Get the medium at a given location (x, y, z).
void ElectricField(const double x, const double y, const double z, double &ex, double &ey, double &ez, Medium *&m, int &status)
bool Initialise(const std::string &header="mesh.header", const std::string &elist="mesh.elements", const std::string &nlist="mesh.nodes", const std::string &mplist="dielectrics.dat", const std::string &volt="out.result", const std::string &unit="cm")
~ComponentElmer()
Destructor.
void GetAspectRatio(const unsigned int i, double &dmin, double &dmax)
virtual bool IsInBoundingBox(const double x, const double y, const double z) const
bool SetWeightingField(std::string prnsol, std::string label)
Import a list of voltages to be used as weighting field.
ComponentElmer()
Default constructor.
void WeightingField(const double x, const double y, const double z, double &wx, double &wy, double &wz, const std::string &label)
void UpdatePeriodicity()
Verify periodicities.
double GetElementVolume(const unsigned int i)
Base class for components based on finite-element field maps.
void UpdatePeriodicityCommon()
Abstract base class for media.