831cbfa76c
app: multi_core_inverter: tune the state serializations
...
less frequent (for less disk space), and also save state
in a recoverable manner
2022-08-11 18:22:55 -07:00
c83a44299f
app: multi-core-inverter: fix S4 drive signal specification
...
there was a spuriuous high -> low transition
2022-08-11 15:24:26 -07:00
e23ab9efd7
app: multi_core_inverter: try a 5-stage inverter (each stage inverts)
...
we're diverging from the blog pretty far now.
but it turns out that, because of the inversion in Maxwell's
$\nabla x E = -dB/dT$ equation, the trivial wiring actually leads to
natural inverters.
2022-08-11 03:01:08 -07:00
652621e47a
app: multi_core_inverter: more precise clock management
...
try to control the edges when the clock is release to prevent ringing.
2022-08-10 16:39:56 -07:00
59a4419130
app: multi_core_inverter: more detailed drive cycle
2022-08-10 15:47:28 -07:00
46a53a4dde
app: multi_core_inverter: fix up the drive sequence
...
see the code comment for explanation.
2022-08-10 01:43:36 -07:00
3998d72d02
app: multi_core_inverter: drive all four cores for four clock cycles
2022-08-10 01:35:42 -07:00
1771973c6d
CurlStimulus: take axis
and center
directly from the Region
...
by taking more from the region, we'll be able to reuse common code
and also make this more testable
2022-08-09 22:10:16 -07:00
6f0e35ea35
multi_core_inverter: add some stimuli and measurements
2022-07-29 23:53:44 -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
26efc12c21
multi_core_inverter: abstractions to allow swapping out float impl and backend
2022-07-28 13:20:26 -07:00
917a3d3c9d
buffer_proto5: silence some warnings
2022-07-28 02:00:51 -07:00
fe47eb09f8
driver: rename new_with_state
-> new
2022-07-28 01:59:11 -07:00
7a6bbf06a5
driver: remove new_spirv
method
2022-07-28 01:52:09 -07:00
47e11474d2
parameterize SpirvSim over R: Real
2022-07-25 14:49:32 -07:00
c8a082d2a1
wavefront: port to spirv driver
2022-07-24 17:45:13 -07:00
048eb7dbef
geom: don't re-export coremem_types::vec
2022-07-23 18:57:17 -07:00
3f5160a8ea
replace the CPU MBFerromagnet
with a generic wrapper around any stateless coremem_types type
2022-07-23 18:10:49 -07:00
67872de16f
clean up some unused code/imports
2022-07-23 16:27:43 -07:00
847b95f036
replace the FullyGenericMaterial in spirv with an analog type from coremem_types
...
this represents the last spirv-specific material.
next steps are to start removing the materials from `coremem` itself
(i.e. re-exporting more from `coremem_types::mat`).
2022-07-22 02:56:00 -07:00
f8fccd957a
coremem_types: IsomorphicConductor, AnisomorphicConductor are now used by both spirv and cpu impls
2022-07-19 02:08:22 -07:00
89be8bf8dd
multi_core_inverter: add documentation for running/viewing results
2022-07-17 14:58:42 -07:00
82e72e9e14
fix output directories (out/applications/...
)
2022-07-17 13:05:41 -07:00
193e17e2c8
buffer_proto5: auto-create the output directories (and fix them to out/applications)
2022-07-17 13:03:38 -07:00
87ff2f2329
multi_core_inverter: add the last core(s) and the sense wire
2022-07-15 22:15:47 -07:00
559cec3894
multi_core_inverter: add coupling wires
2022-07-15 22:12:40 -07:00
6a316a2f6f
multi_core_inverter: add the second core
2022-07-15 22:03:19 -07:00
7f3893c0db
multi_core_inverter: add the drive input
2022-07-15 21:56:12 -07:00
6c63c7dc7d
multi_core_inverter: add the ctl wire loop
2022-07-15 21:53:34 -07:00
0d199445f1
multi_core_inverter: populate with a single core, no wires
...
i'll add the rest later. i can't see this on the viewer, but maybe the
viewer just doesn't differentiate vacuum from non-vacuum when the fields
are identical?
2022-07-15 20:16:57 -07:00
b778acfd28
add a new crate where i'll explicitly simulate the inverter i hypothesize in an upcoming blog about this project
2022-07-15 17:13:41 -07:00
99e7306ae9
make all the examples be their own binary crates
...
this achieves a few things:
- trivial way to get these shipped as the default nix package
- better dependency management
- ability to split large applications into multiple files
the README probably needs some updating.
2022-07-06 01:30:31 -07:00