UIUC-ESDL / SPI2py

MIT License
3 stars 1 forks source link

Create an input constructor class #20

Open Chad-Peterson opened 1 year ago

Chad-Peterson commented 1 year ago

A function should read the input file and make sure rules (e.g., component names must be unique) are satisfied.

cmccomb commented 1 year ago

Would it be worthwhile to work on a simple builder class that helps to programmatically generated the input and config files? That could also help with consistency, and provide an easy tie-in for end-use applications.

Chad-Peterson commented 1 year ago

Are there any specific examples you had in mind? During the break, I was going to take a deeper look at Keras and SciKit as you recommended.

One of my goals is to accept different input styles (all of which get turned into an array of x,y, and z positions and radii for spherical decomposition). Right now I just describe rectangular prisms which a program packs with spheres. I'd also like to specify the raw input (i.e., [[x1,y,1,z1, r1],... ]) or eventually provide STL files (the triangular mesh from CAD software).

@cmccomb If you look at the discussion board for organizing the file structure @ruansava put together a nice powerpoint that breaks down the modules and submodules. The data module will need an input builder, but I haven't actively looked for examples or best-practices on it yet.

cmccomb commented 1 year ago

When I thought of this, I was looking at config.yaml in the main branch, which I see has been removed on dev. I think there's a lot of value in being able to generate something like that programmatically (e.g., to run a batch of simulations). It could be as simple as a class with a bunch of attributes (one for each setting) and two methods (one to save to a file, the other to load from that file).

Chad-Peterson commented 1 year ago

Moving this to beta as it's not essential to get a minimum viable product working