Skip to content
Snippets Groups Projects
Commit 99aeab20 authored by Francesco Carpanese's avatar Francesco Carpanese
Browse files

definition the connection matrix ongoing

git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@11386 d63d8f72-b253-0410-a779-e742ad2e26cf
parent 041e82c7
No related branches found
No related tags found
No related merge requests found
...@@ -2,149 +2,36 @@ function [ids_struct_out] = tcv_get_ids_circuit(shot, ids_structures) ...@@ -2,149 +2,36 @@ function [ids_struct_out] = tcv_get_ids_circuit(shot, ids_structures)
mdsopen(shot) mdsopen(shot)
%% Get power supply/coils names for each circuit. %% Get power supply/coils names for each circuit.
[coil_names2ids, power_supply_names2ids, circuit_names2ids, mds_paths2ids, ~] = tcv_ids_pf_active_definition(); [pf_def] = tcv_ids_pf_active_definition();
% Get dimension % Get dimension
ncircuits2ids = numel(circuit_names2ids); ntotcircuits2ids = numel(circuit_names2ids);
ntotpowersupply = numel(power_supply_names2ids);
ntotcoils = numel([coil_names2ids{1:end}]);
ncoilpercircuit = zeros(1,ntotcircuits2ids);
for ii=1:ntotcircuits2ids
ncoilpercircuit(ii) = numel(coil_names2ids{ii});
end
% Each circuit has only 1 power supply, number of elements per circuit =
% number of nodes per circuit= number of coils per circuit + 1;
nnodespercircuit = ncoilpercircuit + 1;
ntotelements = sum(nnodespercircuit);
% Since all the coils are connected in series it d
% Preallocate memory and get data % Preallocate memory and get data
ids_struct_out(1:ncircuits2ids) = ids_structures; ids_struct_out(1:ntotcircuits2ids) = ids_structures;
for ii=1:ncircuits2ids for ii=1:ntotcircuits2ids
tmpdata = tdi(mds_paths2ids{ii}); tmpdata = tdi(mds_paths2ids{ii});
ids_struct_out{ii}.current.data = tmpdata.data; ids_struct_out{ii}.current.data = tmpdata.data;
ids_struct_out{ii}.current.time = tmpdata.dim{1}; ids_struct_out{ii}.current.time = tmpdata.dim{1};
ids_struct_out{ii}.connection = zeros(nnodespercircuit(ii),2*ntotelements);
%ids_struct_out{ii}.connection = % TODO
end
%%
%{
% 19 circuits + TF (19 rectifiers power supplies) + FPS
% Same order as power supplies
% nnodes: Number of nodes used to describe each the circuits.
% If circuit is series connected then nnodes = (ncoils + npowersupply)
% All circuit are series connected in TCV and has only one power supply
% therefore for a given circuit nnode = ncoils +1;
nnodes = [2,7,repmat(2,1,16),7,4];
value = nnodes;
npfs=length(namepfs); % Number of power supplies
npfc=length(namepfc); % Number of coils
ncomponents = npfs + npfc; % 20 supplies + 32 coils = 52 components
value = zeros(ncircuits,max(nnodes),2*ncomponents); % [20 x 7 x 104]
% Create varibales with indices
for l=1:npfs
eval(sprintf('s%sin=2*%d-1;',namepfs{l},l));
eval(sprintf('s%sout=2*%d;',namepfs{l},l));
end
for l=1:npfc
eval(sprintf('c%sin=2*npfs+2*%d-1;',namepfc{l},l));
eval(sprintf('c%sout=2*npfs+2*%d;',namepfc{l},l));
end end
% OH1
icircuit=1;
value(icircuit,1,[sOH_001out,cA_001in]) = 1;
value(icircuit,2,[cA_001out,sOH_001in]) = 1;
% OH2
icircuit=2;
value(icircuit,1,[sOH_002out,cB_001in]) = 1;
value(icircuit,2,[cB_001out, cC_001in]) = 1;
value(icircuit,3,[cC_001out, cD_001in]) = 1;
value(icircuit,4,[cD_001out, cD_002in]) = 1;
value(icircuit,5,[cD_002out, cC_002in]) = 1;
value(icircuit,6,[cC_002out, cB_002in]) = 1;
value(icircuit,7,[cB_002out,sOH_002in]) = 1;
% E_001
icircuit=3;
value(icircuit,1,[sE_001out,cE_001in]) = 1;
value(icircuit,2,[cE_001out,sE_001in]) = 1;
% E_002
icircuit=4;
value(icircuit,1,[sE_002out,cE_002in]) = 1;
value(icircuit,2,[cE_002out,sE_002in]) = 1;
% E_003
icircuit=5;
value(icircuit,1,[sE_003out,cE_003in]) = 1;
value(icircuit,2,[cE_003out,sE_003in]) = 1;
% E_004
icircuit=6;
value(icircuit,1,[sE_004out,cE_004in]) = 1;
value(icircuit,2,[cE_004out,sE_004in]) = 1;
% E_005
icircuit=7;
value(icircuit,1,[sE_005out,cE_005in]) = 1;
value(icircuit,2,[cE_005out,sE_005in]) = 1;
% E_006
icircuit=8;
value(icircuit,1,[sE_006out,cE_006in]) = 1;
value(icircuit,2,[cE_006out,sE_006in]) = 1;
% E_007
icircuit=9;
value(icircuit,1,[sE_007out,cE_007in]) = 1;
value(icircuit,2,[cE_007out,sE_007in]) = 1;
% E_008
icircuit=10;
value(icircuit,1,[sE_008out,cE_008in]) = 1;
value(icircuit,2,[cE_008out,sE_008in]) = 1;
% F_001
icircuit=11;
value(icircuit,1,[sF_001out,cF_001in]) = 1;
value(icircuit,2,[cF_001out,sF_001in]) = 1;
% F_002
icircuit=12;
value(icircuit,1,[sF_002out,cF_002in]) = 1;
value(icircuit,2,[cF_002out,sF_002in]) = 1;
% F_003
icircuit=13;
value(icircuit,1,[sF_003out,cF_003in]) = 1;
value(icircuit,2,[cF_003out,sF_003in]) = 1;
% F_004
icircuit=14;
value(icircuit,1,[sF_004out,cF_004in]) = 1;
value(icircuit,2,[cF_004out,sF_004in]) = 1;
% F_005
icircuit=15;
value(icircuit,1,[sF_005out,cF_005in]) = 1;
value(icircuit,2,[cF_005out,sF_005in]) = 1;
% F_006
icircuit=16;
value(icircuit,1,[sF_006out,cF_006in]) = 1;
value(icircuit,2,[cF_006out,sF_006in]) = 1;
% F_007
icircuit=17;
value(icircuit,1,[sF_007out,cF_007in]) = 1;
value(icircuit,2,[cF_007out,sF_007in]) = 1;
% F_008
icircuit=18;
value(icircuit,1,[sF_008out,cF_008in]) = 1;
value(icircuit,2,[cF_008out,sF_008in]) = 1;
% G_001/FPS
icircuit=19;
value(icircuit,1,[sG_001out, cG_001in]) = 1;
value(icircuit,2,[cG_001out,cG_002in]) = 1;
value(icircuit,3,[cG_002out,cG_003in]) = 1;
value(icircuit,4,[cG_003out,cG_004out])= 1; % Lower coils connected in the
value(icircuit,5,[cG_004in,cG_005out]) = 1; % opposite direction
value(icircuit,6,[cG_005in,cG_006out]) = 1;
value(icircuit,7,[cG_006in, sG_001in]) = 1;
% BCOIL
icircuit=20;
value(icircuit,1,[sBCOILout, cT_001in]) = 1;
value(icircuit,2,[cT_001out, cT_002in]) = 1;
value(icircuit,3,[cT_002out,cT_003out]) = 1; % T_003 connected in the opposite
value(icircuit,4,[cT_003in, sBCOILin]) = 1; % direction!
%}
end end
function connection = create_connection_matrix()
end
...@@ -16,7 +16,10 @@ function [ids_struct_out] = tcv_get_ids_coil(shot, ids_structures) ...@@ -16,7 +16,10 @@ function [ids_struct_out] = tcv_get_ids_coil(shot, ids_structures)
mdsopen(shot) mdsopen(shot)
%% Get power supply/coils names for each circuit. %% Get power supply/coils names for each circuit.
[coil_names2ids, ~, ~, mds_paths2ids, ~] = tcv_ids_pf_active_definition(); [pf_def] = tcv_ids_pf_active_definition();
coil_names2ids = pf_def.coil_names;
mds_paths2ids = pf_def.mds_paths;
ncircuits2ids = numel(coil_names2ids); ncircuits2ids = numel(coil_names2ids);
%% Get geometrical data from the static tree %% Get geometrical data from the static tree
......
function [coil_names, power_supply_names, circuit_names, mds_paths, combined_structure] = tcv_ids_pf_active_definition() function [ combined_structure] = tcv_ids_pf_active_definition()
% All circuits are connected in series and has only 1 power supply, so they % All circuits are connected in series and has only 1 power supply, so they
% share the same current. % share the same current.
coil_names = {... % {Coil name}, [connection side identifier]
{'A_001'}; ... % Circuit 1 coil_names_and_current_sign = {...
{'B_001', 'B_002', 'C_001', 'C_002', 'D_001', 'D_002'}; ... % Circuit 2 {'A_001'}, [1]; ... % Circuit 1
{'E_001'}; ... % Circuit 3 {'B_001', 'B_002', 'C_001', 'C_002', 'D_001', 'D_002'}, [1, 1, 1, 1, 1, 1]; ... % Circuit 2
{'E_002'}; ... % Circuit 4 {'E_001'}, [1]; ... % Circuit 3
{'E_003'}; ... % Circuit 5 {'E_002'}, [1]; ... % Circuit 4
{'E_004'}; ... % Circuit 6 {'E_003'}, [1]; ... % Circuit 5
{'E_005'}; ... % Circuit 7 {'E_004'}, [1]; ... % Circuit 6
{'E_006'}; ... % Circuit 8 {'E_005'}, [1]; ... % Circuit 7
{'E_007'}; ... % Circuit 9 {'E_006'}, [1]; ... % Circuit 8
{'E_008'}; ... % Circuit 10 {'E_007'}, [1]; ... % Circuit 9
{'F_001'}; ... % Circuit 11 {'E_008'}, [1]; ... % Circuit 10
{'F_002'}; ... % Circuit 12 {'F_001'}, [1]; ... % Circuit 11
{'F_003'}; ... % Circuit 13 {'F_002'}, [1]; ... % Circuit 12
{'F_004'}; ... % Circuit 14 {'F_003'}, [1]; ... % Circuit 13
{'F_005'}; ... % Circuit 15 {'F_004'}, [1]; ... % Circuit 14
{'F_006'}; ... % Circuit 16 {'F_005'}, [1]; ... % Circuit 15
{'F_007'}; ... % Circuit 17 {'F_006'}, [1]; ... % Circuit 16
{'F_008'}; ... % Circuit 18 {'F_007'}, [1]; ... % Circuit 17
{'G_001', 'G_002', 'G_003', 'G_004', 'G_005', 'G_006'}; ... % Circuit 19 {'F_008'}, [1]; ... % Circuit 18
{'T_001', 'T_002', 'T_003'}; ...% Circuit 20 {'G_001', 'G_002', 'G_003', 'G_004', 'G_005', 'G_006'}, [1,1,1,1,1,1]; ... % Circuit 19
}; {'T_001', 'T_002', 'T_003'}, [1,1,1]; ...% Circuit 20
power_supply_names = {...
'OH1';... % Circuit 1
'OH2';... % Circuit 2
'E1';...% Circuit 3
'E2';...% Circuit 4
'E3';... % Circuit 5
'E4';... % Circuit 6
'E5';... % Circuit 7
'E6';... % Circuit 8
'E7';... % Circuit 9
'E8';... % Circuit 10
'F1';... % Circuit 11
'F2';... % Circuit 12
'F3';... % Circuit 13
'F4';... % Circuit 14
'F5';... % Circuit 15
'F6';... % Circuit 16
'F7';... % Circuit 17
'F8';... % Circuit 18
'FPS';...% Circuit 19
'T';... % Circuit 20
}; };
power_supply_names_and_current_sign = {...
{'OH1'}, [1];... % Circuit 1
{'OH2'}, [1];... % Circuit 2
{'E1'}, [1];...% Circuit 3
{'E2'}, [1];...% Circuit 4
{'E3'}, [1];... % Circuit 5
{'E4'}, [1];... % Circuit 6
{'E5'}, [1];... % Circuit 7
{'E6'}, [1];... % Circuit 8
{'E7'}, [1];... % Circuit 9
{'E8'}, [1];... % Circuit 10
{'F1'}, [1];... % Circuit 11
{'F2'}, [1];... % Circuit 12
{'F3'}, [1];... % Circuit 13
{'F4'}, [1];... % Circuit 14
{'F5'}, [1];... % Circuit 15
{'F6'}, [1];... % Circuit 16
{'F7'}, [1];... % Circuit 17
{'F8'}, [1];... % Circuit 18
{'FPS'}, [1];...% Circuit 19
{'T'}, [1];... % Circuit 20
};
coil_names = {coil_names_and_current_sign{:,1}}';
coil_current_sign = {coil_names_and_current_sign{:,2}};
power_supply_names = {power_supply_names_and_current_sign{:,1}}';
power_supply_current_sign = {power_supply_names_and_current_sign{:,2}};
circuit_names = power_supply_names; circuit_names = power_supply_names;
% mds path to be called with gdat % mds path to be called with gdat
...@@ -75,15 +82,40 @@ mds_paths = {... ...@@ -75,15 +82,40 @@ mds_paths = {...
}; };
% conbined_structure(icircuit). % Combined structure
% .coil_names
% .power_supply_name
% .mds_path
combined_structure = struct(); combined_structure = struct();
for ii=1:numel(coil_names) combined_structure.coil_names = coil_names;
combined_structure(ii).coil_names = coil_names{ii}; combined_structure.power_supply_names = power_supply_names;
combined_structure(ii).power_supply_name = power_supply_names{ii}; combined_structure.mds_paths = mds_paths;
combined_structure(ii).mds_path = mds_paths{ii}; combined_structure.coil_current_signs = coil_current_sign;
combined_structure.power_supply_current_signs = power_supply_current_sign;
combined_structure.circuit_names = circuit_names;
combined_structure = get_circuiting(combined_struct); %Add circuiting information
end
function circuit_struct = get_circuiting(circuit_struct)
% Get dimension of the circuits
circuit_struct.ntotcircuits = numel(circuit_struct.circuit_names);
circuit_struct.ntotpowersupply = numel(circuit_struct.power_supply_names);
circuit_struct.ntotcoils = numel([circuit_struct.coil_names{1:end}]);
circuit_struct.ncoilpercircuit = zeros(1,ntotcircuits);
for ii=1:ntotcircuits
circuit_struct.ncoilpercircuit(ii) = numel(circuit_struct.coil_names{ii});
end end
% Each circuit has only 1 power supply, number of elements per circuit =
% number of nodes per circuit= number of coils per circuit + 1;
circuit_struct.nnodespercircuit = circuit_struct.ncoilpercircuit + 1;
circuit_struct.ntotelements = sum(circuit_struct.nnodespercircuit);
connection_matrix = struct([]);
for ii=1:circuit_struct.ntotcircuits
circuit_connetion_matrix = zeros(circuit_struct.nnodespercircuit(ii), 2*circuit_struct.ntotelements);
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment