Commit Graph

469 Commits

Author SHA1 Message Date
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