Commit Graph

1174 Commits

Author SHA1 Message Date
Colin f948820edf Implement a BHCurve
Can't implement this style of ferromagnet until ew rework step_e to use
the macroscopic version of Maxwell's equation though, I think.
2020-08-27 14:41:35 -07:00
Colin e9f7e739ff Use `enum_dispatch` to simplify the GenericMaterial implementation 2020-08-27 13:22:28 -07:00
Colin 6ac0dafa47 Have the GenericMaterial be an enum to make it easier to replace the ferromagnet model 2020-08-27 12:51:12 -07:00
Colin c68964403d Fix COMSOL ferromagnet model, and make a new example for it
I'm a little skeptical of it as a model, though.
2020-08-22 22:35:45 -07:00
Colin f4d8ffdf34 Untested ferromagnetic model
It's pretty basic.
2020-08-22 21:55:27 -07:00
Colin 3830cf2ef8 Store magnetic state as H_z instead of B_z
This is consistent with the Macroscopic version of Maxwell's equations,
and will allow for storing Magnetic state with less trouble than if we
used B.
2020-08-22 21:17:03 -07:00
Colin 5677670d05 Fix the incorrect expansion of E about T in Cell::step_e
Now the coremem example can handle a conductor of any reasonable
conductivity without causing numerical errors.
2020-08-22 13:50:30 -07:00
Colin dff8166906 Format these math comments so that they render properly for a tex-aware editor
Also document an error in the current logic
2020-08-16 20:14:46 -07:00
Colin 4bfe282c36 cleanup: use consts::real::HALF when possible 2020-07-31 19:02:17 -07:00
Colin 72c2ee599e Track the simulation time, and configure the feature size 2020-07-31 19:01:00 -07:00
Colin 5e4699b3e6 Fix the conductivity error (was calculating the wrong timestep)
Also, use f64 and force them to be real.
2020-07-31 18:46:19 -07:00
Colin 5388658b00 Add [broken] conductivity support
It doesn't seem to be solved by using f64
2020-07-31 18:03:40 -07:00
Colin 56cc5980dd Demo a B-imulse, because it behaves more symmetrically 2020-07-25 00:27:58 -07:00
Colin 1d9aa738ac Render just the B field: it gives a better visualization here 2020-07-24 23:39:07 -07:00
Colin 2e92980113 Buffer the rendering for better framerates; create a more useful example 2020-07-24 23:25:16 -07:00
Colin 5360d2c6d3 Add a 2d color-based renderer 2020-07-16 00:31:20 -07:00
Colin b890d8dc3a Fix the math errors so that 2d simulations appear to now conserve energy. 2020-07-15 23:34:51 -07:00
Colin a82c2f60e7 broken: expand to two dimensions.
Broken because there seems to be a scaling issue, and also the previous
1d simulation has no effect when ported to this new 2d world.
2020-07-14 23:26:27 -07:00
Colin 80cb3a9d52 Add a color terminal renderer 2020-07-12 23:00:54 -07:00
Colin 52c2b5be5a Render the B/E fields in a way that's a little more insightful 2020-07-12 21:52:20 -07:00
Colin 2174113e7d Fix the inverted sign so that the energy looks reasonable now 2020-07-12 21:35:40 -07:00
Colin 0ea06af0b0 Add a way to render the state
Note that this has exposed some scaling error that needs to be fixed.
2020-07-12 21:17:15 -07:00
Colin ccd7b45fc8 Implement time stepping of both the B and E field 2020-07-12 20:51:28 -07:00
Colin 5e237800b4 Initial commit 2020-07-12 19:14:13 -07:00