Commit Graph

238 Commits

Author SHA1 Message Date
06379ffd30 CurrentLoop: use a better justified measurement algorithm
'course the best way to justify it is with tests: hopefully those will
come shortly.
2022-08-01 06:12:16 -07:00
527814e38a convert HasTangent -> HasCrossSection
i believe the current loop algorithm (which i'm just preserving here) is
actually not correct. i'll work through it more.
2022-08-01 05:17:35 -07:00
cc876d72d6 CurrentLoop: factor out the tangent calculation 2022-08-01 00:50:02 -07:00
723fed4786 rename meas::{eval_multiple_kv -> eval_multiple} 2022-07-31 23:27:37 -07:00
0e0945f744 measurement: remove the eval method 2022-07-31 23:26:53 -07:00
5362dacf3a Measurement: don't use SI prefix if there's no unit 2022-07-30 21:21:46 -07:00
b5c58c03ce meas: add a missing unit to the Energy measurement 2022-07-30 21:21:02 -07:00
530ab890e6 meas: render the SI prefix 2022-07-30 21:15:51 -07:00
542d700f69 meas: finish porting to a concrete type.
this will in future let me more easily test each individual measurement
type
2022-07-30 20:56:19 -07:00
60840aec36 WIP: make the measurement type concrete 2022-07-30 20:33:03 -07:00
4361167f99 stim: strongly-type the return type of AbstractSim::at with a Fields struct
this will help me not mix up the E and H fields.
2022-07-30 17:17:17 -07:00
6a511943f7 note a few suspect areas of code 2022-07-30 17:02:10 -07:00
a14625b493 meas: add SI units for some things
this is an uncommon code path, apparently: only visible when rendering
BEFORE serialization. may want to implement a richer meas format.
2022-07-29 23:54:02 -07:00
6f0e35ea35 multi_core_inverter: add some stimuli and measurements 2022-07-29 23:53:44 -07:00
7f3c2a9395 render: transform inaccurate float-based indexing into integer indexing 2022-07-29 21:53:49 -07:00
349e01ba16 fix Vec3::with_mag to return an Option
and thereby simplify it into just one method.
2022-07-29 21:45:25 -07:00
ba6ef3c5c2 viewer: add a render mode to display just the Material 2022-07-29 16:28:58 -07:00
c5e2713b51 remove unused enum_dispatch 2022-07-29 16:07:07 -07:00
9c1fc65068 convert AbstractSim::sample to include a reference to the material -- not just its conductivity 2022-07-29 16:02:16 -07:00
895c87869b rename CellStateWithM => Fields; parameterize Sample over R 2022-07-29 14:55:12 -07:00
7e452f508f AbstractSim: convert the {get,put}_material functions to use only Index 2022-07-29 14:43:59 -07:00
f4ac5de099 viewer: add docs 2022-07-29 13:57:17 -07:00
e2c156e790 meas: Evaluated: fix eval to return both key and value 2022-07-29 13:39:33 -07:00
604f368f0d SerializeRenderer: render to GenericSim, not StaticSim 2022-07-29 13:27:05 -07:00
95213e61be real: add serialization bounds to the Real trait 2022-07-29 13:22:03 -07:00
95ffb73fe3 add a to_generic method to the AbstractSim trait 2022-07-29 13:11:16 -07:00
02920f9bd3 mat: add some missing conversion traits 2022-07-29 13:11:00 -07:00
56f74e6b4a AbstractSim: remove the Send bound 2022-07-28 23:49:45 -07:00
4f2345f608 rename GenericSim -> AbstractSim 2022-07-28 23:41:42 -07:00
3104c06d95 fold MaterialSim into GenericSim trait 2022-07-28 22:31:47 -07:00
71ab89c4c9 de-virtualize GenericSim
this should let us fold the GenericSim and MaterialSim traits together.
2022-07-28 22:22:07 -07:00
2d1a15eabc AbstractMeasurement: remove the DynClone requirement 2022-07-28 21:49:28 -07:00
3722512554 AbstractMeasurement: remove the serde typetag stuff 2022-07-28 21:46:01 -07:00
5c4b8d86f2 measurements: store to disk *after* evaluating them
i'm hoping to simplify a lot of serialization code with this
2022-07-28 21:43:48 -07:00
32d1a70d15 driver: remove dyn_state 2022-07-28 19:19:57 -07:00
6206569f4a Fold SampleableSim and MaterialSim into one 2022-07-28 16:41:32 -07:00
a49d9cd7a4 sim: fold most accessors behind the meta method 2022-07-28 16:25:39 -07:00
0465e3d7f5 sim: remove impulse_e methods 2022-07-28 16:17:02 -07:00
afc1f874d2 sim: remove unused impulse_b, impulse_h methods 2022-07-28 15:55:50 -07:00
1898542372 sim: address a TODO: get_material returns a reference 2022-07-28 15:45:51 -07:00
45d2de29c6 rename 'coremem_types' -> 'coremem_cross' to better reflect its purpose 2022-07-28 15:40:23 -07:00
9e35b29087 move util/ out of coremem and into its only user: buffer_proto5 2022-07-28 15:30:50 -07:00
80d3765bcf fix NaN in CurlStimulus code 2022-07-28 13:54:50 -07:00
26efc12c21 multi_core_inverter: abstractions to allow swapping out float impl and backend 2022-07-28 13:20:26 -07:00
de0f3d9654 spirv: document a TODO 2022-07-28 13:18:36 -07:00
07dfb9d852 spirv: add R32 support to the GPU code 2022-07-28 13:18:14 -07:00
15fc7b91dc driver: TODO: split diagnostics into their own struct 2022-07-28 02:06:34 -07:00
c82aab50a2 driver: simplify add_state_file implementation 2022-07-28 02:04:49 -07:00
33cb395584 driver: don't let the state be public 2022-07-28 02:01:46 -07:00
917a3d3c9d buffer_proto5: silence some warnings 2022-07-28 02:00:51 -07:00