Skip to content
Snippets Groups Projects
imasget_circuit.m 4.3 KiB
Newer Older
function [ids_struct_out] =  imasget_circuit(shot, ids_structures)

mdsopen(shot)
%% Get power supply/coils names for each circuit.
[coil_names2ids, power_supply_names2ids, circuit_names2ids, mds_paths2ids, ~] =  pf_active_definition();
% Get dimension
ncircuits2ids = numel(circuit_names2ids);

ids_struct_out(1:ncircuits2ids) = ids_structures.pf_active.circuit(1);
for ii=1:ncircuits2ids
    
    tmpdata = tdi(mds_paths2ids{ii});
    ids_struct_out{ii}.current.data = tmpdata.data;
    ids_struct_out{ii}.current.time = tmpdata.dim{1};
    
    
    %ids_struct_out{ii}.connection = 
    
    
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

% 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


function connection = create_connection_matrix()


end