From 9a539d150937918019c4c764a4c79f4978ea1117 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Tue, 5 Feb 2019 20:03:43 -0500 Subject: WIP: Add B field function --- test.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'test.cpp') diff --git a/test.cpp b/test.cpp index f9d2cdf..e70ff9f 100644 --- a/test.cpp +++ b/test.cpp @@ -1,9 +1,10 @@ #include -#include #include +#include +#include #include #include -#include +#include #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 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) -- cgit v1.1