function xprime=multicomAS_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=92;
%Number of component
NC=5;
% Inputs and disturbances
%LT=25.901199;                        % Reflux kmol/min
VB=34.5;                        % Boilup kmol/min
LT=32;                        % Reflux kmol/min
F=8.1;                          % Feedrate kmol/min
qF=1;                        % Feed liquid fraction
zF=[0.00 0.00300052 0.31695238  0.67604645 0.00400065];% 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.02;                     % controller gains
MDs=88.1; MBs=66.4;                   % Nominal holdups kmol
Ds=2.5; Bs=5.5;                  % 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=multicomAS_mat(t,X,U);

