gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
NearToFarField.h
Go to the documentation of this file.
1 // Gmsh - Copyright (C) 1997-2022 C. Geuzaine, J.-F. Remacle
2 //
3 // See the LICENSE.txt file in the Gmsh root directory for license information.
4 // Please report all issues on https://gitlab.onelab.info/gmsh/gmsh/issues.
5 
6 #ifndef NEARTOFARFIELD_H
7 #define NEARTOFARFIELD_H
8 
9 #include "Plugin.h"
10 #include "shapeFunctions.h"
11 #include "Numeric.h"
12 #include "PViewOptions.h"
13 #include "MElement.h"
14 #include "GModel.h"
15 
16 extern "C" {
18 }
19 
21 public:
23  std::string getName() const { return "NearToFarField"; }
24  std::string getShortHelp() const
25  {
26  return "Compute Far Field pattern from Near Field on a surface";
27  }
28  std::string getHelp() const;
29  virtual std::string getAuthor() const { return "R. Sabariego, C. Geuzaine"; }
30  int getNbOptions() const;
31  StringXNumber *getOption(int iopt);
32  int getNbOptionsStr() const;
33  StringXString *getOptionStr(int iopt);
34  PView *execute(PView *);
35 
36  double getFarFieldJin(std::vector<element *> &allElems,
37  std::vector<std::vector<double> > &js,
38  std::vector<std::vector<double> > &ms, double k0,
39  double r_far, double theta, double phi);
40 
41  double getFarFieldMonk(std::vector<element *> &allElems,
42  std::vector<std::vector<double> > &farfieldvector,
43  std::vector<std::vector<double> > &js,
44  std::vector<std::vector<double> > &ms, double k0,
45  double theta, double phi);
46 };
47 
48 #endif
StringXString
Definition: Options.h:910
GMSH_NearToFarFieldPlugin::getShortHelp
std::string getShortHelp() const
Definition: NearToFarField.h:24
GMSH_NearToFarFieldPlugin::getHelp
std::string getHelp() const
Definition: NearToFarField.cpp:41
PView
Definition: PView.h:27
GMSH_NearToFarFieldPlugin::getFarFieldJin
double getFarFieldJin(std::vector< element * > &allElems, std::vector< std::vector< double > > &js, std::vector< std::vector< double > > &ms, double k0, double r_far, double theta, double phi)
Definition: NearToFarField.cpp:81
Plugin.h
GMSH_NearToFarFieldPlugin::getOptionStr
StringXString * getOptionStr(int iopt)
Definition: NearToFarField.cpp:73
GMSH_Plugin
Definition: Plugin.h:26
StringXNumber
Definition: Options.h:918
GMSH_NearToFarFieldPlugin::GMSH_NearToFarFieldPlugin
GMSH_NearToFarFieldPlugin()
Definition: NearToFarField.h:22
GMSH_NearToFarFieldPlugin::getNbOptionsStr
int getNbOptionsStr() const
Definition: NearToFarField.cpp:63
GMSH_NearToFarFieldPlugin::getName
std::string getName() const
Definition: NearToFarField.h:23
GMSH_NearToFarFieldPlugin::getNbOptions
int getNbOptions() const
Definition: NearToFarField.cpp:58
Numeric.h
PViewOptions.h
GMSH_NearToFarFieldPlugin
Definition: NearToFarField.h:20
GMSH_RegisterNearToFarFieldPlugin
GMSH_Plugin * GMSH_RegisterNearToFarFieldPlugin()
Definition: NearToFarField.cpp:35
GMSH_NearToFarFieldPlugin::execute
PView * execute(PView *)
Definition: NearToFarField.cpp:278
GMSH_PostPlugin
Definition: Plugin.h:83
MElement.h
GMSH_NearToFarFieldPlugin::getAuthor
virtual std::string getAuthor() const
Definition: NearToFarField.h:29
GMSH_NearToFarFieldPlugin::getOption
StringXNumber * getOption(int iopt)
Definition: NearToFarField.cpp:68
GModel.h
shapeFunctions.h
GMSH_NearToFarFieldPlugin::getFarFieldMonk
double getFarFieldMonk(std::vector< element * > &allElems, std::vector< std::vector< double > > &farfieldvector, std::vector< std::vector< double > > &js, std::vector< std::vector< double > > &ms, double k0, double theta, double phi)
Definition: NearToFarField.cpp:201