aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranklin Wei <me@fwei.tk>2019-02-05 20:03:43 -0500
committerFranklin Wei <me@fwei.tk>2019-02-05 20:03:43 -0500
commit9a539d150937918019c4c764a4c79f4978ea1117 (patch)
treec0ec1b4078782677fc1fb4dbf09a7581f3896d64
parentb3939d25564c771902ce00c1a08f551a025e773c (diff)
downloadfieldviz-9a539d150937918019c4c764a4c79f4978ea1117.zip
fieldviz-9a539d150937918019c4c764a4c79f4978ea1117.tar.gz
fieldviz-9a539d150937918019c4c764a4c79f4978ea1117.tar.bz2
fieldviz-9a539d150937918019c4c764a4c79f4978ea1117.tar.xz
WIP: Add B field function
-rw-r--r--test.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/test.cpp b/test.cpp
index f9d2cdf..e70ff9f 100644
--- a/test.cpp
+++ b/test.cpp
@@ -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)