Node: Medium Data #56

Open
opened 2024-05-05 18:11:44 +02:00 by so-rose · 1 comment

Essentially we need robust ways of getting, fitting, and using medium data in our simulations.

  • DataFit Medium (Mediums)

    • Implement by migrating the material data fitting logic from the Tidy3D File Importer, except now only accept a Data input socket, and rely on the Data File Importer to do the parsing into an acceptable Expr socket format.
    • Save the result in a cached property with a button, specifically in a property (serialized!), and lock the input graph while saved.
    • Better defaults and deeper adjustability.
    • Arbitrary input via Expr socket.
    • Option to pre-constrain wavelengths.
    • Handle LinAlgError when SVD fails during a data fit.
    • Figure out what to do about Silicon Dioxide. Drude? Generic data-fitting node?
  • File Importers / Data File Importer (Inputs)

    • Implement FlowKind.LazyValueFunc that plays the loading game.
    • Implement FlowKind.Info which lets the user describe the data being loaded, for proper further processing.
      • Implement unit system input to guide conversion from numpy data type.
      • Implement datatype dropdown to guide format from disk, prefilled to detected.
      • Options for index labels, index units, index mathtypes.
    • Implement FlowKind.Array that just runs the LazyValueFunc as usual.
    • Standardize 1D and 2D array loading/saving on numpy's savetxt with gzip enabled.
  • File Importers / RIIO Web Importer (Inputs)

Essentially we need robust ways of getting, fitting, and using medium data in our simulations. - [ ] DataFit Medium (Mediums) - [ ] Implement by migrating the material data fitting logic from the `Tidy3D File Importer`, except now only accept a `Data` input socket, and rely on the `Data File Importer` to do the parsing into an acceptable `Expr` socket format. - [ ] Save the result in a cached property with a button, specifically in a property (serialized!), and lock the input graph while saved. - [ ] Better defaults and deeper adjustability. - [ ] Arbitrary input via `Expr` socket. - [ ] Option to pre-constrain wavelengths. - [ ] Handle `LinAlgError` when SVD fails during a data fit. - [ ] Figure out what to do about Silicon Dioxide. Drude? Generic data-fitting node? - [x] File Importers / Data File Importer (Inputs) - [x] Implement `FlowKind.LazyValueFunc` that plays the loading game. - [ ] Implement `FlowKind.Info` which lets the user describe the data being loaded, for proper further processing. - [ ] Implement unit system input to guide conversion from numpy data type. - [ ] Implement datatype dropdown to guide format from disk, prefilled to detected. - [ ] Options for index labels, index units, index mathtypes. - [x] Implement `FlowKind.Array` that just runs the `LazyValueFunc` as usual. - [x] Standardize 1D and 2D array loading/saving on numpy's savetxt with gzip enabled. - [ ] File Importers / RIIO Web Importer (Inputs) - [ ] Implement refractiveindex.info importer using the `riip` library: https://pypi.org/project/riip/ - [ ] Similar vibes to the `Library Medium` node?
so-rose added the
feature
label 2024-05-05 18:11:44 +02:00
so-rose added a new dependency 2024-05-05 18:13:40 +02:00
Poster
Owner

Forgot to note this but in commit 0f2f494868205f886ad56317f8f153a9e2bddf57 we did the data file importer.

Forgot to note this but in commit `0f2f494868205f886ad56317f8f153a9e2bddf57` we did the data file importer.
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Blocks
#27 Implementation Tracker
so-rose/blender_maxwell
Reference: so-rose/blender_maxwell#56
There is no content yet.