15 const std::string& field,
const std::string& unit =
"m");
19 void ElectricField(
const double x,
const double y,
const double z,
double& ex,
20 double& ey,
double& ez,
Medium*& m,
int& status)
override;
21 void ElectricField(
const double x,
const double y,
const double z,
double& ex,
22 double& ey,
double& ez,
double& v,
Medium*& m,
23 int& status)
override;
25 void WeightingField(
const double x,
const double y,
const double z,
26 double& wx,
double& wy,
double& wz,
27 const std::string& label)
override;
30 const std::string& label)
override;
32 const double z,
const double t,
33 const std::string& label)
override;
35 Medium*
GetMedium(
const double x,
const double y,
const double z)
override;
43 bool Initialise(
const std::string& header =
"mesh.mphtxt",
44 const std::string& mplist =
"dielectrics.dat",
45 const std::string& field =
"field.txt",
46 const std::string& unit =
"m");
51 const std::string& label);
61 double& dmax)
override;
65 bool m_timeset =
false;
67 bool GetTimeInterval(
const std::string& file);
Component for importing and interpolating Comsol field maps.
bool SetDelayedWeightingPotential(const std::string &file, const std::string &label)
Import the time-dependent weighting field maps.
void UpdatePeriodicity() override
Verify periodicities.
void SetTimeInterval(const double mint, const double maxt, const double stept)
Set the time interval of the time-dependent weighting field.
bool Initialise(const std::string &header="mesh.mphtxt", const std::string &mplist="dielectrics.dat", const std::string &field="field.txt", const std::string &unit="m")
Medium * GetMedium(const double x, const double y, const double z) override
Get the medium at a given location (x, y, z).
void WeightingField(const double x, const double y, const double z, double &wx, double &wy, double &wz, const std::string &label) override
bool SetWeightingField(const std::string &file, const std::string &label)
Import the time-independent weighting field maps.
double WeightingPotential(const double x, const double y, const double z, const std::string &label) override
double DelayedWeightingPotential(const double x, const double y, const double z, const double t, const std::string &label) override
ComponentComsol()
Default constructor.
void ElectricField(const double x, const double y, const double z, double &ex, double &ey, double &ez, Medium *&m, int &status) override
~ComponentComsol()
Destructor.
double GetElementVolume(const unsigned int i) override
void GetAspectRatio(const unsigned int i, double &dmin, double &dmax) override
Base class for components based on finite-element field maps.
void UpdatePeriodicityCommon()
Abstract base class for media.