gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
22 return "Plugin(ModulusPhase) interprets the time steps "
23 "`realPart' and `imaginaryPart' in the view `View' "
24 "as the real and imaginary parts of a complex field "
25 "and replaces them with their corresponding "
26 "modulus and phase.\n\n"
27 "If `View' < 0, the plugin is run on the current view.\n\n"
28 "Plugin(ModulusPhase) is executed in-place.";
52 Msg::Error(
"ModulusPhase plugin cannot be run on multi-mesh views");
58 Msg::Error(
"Wrong real or imaginary part index");
68 for(
int nod = 0; nod < data1->
getNumNodes(step, ent, ele); nod++)
69 data1->
tagNode(step, ent, ele, nod, 0);
77 for(
int ele = 0; ele < data1->
getNumElements(rIndex, ent); ele++) {
79 for(
int nod = 0; nod < data1->
getNumNodes(rIndex, ent, ele); nod++) {
81 int tag = data1->
getNode(rIndex, ent, ele, nod, x, y,
z);
86 data1->
getValue(rIndex, ent, ele, nod, comp, vr);
87 data1->
getValue(iIndex, ent, ele, nod, comp, vi);
88 double modulus = sqrt(vr * vr + vi * vi);
89 double phase = atan2(vi, vr);
90 data1->
setValue(rIndex, ent, ele, nod, comp, modulus);
91 data1->
setValue(iIndex, ent, ele, nod, comp, phase);
93 data1->
tagNode(rIndex, ent, ele, nod, 1);
94 data1->
tagNode(iIndex, ent, ele, nod, 1);
virtual bool skipElement(int step, int ent, int ele, bool checkVisibility=false, int samplingRate=1)
virtual int getNumTimeSteps()=0
virtual void setValue(int step, int ent, int ele, int nod, int comp, double val)
virtual bool isNodeData()
virtual int getNode(int step, int ent, int ele, int nod, double &x, double &y, double &z)
static void Error(const char *fmt,...)
virtual void getValue(int step, int ent, int ele, int idx, double &val)
StringXNumber ModulusPhaseOptions_Number[]
GMSH_Plugin * GMSH_RegisterModulusPhasePlugin()
virtual bool hasMultipleMeshes()
virtual int getNumEntities(int step=-1)
StringXNumber * getOption(int iopt)
std::string getHelp() const
void setChanged(bool val)
virtual void tagNode(int step, int ent, int ele, int nod, int tag)
PViewData * getData(bool useAdaptiveIfAvailable=false)
virtual int getNumNodes(int step, int ent, int ele)
virtual void setName(const std::string &val)
virtual int getNumComponents(int step, int ent, int ele)
virtual PView * getView(int index, PView *view)
virtual int getNumElements(int step=-1, int ent=-1)
virtual std::string getName()
virtual bool finalize(bool computeMinMax=true, const std::string &interpolationScheme="")