Skip to content
Snippets Groups Projects
Commit f97e953f authored by Francesco Carpanese's avatar Francesco Carpanese Committed by Olivier Sauter
Browse files

Added the Vertical stability coils. Correct the circuit connection

parent 5b7ddab3
No related branches found
No related tags found
1 merge request!47Fix circuit corsica
function IDS_out = complete_IDS_CORSICA(IDS_in,varargin) %function IDS_out = complete_IDS_CORSICA(IDS_in,varargin)
% %
% %
% %
doread = 0; doread = 1;
dosave = 0; dosave = 1;
if doread if doread
% $$$ clear all % $$$ clear all
...@@ -15,7 +17,7 @@ if doread ...@@ -15,7 +17,7 @@ if doread
data_path_in = '/NoTivoli/carpanes/LIU_RAP_ITER/CORSICA_ids/CORSICA_130510.mat'; data_path_in = '/NoTivoli/carpanes/LIU_RAP_ITER/CORSICA_ids/CORSICA_130510.mat';
%path_IDS = '/NoTivoli/carpanes/LIU_RAP_ITER/CORSICA_ids/CORSICA_130506.mat'; %path_IDS = '/NoTivoli/carpanes/LIU_RAP_ITER/CORSICA_ids/CORSICA_130506.mat';
data_path_out = '/NoTivoli/carpanes/LIU_RAP_ITER/CORSICA_ids/CORSICA_130510_extended_COCOS17.mat'; data_path_out = '/NoTivoli/carpanes/LIU_RAP_ITER/CORSICA_ids/CORSICA_130510_extended_COCOS17_trial.mat';
% Load the IDS_in file % Load the IDS_in file
IDS_out = load(data_path_in); IDS_out = load(data_path_in);
...@@ -43,7 +45,6 @@ L = liuc(Pliuqe,G); ...@@ -43,7 +45,6 @@ L = liuc(Pliuqe,G);
%% -------------------- ADD the missing information on the existing IDS_out CORSICA ----------------------- %% -------------------- ADD the missing information on the existing IDS_out CORSICA -----------------------
%% Consider each circuit to be composed by only one coil %% Consider each circuit to be composed by only one coil
% TODO NEED TO ADD THE VERTICAL STABILIZATION COIL STILL
tmp = data_coils(); tmp = data_coils();
for ii = 1:numel(tmp.names) for ii = 1:numel(tmp.names)
for jj=1:numel(IDS_out.pf_active.coil) for jj=1:numel(IDS_out.pf_active.coil)
...@@ -61,30 +62,33 @@ for ii = 1:numel(tmp.names) ...@@ -61,30 +62,33 @@ for ii = 1:numel(tmp.names)
end end
%% Add the data to the circuit %% Add the data to the circuit
tmp = data_circuits();
Ncircuits = size(tmp,1);
Ncoils = numel(IDS_out.pf_active.coil); Ncoils = numel(IDS_out.pf_active.coil);
for ii=1:Ncoils-2 for ii=1:Ncircuits
IDS_out.pf_active.circuit{ii}.name = IDS_out.pf_active.coil{ii}.name; IDS_out.pf_active.circuit{ii}.name = tmp{ii,1}{1};
IDS_out.pf_active.supply{ii}.name = IDS_out.pf_active.coil{ii}.name; IDS_out.pf_active.supply{ii}.name = tmp{ii,1}{1};
IDS_out.pf_active.circuit{ii}.current.data = IDS_out.pf_active.coil{ii}.current.data/IDS_out.pf_active.coil{ii}.element{1}.turns_with_sign; % Find index of the coils belonging to ii circuit
IDS_out.pf_active.circuit{ii}.current.time = IDS_out.pf_active.coil{ii}.current.time; index_coil = [];
IDS_out.pf_active.circuit{ii}.connections = zeros(2, 4*Ncoils); for jj =1:Ncoils
IDS_out.pf_active.circuit{ii}.connections(1, 2*ii) =1; if any(strcmp(tmp{ii,2}, IDS_out.pf_active.coil{jj}.name))
IDS_out.pf_active.circuit{ii}.connections(2, 2*ii-1) = 1; index_coil = [index_coil jj];
IDS_out.pf_active.circuit{ii}.connections(1, 2*Ncoils + 2*ii-1) =1; end
IDS_out.pf_active.circuit{ii}.connections(2, 2*Ncoils + 2*ii) =1; end
end % Add the current data to the circuit from the data on the coils.
% Vertical stabilization coil needs to be added still % The coils must share the same current in the circuit so just take the first one.
for ii=(Ncoils-1):Ncoils IDS_out.pf_active.circuit{ii}.current.data = IDS_out.pf_active.coil{index_coil(1)}.current.data/IDS_out.pf_active.coil{index_coil(1)}.element{1}.turns_with_sign;
IDS_out.pf_active.circuit{ii}.name = IDS_out.pf_active.coil{ii}.name; IDS_out.pf_active.circuit{ii}.current.time = IDS_out.pf_active.coil{index_coil(1)}.current.time;
IDS_out.pf_active.supply{ii}.name = IDS_out.pf_active.coil{ii}.name;
IDS_out.pf_active.circuit{ii}.name = IDS_out.pf_active.coil{ii}.name; IDS_out.pf_active.circuit{ii}.connections = zeros(2*numel(index_coil) -1 , 2*Ncircuits + 2*Ncoils);
IDS_out.pf_active.circuit{ii}.current.data = zeros(LXC.nt, 1); for jj = 1:numel(index_coil)
IDS_out.pf_active.circuit{ii}.current.time = LXC.t; IDS_out.pf_active.circuit{ii}.connections( jj , 2*Ncircuits + 2*(index_coil(jj)-1) +1) = 1;
IDS_out.pf_active.circuit{ii}.connections = zeros(2, 4*Ncoils); IDS_out.pf_active.circuit{ii}.connections( jj +1 , 2*Ncircuits + 2*(index_coil(jj)-1) +2) = 1;
IDS_out.pf_active.circuit{ii}.connections(1, 2*ii) =1; end
IDS_out.pf_active.circuit{ii}.connections(2, 2*ii-1) = 1;
IDS_out.pf_active.circuit{ii}.connections(1, 2*Ncoils + 2*ii-1) =1; % Add the connection to the power supply
IDS_out.pf_active.circuit{ii}.connections(2, 2*Ncoils + 2*ii) =1; IDS_out.pf_active.circuit{ii}.connections(1, 2*ii -1) = 1;
IDS_out.pf_active.circuit{ii}.connections(end, 2*ii ) =1;
end end
%% Limiter description %% Limiter description
...@@ -92,7 +96,6 @@ tmp = data_limiter(); ...@@ -92,7 +96,6 @@ tmp = data_limiter();
IDS_out.wall.description_2d{1}.limiter.unit{1}.outline.r = tmp.r; IDS_out.wall.description_2d{1}.limiter.unit{1}.outline.r = tmp.r;
IDS_out.wall.description_2d{1}.limiter.unit{1}.outline.z = tmp.z; IDS_out.wall.description_2d{1}.limiter.unit{1}.outline.z = tmp.z;
%% Vessel description %% Vessel description
% Understand what I need to do for the double layer vessel % Understand what I need to do for the double layer vessel
...@@ -195,7 +198,7 @@ IDS_out.magnetics.method{1}.diamagnetic_flux.data = -LXC.Ft; ...@@ -195,7 +198,7 @@ IDS_out.magnetics.method{1}.diamagnetic_flux.data = -LXC.Ft;
IDS_out.magnetics.method{1}.diamagnetic_flux.time = LXC.t; IDS_out.magnetics.method{1}.diamagnetic_flux.time = LXC.t;
%% rBt %% rBt
%IDS_out.tf.time = LXC.t; IDS_out.tf.time = LXC.t;
IDS_out.tf.b_field_tor_vacuum_r.time = LXC.t; IDS_out.tf.b_field_tor_vacuum_r.time = LXC.t;
IDS_out.tf.b_field_tor_vacuum_r.data = LXC.rBt; IDS_out.tf.b_field_tor_vacuum_r.data = LXC.rBt;
......
function data_struct = data_circuits()
% Describe which coils belongs to which circuit
% Information not available in the xls file.
% CREATE data consistent with this
% data structure is { {name circuit} , {coils in the circuit}}
data_struct = {
{'CS1'}, {'CS1U','CS1L'}, ;
{'CS2U'}, {'CS2U'};
{'CS2L'}, {'CS2L'};
{'CS3U'}, {'CS3U'};
{'CS3L'}, {'CS3L'};
{'PF1'}, {'PF1'};
{'PF2'}, {'PF2'};
{'PF3'}, {'PF3'};
{'PF4'}, {'PF4'};
{'PF5'}, {'PF5'};
{'PF6'}, {'PF6'};
{'VS'}, {'VSU', 'VSL'};
};
end
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment