diff options
| author | Franklin Wei <me@fwei.tk> | 2019-02-05 20:03:43 -0500 |
|---|---|---|
| committer | Franklin Wei <me@fwei.tk> | 2019-02-05 20:03:43 -0500 |
| commit | 9a539d150937918019c4c764a4c79f4978ea1117 (patch) | |
| tree | c0ec1b4078782677fc1fb4dbf09a7581f3896d64 | |
| parent | b3939d25564c771902ce00c1a08f551a025e773c (diff) | |
| download | fieldviz-9a539d150937918019c4c764a4c79f4978ea1117.zip fieldviz-9a539d150937918019c4c764a4c79f4978ea1117.tar.gz fieldviz-9a539d150937918019c4c764a4c79f4978ea1117.tar.bz2 fieldviz-9a539d150937918019c4c764a4c79f4978ea1117.tar.xz | |
WIP: Add B field function
| -rw-r--r-- | test.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
@@ -1,9 +1,10 @@ #include <cmath> -#include <iostream> #include <fstream> +#include <iostream> +#include <sstream> #include <sys/stat.h> #include <sys/types.h> -#include <sstream> +#include <vector> #include "vec3.h" #include "curve.h" @@ -34,7 +35,12 @@ vec3 dB(vec3 s, vec3 ds) //Arc loop(vec3(0, 0, 0), vec3(0, 1, 0), vec3(1, 0, 0), M_PI * 2); //Spiral loop(vec3(0, 0, 0), vec3(0, 1, 0), vec3(1, 0, 0), M_PI * 2 * 10, 1); //LineSegment loop(vec3(-.1, .1, 0), vec3(.1, .1, 0)); -Toroid loop; +struct Current { + double I; + Curve *c; +}; + +vector<Curve> currents; ostream *dump_ofs = NULL; @@ -58,6 +64,16 @@ void dump_path(ostream &out, const Curve *c) const scalar U0 = 4e-7 * M_PI; const scalar I = 1; +vec3 calc_Bfield(vec3 x) +{ + point = x; + + vec3 B = 0; + + for(int i = 0; i < currents.size(); i++) + B += currents[i].integrate(dB, 1e-1) * U0 * I; +} + void dump_field(scalar x0, scalar y0, scalar z0, scalar x1, scalar y1, scalar z1, scalar delta) { for(scalar z = z0; z <= z1; z += delta) |