function values = uniaxial_t2_zero_fig_mu() % performs a uniaxial extension of a material element based on % the Boal and Discher constitutive equation. A range of lamda1's are % defined and lamda2 is calculated based on zero tau2. Then tau 1 is % calculated for the paired lam1, lam2. The % returned values are a 3x51 array of lam2 and tau1 as functions of lamda1 % values = (lamda1, lam2, tau1) npts = 51; % % For setting up the figure, PROPStruct is a structure containing vectors % for some variables and scalars for others: PROPStruct = set_material_const_fig_mu(0); % PROPStruct{1} = CBETA; Has the same dimensions as LAMMAX % PROPStruct{2} = LAMMAX; A Vector with length determined in % set_material_const_fig % PROPStruct{3} = NMOLEC; A Vector with length determined in % set_material_const_fig % PROPStruct{4} = CALPHA; Same dimensions as LAMMAX % PROPStruct{5} = bovers0; Same dimensions as LAMMAX % PROPStruct{6} = rhozero; A scalar % PROPStruct{7} = s0; A scalar % Set up the arrays for multiple curves: different LAMMAX, different nmolec % Currently set for constant b/s0. filename = {'ResLam1.txt', 'ResLam2.txt', 'ResLam3.txt', 'ResLam4.txt', ... 'ResLam5.txt', 'ResLam6.txt', 'ResLam7.txt', 'ResLam8.txt', 'ResLam9.txt', 'ResLam10.txt'}; PROPS(6) = PROPStruct{6}; PROPS(7) = PROPStruct{7}; nlams = length(PROPStruct{2}); ndirect = length(PROPStruct{3}); LAMMAXvect = PROPStruct{2}; NMOLECvect = PROPStruct{3}; CBETAvect = PROPStruct{1}; CALPHAvect = PROPStruct{4}; bovers0vect = PROPStruct{5}; Res = zeros(npts,4*ndirect); for ilam = 1:nlams % Use these for low force region lammin = 1.0; lammax = 0.9.*LAMMAXvect(ilam); % Use these for high force region % lammin = 0.75.*LAMMAXvect(ilam); % lammax = 0.95.*LAMMAXvect(ilam); lam1 = linspace(lammin,lammax,npts); lam2 = zeros(npts,1); tau1 = zeros(npts,1); mu = zeros(npts,1); PROPS(1) = CBETAvect(ilam); PROPS(2) = LAMMAXvect(ilam); PROPS(4) = CALPHAvect(ilam); PROPS(5) = bovers0vect(ilam); Hdr1 = ''; Hdr2 = ''; Hdr3 = ''; Hdr4 = ''; Hdr5 = ''; for imol = 1:ndirect PROPS(3) = NMOLECvect(imol); for i = 1:npts % Use this statement for a pure shear extension lam2(i) = 1/lam1(i); % Use this statement for simple uniaxial loading (tau2 = 0): % lam2(i) = get_lamf_for_zero_TaufBD(lam1(i), PROPS); tau1(i) = taumBD(lam1(i), lam2(i),PROPS); mu(i) = mucalc(lam1(i),lam2(i),PROPS); % format shortG; % disp([num2str(lam1(i)),' ',num2str(lam2(i)),' ',num2str(tau1(i))]); end dat = [lam1' lam2 tau1 mu zeros(npts,1)]; colstart = imol*5 - 4; Res(:,colstart:imol*5)=dat; row1 = 'CBETA,Lammax,Nmolec,0,0,'; row2 = strcat(num2str(PROPS(1)), ',',num2str(PROPS(2)),',',num2str(PROPS(3)),',0,0,'); row3 = 'bovers0,rho0,s0,0,0,'; row4 = strcat(num2str(PROPS(5)), ',',num2str(PROPS(6)),',',num2str(PROPS(7)),',0,0,'); row5 = 'lam1, lam2, tau1,mu, ,'; Hdr1 = strcat(Hdr1,row1); Hdr2 = strcat(Hdr2,row2); Hdr3 = strcat(Hdr3,row3); Hdr4 = strcat(Hdr4,row4); Hdr5 = strcat(Hdr5,row5); end FileID = fopen(filename{ilam},'w'); fprintf(FileID,'%s\n %s\n %s\n %s\n \n %s\n',Hdr1, Hdr2,Hdr3, Hdr4, Hdr5); fclose(FileID); dlmwrite(filename{ilam}, Res, '-append'); end values = 1;