

N1 = (nodecount ) + ( ( i- 1 ) * radialnodes ) + ( j+ 1 ) N2 = (gridnodecount^ 2 ) + ( ( i- 1 ) * radialnodes ) + ( j+ 1 ) N1 = (innerchargenodes^ 2 ) + ( ( i- 1 ) * radialnodes ) + ( j+ 1 ) N2 = (gridnodecount^ 2 ) + (innerchargenodes ) + i + 1 Įnd % REMAINING ELEMENTS for i = 1:outerchargenodes - 1 Įlenum = (innerchargeelms^ 2 ) + ( ( i- 1 ) * circumferential ) + j N1 = (gridnodecount^ 2 ) + (innerchargenodes ) + i Newelend = (innerchargeelms^ 2 )- (innerchargeelms- 1 ) Įnd % ELEMENTS ALONG RHS OF EXPLOSIVE GRID N4 = ( ( i - 1 ) * gridnodecount ) + j + 1 + gridelecount įprintf (fp, '%8s%8s', num2str (elenum ), num2str ( 1 ) ) įprintf (fp, '%8s%8s%8s%8s', num2str (n1 ), num2str (n2 ), num2str (n3 ), num2str (n4 ) ) Įnd end % ELEMENTS ALONG TOP ROW OF EXPLOSIVE GRID N2 = ( ( i - 1 ) * gridnodecount ) + j + 1 N1 = ( ( i - 1 ) * gridnodecount ) + j + 2 + gridelecount % ELEMENTS IN MAIN GRID OF EXPLOSIVE for i = 1:gridelecount Įlenum = ( (gridelecount * i ) + j - gridelecount )

Theta = linspace ( pi/ 2, 0,radialnodes ) Įnd % ELEMENTS_ fprintf (fp, '*ELEMENT_SHELL\n' ) įprintf (fp, '$# eid pid n1 n2 n3 n4 n5 n6 n7 n8\n' ) % l = linspace(charge,airdomain,airdomainelms+1) L = logspace ( log10 (charge ), log10 (airdomain ),radial+ 1 ) % NODES_ for i = 1:nodecountįprintf (fp, '%8s', num2str (nodenum ) ) įprintf (fp, '%16s%16s', num2str (xloc ), num2str (yloc ) ) Totalchargeelms = ( (outerchargenodes- 1 )*circumferential ) + innerchargeelms^ 2 GridY = reshape (gridy,numel (gridy ), 1 ) GridX = reshape (gridx,numel (gridx ), 1 ) Yyos = linspace ( 0,innercharge,innerchargenodes ) ĭiagX = reshape (diagx,numel (diagx ), 1 ) ĭiagY = reshape (diagy,numel (diagy ), 1 ) Xxos = linspace ( 0,innercharge,innerchargenodes ) Xends = charge* ( cos ( ( pi/ 2 )-theta ) ) ĭiagx ( i, 1:outerchargenodes ) = linspace (xos ( i ),xends ( i ),outerchargenodes ) ĭiagy ( i, 1:outerchargenodes ) = linspace (yos ( i ),yends ( i ),outerchargenodes ) Theta = linspace ( 0, pi/ 2,radialnodes ) Xos ( 1:innerchargenodes ) = linspace ( 0,innercharge,innerchargenodes ) Xos = innercharge* ones (radialnodes, 1 )

Outerchargenodes = round ( ( (charge-innercharge )/innercharge )*innerchargenodes ) Ĭhargenodes = innerchargenodes + outerchargenodes Innerchargeelms = circumferential / 2 %elements in innercharge %hypotenuse of square mesh of charge = half radius of charge Innercharge = sqrt ( (innerchargediag^ 2 )/ 2 ) If A~= 2 disp ( 'Circumferential elements must be even' ) Radial = input ( 'Enter number of elements along radius of air domain: ' ) Ĭircumferential = input ( 'Enter number of circumferential elements (must be even): ' ) Rigby %=% clear clc % INPUTS % User defined mesh controlsĬharge = input ( 'Enter charge radius (m): ' ) Īirdomain = input ( 'Enter domain length (m): ' ) %MeshGen.m %=% % MatLab script to generate LS-DYNA mesh file for a radially symetric mesh % for explosive (part 1) and air (part 2).
