27 mxArray *vertex_list =
nullptr;
28 double **vertex_list_data_ptr =
31 mxArray *mx_surface_amplitudes =
nullptr;
32 int f_ex_vector_size =
43 double ***surface_EHr =
nullptr,
52 SurfacePhasors(mxArray *mx_surface_vertices,
int _f_ex_vector_size);
62 int f_ex_vector_size);
68 for (
int k = 0; k < f_ex_vector_size; k++) {
69 for (
int j = 0; j < 6; j++) {
71 surface_EHr[k][j][i] = 0.;
105 std::complex<double> Hnorm);
124 bool interpolate =
true);
Classes describing arrays, vertices etc.
Definition grid_labels.h:13
Class storing the various constants and behaviour flags for one executation of the tdms executable.
Definition simulation_parameters.h:69
A class that handles the extraction of the phasors on the user-specified surface.
Definition surface_phasors.h:22
double *** surface_EHi
Definition surface_phasors.h:44
void create_vertex_list(GridLabels input_grid_labels)
Pulls the GridLabels information of vertices on the surface into vertex_list, a continuous block of m...
Definition surface_phasors.cpp:160
int get_n_surface_vertices()
Get the number of surface vertices.
Definition surface_phasors.h:81
int ** surface_vertices
Pointer to the vertices on the surface.
Definition surface_phasors.h:24
mxArray * get_vertex_list()
Get the list of vertices.
Definition surface_phasors.h:86
void extractPhasorsSurface(int frequency_index, ElectricSplitField &E, MagneticSplitField &H, int n, double omega, int Nt, SimulationParameters ¶ms, bool interpolate=true)
Extract the phasor values at the vertices on the surface, for the given frequency index.
Definition surface_phasors.cpp:74
void normalise_surface(int frequency_index, std::complex< double > Enorm, std::complex< double > Hnorm)
Normalise the surface amplitudes at frequency_vector_index by the E- and H-norms provided.
Definition surface_phasors.cpp:42
mxArray * get_mx_surface_amplitudes()
Get the array of complex surface amplitudes.
Definition surface_phasors.h:91
void set_from_matlab_array(mxArray *mx_surface_vertices, int f_ex_vector_size)
Sets the surface_vertices pointer and number of surface vertices tracker from the MATLAB array passed...
Definition surface_phasors.cpp:16
void update_surface_EH(int frequency_index, int vertex_index, FullFieldSnapshot F)
Incriments surface_EH{r,i} at the given index by the field values provided.
Definition surface_phasors.cpp:180
void zero_surface_EH()
Zeros the surface_EH{r,i} arrays.
Definition surface_phasors.h:67
int n_surface_vertices
Number of vertices on the surface.
Definition surface_phasors.h:25
Classes for the electric and magnetic (split) fields on a grid.
Class to hold the labels of a Yee cell.