61c5bb9a95
document materials, stimuli, measurements, rendering
2022-05-04 00:59:35 -07:00
97c2b82b94
README: nit: correct the step order for E/H
2022-05-04 00:11:18 -07:00
9539dc56b8
README: revise the GPU perf figure
2022-05-04 00:09:55 -07:00
a2dc3c7c8f
README: clean up the pieces which refer to examples
2022-05-04 00:05:30 -07:00
c852cb52e0
examples: rename em_reflection -> wavefront
2022-05-04 00:05:16 -07:00
91394dcdac
document the individual examples
2022-05-03 23:48:41 -07:00
55cf8a3405
examples/archive: document what this directory is.
2022-05-03 23:38:00 -07:00
baeb53102f
examples: move more outdated examples to the archive directory
2022-05-03 23:35:22 -07:00
5f72b09c20
simplify examples by allowing more flexible IsomorphicConductor => GenericMaterial casting
2022-05-03 23:33:59 -07:00
3d4eff26ce
examples: em_reflection: show how one would run this on the GPU
2022-05-03 23:19:24 -07:00
9fbcb3dcb9
brute-force this PML-related tests to "pass"
...
PML didn't pan out. in theory, the implementation *should* behave
roughly as an ordinary graded conductor (IIRC), but not even that
seems to hold. just don't use the PML construct.
2022-05-03 23:18:15 -07:00
0d51aa1d55
get stim-related tests to pass after the previous refactor
...
note the following tests fail:
```
sim::test::anisotropic_conductor_inactive_x
sim::test::anisotropic_conductor_inactive_y
sim::test::pml_boundary_3d_multidirectional_off_center_multisource
sim::test::sane_boundary_conditions
```
these have been failing for a while. certainly before this stimulus
refactor.
2022-05-03 21:57:53 -07:00
193306d068
stimulus: add the ability to apply H stimulus in addition to E
...
this surely breaks some tests and examples
2022-05-03 19:50:59 -07:00
85a58d3f42
examples: "archive" some of the less friendly examples
2022-05-03 18:12:15 -07:00
ea7c6b78fd
examples: em_reflection: get this to compile
2022-05-03 18:11:31 -07:00
5f0ecbc075
example: buffer_proto4: fix compiler errors (runtime assertions remain)
2022-05-03 17:28:11 -07:00
1a930d4031
example: buffer_proto3: get it to compile (fails at assert_filled_with runtime assertion)
2022-05-03 17:25:27 -07:00
7688922692
examples: buffer_proto2: get compiling (fails in region_filled assertion)
2022-05-03 17:23:41 -07:00
e5eaa214b5
Driver: add some CPU-driver conveniences
2022-05-01 18:49:07 -07:00
33e7860420
Ferroxcube3R1: add a constructor (instead of using Default::default()
)
2022-05-01 18:48:43 -07:00
197dd8e95d
README: document CPU performance (it's 34x slower)
2022-05-01 18:44:44 -07:00
62dda5f543
examples: fix sr_latch to compile
...
accidentally removed `boundary_z` earlier
2022-05-01 18:14:47 -07:00
662d52c2fb
example: get buffer_proto1 to compile
...
it doesn't run right though: fails at an
`assert!(driver.test_region_filled)`
2022-05-01 18:11:41 -07:00
3cc2353c3b
audit the licenses of each direct dependency
...
they're all MIT or CC0. that should enable free distribution so long as
MIT license copies are provided alongside all the MIT dependencies
(IANAL).
2022-04-30 16:32:16 -07:00
0d34af2e73
README: fix image link typos
2022-04-30 01:01:30 -07:00
accfcd2286
README: flesh out the example and performance sections
2022-04-30 00:59:51 -07:00
5871292bfd
clean up the SR latch example so that it runs
2022-04-30 00:56:18 -07:00
f94c55b27c
README: Expand the Support and License sections
2022-04-29 17:20:18 -07:00
ca58491a50
README: fill out an outline that might make this document more useful when completed
2022-04-29 16:54:25 -07:00
2df53d7e73
rename README -> README.md
...
it's already a markdown file
2022-04-29 00:54:18 -07:00
afaf76224c
remove some commented-out code from Cargo.toml
2022-04-29 00:39:07 -07:00
f5e4dfe745
buffer proto 5: swap the parameter iteration order
...
i understand decently how the radius affects things, so do that in the
outer loop so we can get more interesting results from the other
parameters sooner.
2022-04-28 23:06:22 -07:00
629975ec3d
document the current nightly used for building
2022-04-28 23:06:06 -07:00
f22131544e
only render an extra frame at the end if we actually did step.
...
this avoids rendering frame 0 twice, for example.
2022-04-28 23:05:32 -07:00
a53eed87f0
bench the optimized spirv material
...
it appears to be ROUGHLY 12% faster
2022-02-01 20:01:00 -08:00
0e98f8582a
add some more caching around the state file & geometry calculations
...
able to process a simulation in ~2 seconds in the optimistic path
2022-02-01 18:31:47 -08:00
f0ab5ea29d
spirv: fix undersized spirv buffers when going through the Default
path
2022-02-01 18:31:23 -08:00
e574bf71ca
spirv: get the optimized IsoConductorOr<Ferroxcube3R1> plumbed all the way through
...
buffer_proto5 example shows it in action (results weren't verified)
2022-01-29 16:30:29 -08:00
bef39789a7
spirv: fix some ffi-related panics (too-small buffer + non-exact MHCurve conversions)
...
the non-exact MHCurve conversions shouldn't be super impactful. they're
sanity checks, and there's no path that would allow for the inexactness
to grow (or rather, for the inexactness to grow in a way that an
assertion in this code path could *ever* catch it).
2022-01-29 01:47:29 -08:00
5cc105e02b
spirv: fully parameterize over the material type
2022-01-28 20:55:54 -08:00
aeec4258c7
introduce Isomorphic/Anisomorphic conductors into the CPU side
...
this is needed for the future Spirv optimizations to be possible.
2022-01-28 19:24:36 -08:00
39c13afc10
spirv: remove extraneous '{to,from}_generic' method from Material
2022-01-28 17:54:54 -08:00
efa8f62e81
spirv: fix typo in tests
2022-01-28 17:49:25 -08:00
a0f39d55e3
spirv: port SimMeta
to be a proper binding
2022-01-28 03:12:27 -08:00
fd7ec71396
spirv: split out the bindings
...
this yields a way cleaner implementation, and particularly one that will
be more friendly to adding optimized materials
2022-01-28 02:14:32 -08:00
46fdd79350
cargo update
dependencies to their latest versions
...
serde, libc, naga
2022-01-27 23:04:58 -08:00
98b03aeb76
spirv: put all the spirv stuff behind a submodule
...
future work will factor out bindings, etc
2022-01-27 23:01:08 -08:00
da9c1afe90
spirv: cleanup the cpu/gpu interface
2022-01-27 22:43:10 -08:00
5427cd3027
spirv: simplify the Material traits (no more Conductor/MagneticMaterial distinction)
2022-01-27 18:32:45 -08:00
2f7a189725
spirv: move the Material: Clone bounds out of the gpu code
2022-01-26 16:57:59 -08:00