d8ae766099
Add a bunch of .round()
s before conversions
...
Previously this was leading to inconsistencies when using f32 v.s. f64
2020-12-17 15:09:53 -08:00
75fde43aa7
Get another 25% perf bump by optimizing material layouts
2020-12-16 14:30:52 -08:00
41572f5285
Optimize GenericMaterial layout
...
Shaving off 2 floats, i.e. 16 bytes. Brings a 3-4% overall perf
increase. Should be possible to shave another 16 bytes.
2020-12-16 14:04:30 -08:00
737ae1b872
Add diagnostics
binary for showing things like material parameters
2020-12-16 13:53:39 -08:00
c9b4ab5b6e
More reactive z navigation
2020-12-16 00:10:16 -08:00
a9fc0894e0
MagneticLoop tracks H as well
2020-12-15 23:54:33 -08:00
03682d877d
Improve documentation
2020-12-15 23:39:02 -08:00
abe814335a
Fine tune viewer: reduce CPU by better polling; more intuitive navigation steps
2020-12-15 23:30:54 -08:00
e1224f78ca
Track the specific outstanding work items to dedup work
2020-12-15 23:28:40 -08:00
d940e66708
Track outstanding work to optimize prefetching
2020-12-15 23:00:33 -08:00
56630b02b3
Prefetch frames
2020-12-15 18:34:54 -08:00
8b5ad1fd70
Have the Loader return more details on successful find.
...
This will allow easier prefetching
2020-12-15 18:16:39 -08:00
8d120eb8e5
Offload Frame loading to a worker pool
...
This will make it easier to prefetch frames.
2020-12-15 18:07:45 -08:00
639ab4b117
Add a cache to the viewer
2020-12-15 17:39:59 -08:00
d911b8cf34
Parallelize measurements
2020-12-15 15:14:39 -08:00
6362b5a60e
parallelize render_scalar_field
2020-12-15 14:19:29 -08:00
b3aba7658b
Add a magnetic loop measurement
2020-12-14 21:54:33 -08:00
cba2e3c3d2
Change up some measurement/rendering details
2020-12-14 21:44:07 -08:00
54e414808c
Add a new decimate
tool to reduce time resolution of simulated output
...
This is useful to free up limited disk space :/
2020-12-08 22:52:34 -08:00
457337c3b1
More tools for shifting/gating stimuli
2020-12-08 22:28:54 -08:00
e105819461
CurlStimulus can now handle negative magnitudes
2020-12-08 22:19:06 -08:00
2b713bae14
Always render the last frame; also apply stimuli before rendering
2020-12-08 18:44:56 -08:00
f5f90a7a15
Fix a bunch of warnings
2020-12-07 22:55:24 -08:00
e0056d8c85
Make the Driver able to handle any Material
2020-12-07 22:51:00 -08:00
f1c9334322
Don't recalculate inv_feature_size in every work unit
...
This shaves nearly 1% off the total simulation time
2020-12-07 22:05:20 -08:00
5abb185fe7
Rework the stimulus so that it can be applied in parallel
2020-12-07 20:36:52 -08:00
bf3dba7f99
CurrentLoop reports the current *per cross-section* (i.e. the actual current)
2020-12-07 09:29:49 -08:00
d353026bf9
Use the _mean_ directed current for measurement. This should actually be multiplied by the cross-section area of the Region
2020-12-07 09:22:11 -08:00
82b1eea353
Add a way to measure the current directed around a closed loop
2020-12-07 09:16:07 -08:00
90e26d2445
Add a Vec3::norm method
2020-12-06 21:13:16 -08:00
d9176cdf06
Non-uniform current stimuli can be specified easier
2020-12-06 20:56:34 -08:00
d619383fb9
Make Current measurement serializable
...
Note that this REALLY slows it down, since it forces the Region to be
Boxed.
It might make sense at some point to consider introducing a RegionBitmap
type. Maybe keep the original Region type -- for serializing -- but
cache a Bitmap version where perf matters more.
2020-12-06 19:54:02 -08:00
fa23989cd9
Backfill tests for Sinusoid stimulus
2020-12-06 19:10:50 -08:00
8891020254
Have the Torus respect its center
2020-12-06 14:32:58 -08:00
2a2ad4c3a5
Change the torus tests so that they exercise units
2020-12-06 14:15:06 -08:00
4dd99fce70
Backfill tests for the Torus type
2020-12-06 13:49:31 -08:00
8d4a3a91fe
Fix broken tests + misc cleanup
...
Move all the examples which don't compile to the `old/` directory.
2020-12-06 13:31:13 -08:00
7e2046f5bd
Viewer: swap PgUp/PgDown
...
This is more consistent with reading things top-to-bottom: page down
advances the user through some information.
2020-12-01 17:29:37 -08:00
9fe08bf1f5
PageUp/Down are used for course time navigation
2020-11-29 22:08:05 -08:00
f13c5e0e85
Improve responsiveness by folding adjacent navigations
2020-11-29 22:05:44 -08:00
9d4b0607d7
Simplify implementation of viewer's navigation
...
This should make it slightly easier to collapse multiple commands
2020-11-29 21:53:00 -08:00
28c734a4c5
Add a Current stimulus to the wrapped torus
2020-11-29 21:52:52 -08:00
1f44605714
Add an example for a "wrapped torus": that is, a ferromagnet torus with wire loops around it
...
Still missing:
- stimulus to inject a current onto one of the wire loops
- measurement to measure current on the other wire loop
2020-11-29 18:25:34 -08:00
9dddf6406a
Define a Torus
region.
...
I mean, actual core memories are usually toroids, so...
2020-11-29 17:43:32 -08:00
abac9be49c
Viewer navigates based on natsorted paths
2020-11-29 15:08:31 -08:00
f1124dea3b
viewer binary can navigate to the previous frame now
2020-11-29 14:24:12 -08:00
ed86aff504
measurements are now rendered alongside the terminal view
2020-11-29 12:27:52 -08:00
70e6cdf0cb
Render to exactly the size of the terminal
2020-11-29 10:52:11 -08:00
8f8c42a853
renderer can navigate forward in time (and also in the + or - z direction)
...
Can't navigate backward yet
2020-11-28 13:49:30 -08:00
58fa41ce87
Viewer actually renders frames (no navigation yet)
2020-11-28 12:22:22 -08:00