Declarations of PO and RT library for CPU. More...
#include <iostream>#include <vector>#include <complex>#include <cmath>#include <string>#include "Propagation.h"#include "RayTrace.h"Go to the source code of this file.
Functions | |
| PYPO_DLL void | propagateToGrid_JM (c2Bundle *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, c2Bundle *currents, double k, int numThreads, double epsilon, double t_direction) |
| PYPO_DLL void | propagateToGrid_EH (c2Bundle *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, c2Bundle *currents, double k, int numThreads, double epsilon, double t_direction) |
| PYPO_DLL void | propagateToGrid_JMEH (c4Bundle *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, c2Bundle *currents, double k, int numThreads, double epsilon, double t_direction) |
| PYPO_DLL void | propagateToGrid_EHP (c2rBundle *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, c2Bundle *currents, double k, int numThreads, double epsilon, double t_direction) |
| PYPO_DLL void | propagateToGrid_scalar (arrC1 *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, arrC1 *field, double k, int numThreads, double epsilon, double t_direction) |
| PYPO_DLL void | propagateToFarField (c2Bundle *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, c2Bundle *currents, double k, int numThreads, double epsilon, double t_direction) |
| PYPO_DLL void | propagateRays (reflparams ctp, cframe *fr_in, cframe *fr_out, int numThreads, double epsilon, double t0) |
| PYPO_DLL void | propagateToGridf_JM (c2Bundlef *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, c2Bundlef *currents, float k, int numThreads, float epsilon, float t_direction) |
| PYPO_DLL void | propagateToGridf_EH (c2Bundlef *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, c2Bundlef *currents, float k, int numThreads, float epsilon, float t_direction) |
| PYPO_DLL void | propagateToGridf_JMEH (c4Bundlef *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, c2Bundlef *currents, float k, int numThreads, float epsilon, float t_direction) |
| PYPO_DLL void | propagateToGridf_EHP (c2rBundlef *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, c2Bundlef *currents, float k, int numThreads, float epsilon, float t_direction) |
| PYPO_DLL void | propagateToGridf_scalar (arrC1f *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, arrC1f *field, float k, int numThreads, float epsilon, float t_direction) |
| PYPO_DLL void | propagateToFarFieldf (c2Bundlef *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, c2Bundlef *currents, float k, int numThreads, float epsilon, float t_direction) |
Declarations of PO and RT library for CPU.
Provides double and single precision interface for CPU PO and RT.
| PYPO_DLL void propagateRays | ( | reflparams | ctp, |
| cframe * | fr_in, | ||
| cframe * | fr_out, | ||
| int | numThreads, | ||
| double | epsilon, | ||
| double | t0 | ||
| ) |
Calculate ray-trace frame on surface.
Calculate the ray-trace frame on a surface.
| ctp | reflparams object of target surface. |
| fr_in | Pointer to cframe object containing input frame. |
| fr_out | Pointer to cframe object, to be filled with result frame. |
| numThreads | Number of computing threads to employ. |
| epsilon | Numerical accuracy of NR method. |
| t0 | Initial value to try in NR method. |
| PYPO_DLL void propagateToFarField | ( | c2Bundle * | res, |
| reflparams | source, | ||
| reflparams | target, | ||
| reflcontainer * | cs, | ||
| reflcontainer * | ct, | ||
| c2Bundle * | currents, | ||
| double | k, | ||
| int | numThreads, | ||
| double | epsilon, | ||
| double | t_direction | ||
| ) |
Calculate EH on far-field surface.
Calculate the E, H fields on a far-field surface.
| res | Pointer to c2Bundle object. |
| source | reflparams object, source surface. |
| target | refparams object, target surface. |
| cs | Pointer to reflcontainer, source surface. |
| ct | Pointer to reflcontainer, target surface. |
| currents | Pointer to c2Bundle containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToFarFieldf | ( | c2Bundlef * | res, |
| reflparamsf | source, | ||
| reflparamsf | target, | ||
| reflcontainerf * | cs, | ||
| reflcontainerf * | ct, | ||
| c2Bundlef * | currents, | ||
| float | k, | ||
| int | numThreads, | ||
| float | epsilon, | ||
| float | t_direction | ||
| ) |
Calculate E, H on a far-field surface.
Calculate the E, H fields on a far-field surface.
| res | Pointer to c2Bundlef object. |
| source | reflparamsf object, source surface. |
| target | refparamsf object, target surface. |
| cs | Pointer to reflcontainerf, source surface. |
| ct | Pointer to reflcontainerf, target surface. |
| currents | Pointer to c2Bundlef containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToGrid_EH | ( | c2Bundle * | res, |
| reflparams | source, | ||
| reflparams | target, | ||
| reflcontainer * | cs, | ||
| reflcontainer * | ct, | ||
| c2Bundle * | currents, | ||
| double | k, | ||
| int | numThreads, | ||
| double | epsilon, | ||
| double | t_direction | ||
| ) |
Calculate EH on surface.
Calculate the E and H fields on a surface.
| res | Pointer to c2Bundle object. |
| source | reflparams object, source surface. |
| target | refparams object, target surface. |
| cs | Pointer to reflcontainer, source surface. |
| ct | Pointer to reflcontainer, target surface. |
| currents | Pointer to c2Bundle containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToGrid_EHP | ( | c2rBundle * | res, |
| reflparams | source, | ||
| reflparams | target, | ||
| reflcontainer * | cs, | ||
| reflcontainer * | ct, | ||
| c2Bundle * | currents, | ||
| double | k, | ||
| int | numThreads, | ||
| double | epsilon, | ||
| double | t_direction | ||
| ) |
Calculate EH and P on surface.
Calculate the reflected E, H fields and P, the reflected Poynting vector field, on a surface.
| res | Pointer to c2rBundle object. |
| source | reflparams object, source surface. |
| target | refparams object, target surface. |
| cs | Pointer to reflcontainer, source surface. |
| ct | Pointer to reflcontainer, target surface. |
| currents | Pointer to c2Bundle containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToGrid_JM | ( | c2Bundle * | res, |
| reflparams | source, | ||
| reflparams | target, | ||
| reflcontainer * | cs, | ||
| reflcontainer * | ct, | ||
| c2Bundle * | currents, | ||
| double | k, | ||
| int | numThreads, | ||
| double | epsilon, | ||
| double | t_direction | ||
| ) |
Calculate JM on surface.
Calculate the J and M currents on a surface.
| res | Pointer to c2Bundle object. |
| source | reflparams object, source surface. |
| target | refparams object, target surface. |
| cs | Pointer to reflcontainer, source surface. |
| ct | Pointer to reflcontainer, target surface. |
| currents | Pointer to c2Bundle containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToGrid_JMEH | ( | c4Bundle * | res, |
| reflparams | source, | ||
| reflparams | target, | ||
| reflcontainer * | cs, | ||
| reflcontainer * | ct, | ||
| c2Bundle * | currents, | ||
| double | k, | ||
| int | numThreads, | ||
| double | epsilon, | ||
| double | t_direction | ||
| ) |
Calculate JM and EH on surface.
Calculate the J, M currents and E, H fields on a surface.
| res | Pointer to c4Bundle object. |
| source | reflparams object, source surface. |
| target | refparams object, target surface. |
| cs | Pointer to reflcontainer, source surface. |
| ct | Pointer to reflcontainer, target surface. |
| currents | Pointer to c2Bundle containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToGrid_scalar | ( | arrC1 * | res, |
| reflparams | source, | ||
| reflparams | target, | ||
| reflcontainer * | cs, | ||
| reflcontainer * | ct, | ||
| arrC1 * | field, | ||
| double | k, | ||
| int | numThreads, | ||
| double | epsilon, | ||
| double | t_direction | ||
| ) |
Calculate scalar field on surface.
Calculate the incoming scalar field on a surface.
| res | Pointer to arrC1 object. |
| source | reflparams object, source surface. |
| target | refparams object, target surface. |
| cs | Pointer to reflcontainer, source surface. |
| ct | Pointer to reflcontainer, target surface. |
| field | Pointer to arrC1 containing field on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToGridf_EH | ( | c2Bundlef * | res, |
| reflparamsf | source, | ||
| reflparamsf | target, | ||
| reflcontainerf * | cs, | ||
| reflcontainerf * | ct, | ||
| c2Bundlef * | currents, | ||
| float | k, | ||
| int | numThreads, | ||
| float | epsilon, | ||
| float | t_direction | ||
| ) |
Calculate EH on surface.
Calculate the E, H fields on a surface.
| res | Pointer to c2Bundlef object. |
| source | reflparamsf object, source surface. |
| target | refparamsf object, target surface. |
| cs | Pointer to reflcontainerf, source surface. |
| ct | Pointer to reflcontainerf, target surface. |
| currents | Pointer to c2Bundlef containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToGridf_EHP | ( | c2rBundlef * | res, |
| reflparamsf | source, | ||
| reflparamsf | target, | ||
| reflcontainerf * | cs, | ||
| reflcontainerf * | ct, | ||
| c2Bundlef * | currents, | ||
| float | k, | ||
| int | numThreads, | ||
| float | epsilon, | ||
| float | t_direction | ||
| ) |
Calculate EH and P on surface.
Calculate the reflected E, H fields and P, the reflected Poynting vector field, on a surface.
| res | Pointer to c2rBundlef object. |
| source | reflparamsf object, source surface. |
| target | refparamsf object, target surface. |
| cs | Pointer to reflcontainerf, source surface. |
| ct | Pointer to reflcontainerf, target surface. |
| currents | Pointer to c2Bundlef containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToGridf_JM | ( | c2Bundlef * | res, |
| reflparamsf | source, | ||
| reflparamsf | target, | ||
| reflcontainerf * | cs, | ||
| reflcontainerf * | ct, | ||
| c2Bundlef * | currents, | ||
| float | k, | ||
| int | numThreads, | ||
| float | epsilon, | ||
| float | t_direction | ||
| ) |
Calculate JM on surface.
Calculate the J and M currents on a surface.
| res | Pointer to c2Bundlef object. |
| source | reflparamsf object, source surface. |
| target | refparamsf object, target surface. |
| cs | Pointer to reflcontainerf, source surface. |
| ct | Pointer to reflcontainerf, target surface. |
| currents | Pointer to c2Bundlef containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToGridf_JMEH | ( | c4Bundlef * | res, |
| reflparamsf | source, | ||
| reflparamsf | target, | ||
| reflcontainerf * | cs, | ||
| reflcontainerf * | ct, | ||
| c2Bundlef * | currents, | ||
| float | k, | ||
| int | numThreads, | ||
| float | epsilon, | ||
| float | t_direction | ||
| ) |
Calculate JM and EH on surface.
Calculate the J, M currents and E, H fields on a surface.
| res | Pointer to c4Bundlef object. |
| source | reflparamsf object, source surface. |
| target | refparamsf object, target surface. |
| cs | Pointer to reflcontainerf, source surface. |
| ct | Pointer to reflcontainerf, target surface. |
| currents | Pointer to c2Bundlef containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |
| PYPO_DLL void propagateToGridf_scalar | ( | arrC1f * | res, |
| reflparamsf | source, | ||
| reflparamsf | target, | ||
| reflcontainerf * | cs, | ||
| reflcontainerf * | ct, | ||
| arrC1f * | field, | ||
| float | k, | ||
| int | numThreads, | ||
| float | epsilon, | ||
| float | t_direction | ||
| ) |
Calculate scalar field on surface.
Calculate the incoming scalar field on a surface.
| res | Pointer to arrC1f object. |
| source | reflparamsf object, source surface. |
| target | refparamsf object, target surface. |
| cs | Pointer to reflcontainerf, source surface. |
| ct | Pointer to reflcontainerf, target surface. |
| field | Pointer to arrC1f containing currents on source surface. |
| k | Wavenumber of radiation, in 1 / mm. |
| numThreads | Number of computing threads to employ. |
| epsilon | Electrical permittivity of source medium. |
| t_direction | Time direction of beam (experimental!). |