Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Classes to detach from MATLAB #285

Open
14 of 41 tasks
willGraham01 opened this issue May 5, 2023 · 0 comments
Open
14 of 41 tasks

Classes to detach from MATLAB #285

willGraham01 opened this issue May 5, 2023 · 0 comments
Labels
enhancement New feature or request technical Technical and meta issues, not related to physics but infrastructure.

Comments

@willGraham01
Copy link
Collaborator

willGraham01 commented May 5, 2023

Essentially a tracker for our progress towards #70.

Logging which tdms classes need to be detached from MATLAB

Non-MATLAB classes we might want to flatten

Whilst it won't be necessary (we can just reshape buffers before writing/reading) we might want to rework the classes below to have flat, strided vectors to store their data rather than pointers to pointers.

  • Tensor3D
  • Matrix

Storage classes

Classes that are inherited from by other classes, or are simply used to store or interact with MATLAB objects.

Classes that are only read into

Classes that are read from the input file, or initialised by passing mxArray pointers.

Classes that are written out

Classes that need some (or all) of their data written to the output file.

  • FieldComponentsVectors (inherits Vector, part of VertexPhasors) (Detach Vectors from MATLAB #328)
  • Vertices (inherits Matrix, part of VertexPhasors)
  • ElectricField (inherits Field)
  • MagneticField (inherits Field)
  • FieldSample
  • SurfacePhasors
  • VertexPhasors
  • IDVariables

Classes that are both read and written

WYTII.

  • TDFieldExporter2D
  • GridLabels
  • SimulatonManager

Dependent Functions

Files that define functions that operate on MATLAB objects.

  • array_init.h/cpp
  • mesh_base.h/cpp
  • matlabio.h/cpp (likely will be deleted)
  • mat_io.h/cpp (likely will be deleted)

Other Classes

  • InputMatrices can be removed once all functions that need to read into have MATLAB removed. simulation_manager will need to be passed the name of the HDF5 file, or a HDF5Reader instance.
  • OutputMatrices no longer needs to hold MATLAB pointers, instead should use HDF5Writer to produce the output. Removing MATLAB from each of the written out classes should involve implementing such functionality in this class, in which case it might be redundant / separated from MATLAB by this stage anyway.

Test Classes

  • AbstractArrayTestClass and all its dependencies will need to be adjusted accordingly. Recommend doing this whilst tackling each class that is tested by this.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request technical Technical and meta issues, not related to physics but infrastructure.
Projects
None yet
Development

No branches or pull requests

2 participants