function xprime=multicomAE_lv(t,X) 
% sample usage:   [t,x]=ode15s('multicomA_lv',[0 20000],0.5*ones(1,NC*NT));[used SS values];
% keep record of results: lengthx=size(x); Xinit=x(lengthx(1),:)';

% multicomA_lv - Subroutine for simulation with LV-configuration.
%           It calls the model multicomA, and 
%           includes control of condenser and reboiler level 
%           using two P-controllers with the LV-configuration. 
%
%           Inputs are reflux (LT) and boilup (VB). Disturbances
%           are feedrate and feed composition. These are set by directly
%           altering 'multicomA_lv.m'. Outputs are liquid compositions 
%           for light and intermediate components and
%           liquid hold up for stages 1 through NT, given in x. 

% Number of stages in the column
NT=32;
%Number of component
NC=5;
% Inputs and disturbances
%LT=71.46;                         % Reflux kmol/min
LT=63.5;
VB=88.62;                        % Boilup kmol/min
F=75.64;                          % Feedrate kmol/min
qF=0.93;                        % Feed liquid fraction
zF=[0.40570 0.35375 0.05642 0.1134 0.07073];% Feed compositions for component A to component NC (CO2+C1+C2,C3,iC4,nC4,C5+)
%% P-Controllers for control of reboiler and condenser hold up.
%%
KcB=0.05;  KcD=0.05;                     % controller gains
MDs=226; MBs=121;                   % Nominal holdups kmol
Ds=30.32; Bs=45.32;                  % Nominal flows % kmol/min
MB=X((NC-1)*NT+1);  MD=X(NC*NT);     % Actual reboiler and condenser holdup Kmol
D=Ds+(MD-MDs)*KcD;                   % Distillate flow Kmol/min
B=Bs+(MB-MBs)*KcB;                   % Bottoms flow  Kmol/min   
% Store all inputs and disturbances
U(1)=LT; U(2)=VB; U(3)=D; U(4)=B; U(5)=F; U(6)=qF; A=zF; U=[U A];

xprime=multicomAE_mat(t,X,U);

