diff --git a/IDS/G_ITER_generator.m b/IDS/G_ITER_generator.m
new file mode 100644
index 0000000000000000000000000000000000000000..7ddd8ff96448e49990e4357c2a5bd4bbb444601c
--- /dev/null
+++ b/IDS/G_ITER_generator.m
@@ -0,0 +1,61 @@
+function G = G_ITER_generator()
+G = struct();
+
+tmp = data_Bm();
+
+G.rm = tmp.r;
+G.zm = tmp.z;
+G.am = tmp.am;
+G.nm = numel(G.zm);
+
+tmp = data_Ff();
+G.rf = tmp.r;
+G.zf = tmp.z;
+G.nf = numel(G.zf);
+
+tmp = data_limiter();
+G.rl  = tmp.r;
+G.zl = tmp.z;
+
+% TODO vessel is ready but will be added in a second moment
+G.rv = [];
+G.zv = [];
+
+% Point for the gaps
+tmp = data_rW();
+G.rW = tmp.r;
+G.zW = tmp.z;
+G.oW = tmp.oW;
+G.aW = tmp.aW;
+
+%% Coils
+tmp = data_coils();
+R = tmp.R;
+Z = tmp.Z;
+dR = tmp.dR;
+dZ = tmp.dZ;
+N = tmp.N;
+dima= tmp.names;
+
+%% Sort by CORSICA ordering for the structure liux
+% Not all che coils are used in this 
+% Matrix to be given to eval_trap
+vvtmp = [R';Z';dR';dZ'];
+% Sort for Corsica convention
+vv = zeros(size(vvtmp));
+sort_list = [3,4,2,5,1,6,7,8,9,10,11,12, 13, 14];
+for ii=1:numel(sort_list)
+    vv(:,ii) = vvtmp(:,sort_list(ii));
+end
+N = N(sort_list);
+% Compute the windings and connection matrix
+[rw,zw,Twa] = gen_filament(vv,N,2);
+G.dima = dima(sort_list);
+
+G.rw = rw;
+G.zw = zw;
+G.Twa = Twa;
+G.na = numel(R);
+
+
+end
\ No newline at end of file