SciCodePile/SciCode-Domain-Code
DATA1: Domain-Specific Code Dataset Dataset Overview DATA1 is a large-scale domain-specific code dataset focusing on code samples from interdisciplinary fields such as biology, chemistry, materials science, and related areas. The dataset is collected and organized from GitHub repositories, covering 178 different domain topics with over 1.1 billion lines of code. Dataset Statistics Total Datasets: 178 CSV files Total Data Size: ~115 GB Total Lines… See the full description on the dataset page: https://huggingface.co/datasets/SciCodePile/SciCode-Domain-Code.
42.4k
1"keyword","repo_name","file_path","file_extension","file_size","line_count","content","language"
2"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/Euler/EulerFR.m",".m","1526","85","function [u,v] = EulerFR( freqs )3 4tic5 6flclear fem7 8b = 1.e-3;9L = 4.e-2;10th = 1.e-3;11rho = 7850;12E = 2.0e11;13nu = 0.33;14blk = 1.e-2;15 16F = -1000 * th * blk;17M0 = blk*blk*th*rho;18I = b^3*th/12;19A = b*th;20 21% Geometry22gBeam=curve2([0,0],[0,L]);23 24% Analyzed geometry25clear c26c.objs={gBeam};27c.name={'Beam'};28c.tags={'gBeam'};29 30fem.draw=struct('c',c);31fem.geom=geomcsg(fem);32 33% Initialize mesh34fem.mesh=meshinit(fem, 'hauto',5);35 36% (Default values are not included)37 38% Application mode 139clear appl40appl.mode.class = 'SmeInPlaneEulerBeam';41appl.module = 'SME';42appl.gporder = 6;43appl.cporder = 1;44appl.assignsuffix = '_smeulip';45clear prop46prop.analysis='freq';47appl.prop = prop;48 49clear pnt50pnt.Fx = {0,F};51pnt.Fy = {0,F};52pnt.constrcond = {'free','norot'};53pnt.m = {0,M0};54pnt.ind = [2,1];55appl.pnt = pnt;56 57clear bnd58bnd.heightz = th;59bnd.Iyy = I;60bnd.A = A;61bnd.dampingtype = 'nodamping';62bnd.ind = [1];63appl.bnd = bnd;64 65fem.appl{1} = appl;66fem.frame = {'ref'};67fem.border = 1;68clear units;69units.basesystem = 'SI';70fem.units = units;71fem=multiphysics(fem);72fem.xmesh=meshextend(fem);73 74% Solve problem75fem.sol=femstatic(fem, 'solcomp',{'u','th','v'}, 'outcomp',{'u','th','v'}, ...76 'pname','freq_smeulip', 'plist',freqs, ...77 'oldcomp',{}, 'nonlin','off');78 79% Save current fem structure for restart purposes80fem0=fem;81 82solnums = 1:length(freqs);83u = postint(fem,'u', 'unit','m', 'dl',[1], 'edim',0, 'solnum',solnums);84v = postint(fem,'v', 'unit','m', 'dl',[1], 'edim',0, 'solnum',solnums);85toc86","MATLAB"
87"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/Euler/EulerMass.m",".m","1600","89","function [u,v] = EulerFR( freqs )88 89tic90 91flclear fem92 93b = 1.e-3;94L = 4.e-2;95th = 1.e-3;96rho = 7850;97E = 2.0e11;98nu = 0.33;99blk = 1.e-2;100l = 4.e-3;101d = 4.e-3;102 103F = -1000 * th * blk;104M0 = blk*blk*th*rho;105M1 = l*d*th*100*rho;106I = b^3*th/12;107A = b*th;108 109% Geometry110gBeam=curve2([0,0],[0,L]);111 112% Analyzed geometry113clear c114c.objs={gBeam};115c.name={'Beam'};116c.tags={'gBeam'};117 118fem.draw=struct('c',c);119fem.geom=geomcsg(fem);120 121% Initialize mesh122fem.mesh=meshinit(fem, 'hauto',5);123 124% (Default values are not included)125 126% Application mode 1127clear appl128appl.mode.class = 'SmeInPlaneEulerBeam';129appl.module = 'SME';130appl.gporder = 6;131appl.cporder = 1;132appl.assignsuffix = '_smeulip';133clear prop134prop.analysis='freq';135appl.prop = prop;136 137clear pnt138pnt.Fx = {0,F};139pnt.Fy = {0,F};140pnt.constrcond = {'free','norot'};141pnt.m = {M1,M0};142pnt.Jz = {M1*(d^2+l^2)/12,0};143pnt.ind = [2,1];144appl.pnt = pnt;145 146clear bnd147bnd.heightz = th;148bnd.Iyy = I;149bnd.A = A;150bnd.dampingtype = 'nodamping';151bnd.ind = [1];152appl.bnd = bnd;153 154fem.appl{1} = appl;155fem.frame = {'ref'};156fem.border = 1;157clear units;158units.basesystem = 'SI';159fem.units = units;160fem=multiphysics(fem);161fem.xmesh=meshextend(fem);162 163% Solve problem164fem.sol=femstatic(fem, 'solcomp',{'u','th','v'}, 'outcomp',{'u','th','v'}, ...165 'pname','freq_smeulip', 'plist',freqs, ...166 'oldcomp',{}, 'nonlin','off');167 168% Save current fem structure for restart purposes169fem0=fem;170 171solnums = 1:length(freqs);172u = postint(fem,'u', 'unit','m', 'dl',[1], 'edim',0, 'solnum',solnums);173v = postint(fem,'v', 'unit','m', 'dl',[1], 'edim',0, 'solnum',solnums);174toc175","MATLAB"
176"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/Theory/GetU.m",".m","757","38","function [u0,u1,M] = GetU( f )177 178Fin = -1000;179b = 5.e-4;180L = 4.e-2;181h = 1.e-3;182rho = 7850;183E = 2.0e11;184blk = 5.e-3;185omega = 2 * pi * f;186 187 188M0 = rho * blk^2 * h;189F = Fin * blk * h;190 191lambda = ( 48*pi^2 * rho / E / b^2 .* f.^2 ) .^ (1/4);192a = lambda*L;193 194s = sin(a);195sh = sinh(a);196c = cos(a);197ch = cosh(a);198 199M = M0 + rho*b*h ./ lambda .* (s.*ch+c.*sh)./(c.*ch+1);200u0 = F ./ M ./ omega.^2;201u1 = u0 / 2. / (c.*ch+1) .* ( (s.*ch+c.*sh).*s + (c.*ch+1-s.*sh).*c - (s.*ch+c.*sh).*sh + (c.*ch+1+s.*sh).*ch );202 203F1 = c.*ch+1-s.*sh;204F2 = c.*ch+1+s.*sh;205F3 = s.*ch+c.*sh;206 207uyL = lambda .* ( -F1.*s + F2.*sh + F3.*(c-ch) );208uyyL = lambda.^2 .* ( -F1.*c + F2.*ch + F3.*(-s-sh) );209uyyyL = lambda.^3 .* ( F1.*s + F2.*sh + F3.*(-c-ch) );210 211yc = s.*sh ./ lambda ./ F3;212u1 = yc;213","MATLAB"
214"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/Theory/GetZeros.m",".m","175","14","function [x0,idx] = GetZeros(x,y)215 216x0 = 0;217idx = 0;218n = length(y);219nz = 1;220for i=1:(n-1)221 if( y(i+1)*y(i) <= 0 )222 x0(nz) = x(i);223 idx(nz) = i;224 nz = nz+1;225 end226end227","MATLAB"
228"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/Theory/GetResFreq.m",".m","103","4","function [f] = GetResFreq( alpha, L, E, b, rho )229 230f = sqrt( (alpha/L)^4 * E * b^2 / 48 / pi^2 / rho );231","MATLAB"
232"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/Theory/BeamMassV.m",".m","1171","55","function [y,v] = BeamMassV( f )233% m = Mass on beam234% J = Moment of inertia of m235% d = distance from tip to cog of m236 237omega = 2 * pi * f;238Fin = 1000;239 240% Material Properties241rho = 7850;242rho2 = 100*7850;243E = 2.0e11;244 245% Dimensions246b = 1.e-3;247L = 4.e-2;248h = 1.e-3;249A = b*h;250I = b^3*h/12;251blk = 1.e-2;252y = 0:(L/100):L;253 254d = 5.e-4;255l = 2.e-3;256d0 = 0*d/2;257m = rho*d*l*h;258J = m*(d^2+l^2)/12;259 260M0 = rho * blk^2 * h;261F = Fin * blk * h;262lambda = ( rho * A / E / I * 4 * pi^2 .* f.^2 ) .^ (1/4);263 264% Constants265a = lambda*L;266b = m/rho/A/L;267k = J./m;268if( m == 0 )269 k = 0;270end271R1 = b .* a.^3 .* ( (k+d0.^2) / L^2 );272R2 = b .* a.^2 .* ( d0 / L );273 274s = sin(a);275sh = sinh(a);276c = cos(a);277ch = cosh(a);278 279F1 = 1 + c.*ch - s.*sh - 2*b.*a.*s.*ch - 2*R1.*c.*sh + (R1.*b.*a-R2.^2).*(1-c.*ch+s.*sh);280F2 = 1 + c.*ch + s.*sh + 2*b.*a.*c.*sh - 2*R1.*s.*ch + (R1.*b.*a-R2.^2).*(1-c.*ch-s.*sh);281F3 = (s.*ch+c.*sh).*(1-R1.*b.*a+R2.^2) + 2*( c.*ch.*b.*a - R1.*s.*sh - R2.*(s.*ch-c.*sh) );282D = 1 + c.*ch - b.*a.*(s.*ch-c.*sh) - R1.*( s.*ch + c.*sh - b.*a.*(1-c.*ch) ) - 2*R2.*s.*sh - R2.^2.*(1-c.*ch);283 284v = 1./(2*D) * ( F1*cos(lambda*y) + F2*cosh(lambda*y) + F3*(sin(lambda*y)-sinh(lambda*y)) );285 286","MATLAB"
287"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/Theory/GetUArray.m",".m","434","24","function [u0,M] = GetUArray( f, L, b )288 289Fin = -1000;290h = 1.e-3;291rho = 7850;292E = 2.0e11;293blk = 1.e-2;294omega = 2 * pi * f;295F = Fin * blk * h * length(b);296 297M = rho * blk^2 * h * length(b);298for i = 1:length(L)299 lambda = ( 48*pi^2 * rho / E / b(i)^2 .* f.^2 ) .^ (1/4);300 a = lambda*L(i);301 s = sin(a);302 sh = sinh(a);303 c = cos(a);304 ch = cosh(a);305M = M + rho*b(i)*h ./ lambda .* (s.*ch+c.*sh)./(c.*ch+1);306end307 308u0 = F ./ M ./ omega.^2;309 310","MATLAB"
311"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/Theory/BeamMass.m",".m","1507","65","function [u0,idx,M] = BeamMass( f )312% m = Mass on beam313% J = Moment of inertia of m314% d = distance from tip to cog of m315 316omega = 2 * pi * f;317Fin = 1000;318 319% Material Properties320rho = 7850;321rho2 = 7850;322E = 2.0e11;323 324% Dimensions325b = 5.e-4;326L = 4.e-2;327h = 1.e-3;328A = b*h;329I = b^3*h/12;330blk = 6.e-3;331 332d = 1.e-3;333l = 5.e-3;334d0 = d/2;335m = rho*d*l*h;336J = m*(d^2+l^2)/12;337 338M0 = rho * blk^2 * h;339F = Fin * blk * h;340lambda = ( rho * A / E / I * 4 * pi^2 .* f.^2 ) .^ (1/4);341 342% Constants343a = lambda*L;344b = m/rho/A/L;345k = J./m;346if( m == 0 )347 k = 0;348end349 350R1 = b .* a.^3 .* ( (k+d0.^2) / L^2 );351R2 = b .* a.^2 .* ( d0 / L );352s = sin(a);353sh = sinh(a);354c = cos(a);355ch = cosh(a);356 357F1 = 1 + c.*ch - s.*sh - 2*b.*a.*s.*ch - 2*R1.*c.*sh + (R1.*b.*a-R2.^2).*(1-c.*ch+s.*sh);358F2 = 1 + c.*ch + s.*sh + 2*b.*a.*c.*sh - 2*R1.*s.*ch + (R1.*b.*a-R2.^2).*(1-c.*ch-s.*sh);359F3 = (s.*ch+c.*sh).*(1-R1.*b.*a+R2.^2) + 2*( c.*ch.*b.*a - R1.*s.*sh - R2.*(s.*ch-c.*sh) );360D = 1 + c.*ch - b.*a.*(s.*ch-c.*sh) - R1.*( s.*ch + c.*sh - b.*a.*(1-c.*ch) ) - R2.^2.*(1-c.*ch);361 362uL = 1./(2*D) .* ( F1.*c + F2.*ch + F3.*(s-sh) );363uyL = 1./(2*D) .* lambda .* ( -F1.*s + F2.*sh + F3.*(c-ch) );364uyyL = 1./(2*D) .* lambda.^2 .* ( -F1.*c + F2.*ch - F3.*(s+sh) );365uyyyL = 1./(2*D) .* lambda.^3 .* ( F1.*s + F2.*sh - F3.*(c+ch) );366mb = rho*A./(2*D.*lambda) .* ( F1.*s + F2.*sh - F3.*(c+ch-2) );367 368M = M0 + mb + m*uL + m*d0*uyL;369 370u0 = F ./ M ./ omega.^2;371[x0,idx] = GetZeros(a,D);372bc2 = uyyL*E*I - (J+m*d0^2)*omega.^2.*uyL - m*d0*omega.^2.*uL;373max(a)374 375","MATLAB"
376"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/BigMass/Beam2SMPS.m",".m","1937","86","function [u] = Beam2SMPS( freq, hAcross )377% Add Some Damping beta = 0.001378 379flclear fem;380bSolve = 1;381%hAcross = 8;382%freq = 466;383 384b = 5.e-4;385L = 4.e-2;386b2 = 5.e-4;387L2 = 3.e-2;388th = 1.e-3;389l = 5.e-3;390d = 1.e-3;391rho = 7850;392E = 2.0e11;393nu = 0.33;394blk = 2.e-2;395omega = 2*pi*freq;396F = -1000;397 398gBase = rect2( blk,blk, 'base','center','pos',[0,-blk/2], 'rot','0' );399gBeam = rect2( b,L, 'base','center', 'pos',[0,L/2], 'rot','0' );400gMass = rect2( l,d, 'base','center', 'pos',[0,L+d/2], 'rot','0');401gBeam2 = rect2( b2, L2, 'base','center', 'pos',[0,L+d+L2/2], 'rot','0');402SubBeam = [1,1,1,1];403 404clear s405s.objs={gBase,gBeam,gMass,gBeam2};406s.name={'Base','Beam','Mass','Beam2'};407s.tags={'gBase','gBeam','gMass','Beam2'};408fem.draw=struct('s',s);409fem.geom=geomcsg(fem);410[g,st,ft,pt] = geomcsg(fem);411[SubInd,s0] = find(st);412SubAll = ones( 1, size(st,1) ); 413 414hs1 = b/hAcross;415hs2 = 10*hs1;416fem.mesh=meshinit( fem, 'hauto',5, ...417 'hmaxsub',[ 1,5*hs2, 2,hs2, 3,hs1, 4,hs1 ] );418 419clear appl420appl.mode.class = 'SmePlaneStress';421appl.module = 'SME';422appl.gporder = 4;423appl.cporder = 2;424appl.assignsuffix = '_smps';425clear prop426prop.analysis='freq';427appl.prop = prop;428 429clear bnd430bnd.Fx = {0,F,0};431bnd.constrcond = {'free','free','displacement'};432bnd.Hy = {0,0,1};433bnd.loadtype = {'length','area','length'};434bnd.ind = [2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];435appl.bnd = bnd;436 437clear equ438equ.betadK = 5.e-5;439equ.alphadM = 0;440equ.thickness = th;441equ.ind = [1,1,1,1];442appl.equ = equ;443fem.appl{1} = appl;444fem.frame = {'ref'};445fem.border = 1;446 447clear units;448units.basesystem = 'SI';449fem.units = units;450fem=multiphysics(fem);451 452if( bSolve )453 fem.xmesh=meshextend(fem);454 fem.sol=femstatic(fem,'solcomp',{'u','v'}, 'outcomp',{'u','v'}, ...455 'pname','freq_smps','plist',[freq], ...456 'oldcomp',{}, 'nonlin','off', 'linsolver','spooles');457 fem0 = fem;458 p = [blk/2;-blk/2];459 u = postinterp(fem, 'u', p);460end461","MATLAB"
462"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/BigMass/Beam1SMPS.m",".m","1779","83","function [u] = Beam1SMPS( freq, hAcross, sType )463 464flclear fem;465bSolve = 1;466%hAcross = 8;467%freq = 1900;468%sType = 2;469 470b = 5.e-4;471L = 4.e-2;472th = 1.e-3;473l = 5.e-3;474d = 3.4e-3;475rho = 7850;476E = 2.0e11;477nu = 0.33;478blk = 2.e-2;479omega = 2*pi*freq;480F = -1000;481 482gBase = rect2( blk,blk, 'base','center','pos',[0,-blk/2], 'rot','0' );483gBeam = rect2( b,L, 'base','center', 'pos',[0,L/2], 'rot','0' );484gMass = rect2( l,d, 'base', 'center', 'pos',[0,L+d/2], 'rot','0');485SubBeam = [1,1,2];486 487clear s488s.objs={gBase,gBeam,gMass};489s.name={'Base','Beam','Mass'};490s.tags={'gBase','gBeam','gMass'};491fem.draw=struct('s',s);492fem.geom=geomcsg(fem);493[g,st,ft,pt] = geomcsg(fem);494[SubInd,s0] = find(st);495SubAll = ones( 1, size(st,1) ); 496 497hs1 = b/hAcross;498hs2 = 10*hs1;499fem.mesh=meshinit( fem, 'hauto',5, ...500 'hmaxsub',[ 1,5*hs2, 2,hs2, 3,hs1 ] );501 502clear appl503appl.mode.class = 'SmePlaneStress';504appl.module = 'SME';505appl.gporder = 4;506appl.cporder = 2;507appl.assignsuffix = '_smps';508clear prop509prop.analysis='freq';510appl.prop = prop;511 512clear bnd513bnd.Fx = {0,F,0};514bnd.constrcond = {'free','free','displacement'};515bnd.loadtype = {'length','area','length'};516bnd.Hy = {0,0,1};517bnd.ind = [2,3,1,1,1,1,1,1,1,1,1,1,1,1];518appl.bnd = bnd;519 520clear equ521equ.dampingtype = 'nodamping';522equ.thickness = th;523equ.ind = [1,1,1];524appl.equ = equ;525fem.appl{1} = appl;526fem.frame = {'ref'};527fem.border = 1;528 529clear units;530units.basesystem = 'SI';531fem.units = units;532fem=multiphysics(fem);533 534if( bSolve )535 fem.xmesh=meshextend(fem);536 fem.sol=femstatic(fem,'solcomp',{'u','v'}, 'outcomp',{'u','v'}, ...537 'pname','freq_smps','plist',[freq], ...538 'oldcomp',{}, 'nonlin','off', 'linsolver','spooles');539 fem0 = fem;540 p = [blk/2;-blk/2];541 u = postinterp(fem, 'u', p);542end543 544","MATLAB"
545"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/BigMass/RunBlockSMPS.m",".m","421","20","function [u] = RunBlockSMPS( freqs, hAcross )546 547tic548strcat(num2str(length(freqs)),' iterations')549n = length(freqs);550for i = 1:n551 u(i) = BlockSMPS( freqs(i), hAcross );552 if( mod(i,floor(n/10)) == 0 )553 strcat( num2str(round(100*i/n)),'% Complete')554 end555end556 557flname = 'Data/BlockSMPS.dat';558Fout = [ freqs; abs(u); real(u); imag(u) ];559fl = fopen( flname, 'wt' );560fprintf( fl, '%e %e %e %e\n', Fout );561fclose( fl );562 563toc564","MATLAB"
565"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/BigMass/GetR.m",".m","130","8","function R = GetR( F, f, u )566 567rho = 1.2;568cs = 344;569 570z = F ./ ( 2*pi*j*f.*u ); 571R = 20 * log10( abs( 1 + 1 / 2 * z / rho / cs ) );572","MATLAB"
573"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/BigMass/RunBeamSMPS.m",".m","418","20","function [u] = RunBeamSMPS( freqs, hAcross )574 575tic576strcat(num2str(length(freqs)),' iterations')577n = length(freqs);578for i = 1:n579 u(i) = BeamSMPS( freqs(i), hAcross );580 if( mod(i,floor(n/10)) == 0 )581 strcat( num2str(round(100*i/n)),'% Complete')582 end583end584 585flname = 'Data/BeamSMPS.dat';586Fout = [ freqs; abs(u); real(u); imag(u) ];587fl = fopen( flname, 'wt' );588fprintf( fl, '%e %e %e %e\n', Fout );589fclose( fl );590 591toc592","MATLAB"
593"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/BigMass/RunBeam2SMPS.m",".m","421","20","function [u] = RunBeam2SMPS( freqs, hAcross )594 595tic596strcat(num2str(length(freqs)),' iterations')597n = length(freqs);598for i = 1:n599 u(i) = Beam2SMPS( freqs(i), hAcross );600 if( mod(i,floor(n/10)) == 0 )601 strcat( num2str(round(100*i/n)),'% Complete')602 end603end604 605flname = 'Data/Beam2SMPS.dat';606Fout = [ freqs; abs(u); real(u); imag(u) ];607fl = fopen( flname, 'wt' );608fprintf( fl, '%e %e %e %e\n', Fout );609fclose( fl );610 611toc612","MATLAB"
613"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/BigMass/RunBeam1SMPS.m",".m","421","20","function [u] = RunBeam1SMPS( freqs, hAcross )614 615tic616strcat(num2str(length(freqs)),' iterations')617n = length(freqs);618for i = 1:n619 u(i) = Beam1SMPS( freqs(i), hAcross );620 if( mod(i,floor(n/10)) == 0 )621 strcat( num2str(round(100*i/n)),'% Complete')622 end623end624 625flname = 'Data/Beam1SMPS.dat';626Fout = [ freqs; abs(u); real(u); imag(u) ];627fl = fopen( flname, 'wt' );628fprintf( fl, '%e %e %e %e\n', Fout );629fclose( fl );630 631toc632","MATLAB"
633"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/BigMass/BlockSMPS.m",".m","1364","71","function [u] = BlockSMPS( freq, hAcross )634 635flclear fem;636bSolve = 1;637%hAcross = 8;638%freq = 1900;639 640 641th = 1.e-3;642rho = 7850;643E = 2.0e11;644nu = 0.33;645blk = 2.1e-2;646omega = 2*pi*freq;647F = -1000;648 649gMass = rect2( blk,blk, 'base','center', 'pos',[0,0], 'rot','0');650 651clear s652s.objs={gMass};653s.name={'Mass'};654s.tags={'gMass'};655fem.draw=struct('s',s);656fem.geom=geomcsg(fem);657[g,st,ft,pt] = geomcsg(fem);658 659hs1 = 2*blk/hAcross;660fem.mesh=meshinit( fem, 'hauto',5, 'hmax',hs1 );661 662clear appl663appl.mode.class = 'SmePlaneStress';664appl.module = 'SME';665appl.gporder = 4;666appl.cporder = 2;667appl.assignsuffix = '_smps';668clear prop669prop.analysis='freq';670appl.prop = prop;671 672clear bnd673bnd.Fx = {0,F,0};674bnd.constrcond = {'free','free','displacement'};675bnd.Hy = {0,0,1};676bnd.loadtype = {'length','area','length'};677bnd.ind = [2,3,1,1];678appl.bnd = bnd;679 680clear equ681equ.dampingtype = 'nodamping';682equ.thickness = th;683equ.ind = [1];684appl.equ = equ;685fem.appl{1} = appl;686fem.frame = {'ref'};687fem.border = 1;688 689clear units;690units.basesystem = 'SI';691fem.units = units;692fem=multiphysics(fem);693 694if( bSolve )695 fem.xmesh=meshextend(fem);696 fem.sol=femstatic(fem,'solcomp',{'u','v'}, 'outcomp',{'u','v'}, ...697 'pname','freq_smps','plist',[freq], ...698 'oldcomp',{}, 'nonlin','off', 'linsolver','spooles');699 fem0 = fem;700 p = [blk/2;0];701 u = postinterp(fem, 'u', p);702end703","MATLAB"
704"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/BigMass/RunAll.m",".m","199","9","function [f,u2,u1,u0] = RunAll( hAcross )705 706f = [1:700];707d = load('Data/BeamSMPS.dat');708u2 = d(:,3);709%u2 = RunBeamSMPS( f, hAcross );710u1 = RunBeam1SMPS( f, hAcross );711u0 = RunBlockSMPS( f, hAcross );712","MATLAB"
713"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/BigMass/BeamSMPS.m",".m","2724","123","%function [u] = BeamSMPS( freq, hAcross )714 715flclear fem;716bSolve = 0;717hAcross = 8;718freq = 466;719 720b = 5.e-4;721L = 4.e-2;722b2 = 5.e-4;723L2 = 3.e-2;724th = 1.e-3;725l = 5.e-3;726d = 1.e-3;727rho = 7850;728E = 2.0e11;729nu = 0.33;730blk = 2.e-2;731omega = 2*pi*freq;732F = -1000;733 734gBase = rect2( blk,blk, 'base','center','pos',[0,-blk/2], 'rot','0' );735gBeam = rect2( b,L, 'base','center', 'pos',[0,L/2], 'rot','0' );736gMass = rect2( l,d, 'base','center', 'pos',[0,L+d/2], 'rot','0');737gBeam2 = rect2( b2, L2, 'base','center', 'pos',[0,L+d+L2/2], 'rot','0');738SubBeam = [1,1,1,1];739 740clear s741s.objs={gBase,gBeam,gMass,gBeam2};742s.name={'Base','Beam','Mass','Beam2'};743s.tags={'gBase','gBeam','gMass','Beam2'};744fem.draw=struct('s',s);745fem.geom=geomcsg(fem);746[g,st,ft,pt] = geomcsg(fem);747[SubInd,s0] = find(st);748SubAll = ones( 1, size(st,1) ); 749 750hs1 = b/hAcross;751hs2 = 10*hs1;752fem.mesh=meshinit( fem, 'hauto',5, ...753 'hmaxsub',[ 1,5*hs2, 2,hs2, 3,hs1, 4,hs1 ] );754 755clear appl756appl.mode.class = 'SmePlaneStress';757appl.module = 'SME';758appl.gporder = 4;759appl.cporder = 2;760appl.assignsuffix = '_smps';761clear prop762prop.analysis='freq';763appl.prop = prop;764 765clear bnd766bnd.Fx = {0,F,0};767bnd.constrcond = {'free','free','displacement'};768bnd.Hy = {0,0,1};769bnd.loadtype = {'length','area','length'};770bnd.ind = [2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];771appl.bnd = bnd;772 773clear equ774equ.dampingtype = 'nodamping';775equ.thickness = th;776equ.ind = [1,1,1,1];777appl.equ = equ;778fem.appl{1} = appl;779fem.frame = {'ref'};780fem.border = 1;781 782clear units;783units.basesystem = 'SI';784fem.units = units;785fem=multiphysics(fem);786 787if( bSolve )788 fem.xmesh=meshextend(fem);789 fem.sol=femstatic(fem,'solcomp',{'u','v'}, 'outcomp',{'u','v'}, ...790 'pname','freq_smps','plist',[freq], ...791 'oldcomp',{}, 'nonlin','off', 'linsolver','spooles');792 fem0 = fem;793 p = [blk/2;-blk/2];794 u = postinterp(fem, 'u', p);795end796 797 798% COMSOL Multiphysics Model M-file799% Generated by COMSOL 3.3a (COMSOL 3.3.0.511, $Date: 2007/02/02 19:05:58 $)800 801% (Default values are not included)802 803% Application mode 1804clear appl805appl.mode.class = 'SmePlaneStress';806appl.module = 'SME';807appl.gporder = 4;808appl.cporder = 2;809appl.assignsuffix = '_smps';810clear prop811prop.analysis='freq';812appl.prop = prop;813clear bnd814bnd.Fx = {0,-1000.0,0};815bnd.constrcond = {'free','free','displacement'};816bnd.Hy = {0,0,1};817bnd.loadtype = {'length','area','length'};818bnd.ind = [2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];819appl.bnd = bnd;820clear equ821equ.betadK = 0.002;822equ.alphadM = 0;823equ.thickness = 0.0010;824equ.ind = [1,1,1,1];825appl.equ = equ;826fem.appl{1} = appl;827fem.frame = {'ref'};828fem.border = 1;829clear units;830units.basesystem = 'SI';831fem.units = units;832 833% Multiphysics834fem=multiphysics(fem);835","MATLAB"
836"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/SmallMass/Beam1SMPS.m",".m","1976","87","function [u] = Beam1SMPS( freq, hAcross, sType )837 838flclear fem;839bSolve = 1;840%hAcross = 8;841%freq = 1900;842%sType = 2;843 844b = 5.e-4;845L = 4.e-2;846th = 1.e-3;847l = 5.e-3;848d = 3.4e-3;849rho = 7850;850E = 2.0e11;851nu = 0.33;852blk = 6.e-3;853omega = 2*pi*freq;854F = -1000;855 856gBase = rect2( blk,blk, 'base','center','pos',[0,-blk/2], 'rot','0' );857gBeam = rect2( b,L, 'base','center', 'pos',[0,L/2], 'rot','0' );858gMass = rect2( l,d, 'base', 'center', 'pos',[0,L+d/2], 'rot','0');859SubBeam = [1,1,2];860 861clear s862s.objs={gBase,gBeam,gMass};863s.name={'Base','Beam','Mass'};864s.tags={'gBase','gBeam','gMass'};865fem.draw=struct('s',s);866fem.geom=geomcsg(fem);867[g,st,ft,pt] = geomcsg(fem);868[SubInd,s0] = find(st);869SubAll = ones( 1, size(st,1) ); 870 871hscl = 1/hAcross;872hblk = 0:(b/blk*hscl):1;873hmx = 0:(b/l*hscl):1;874hmy = 0:(b/d*hscl):1;875hbx = 0:hscl:1;876hby = 0:(b/L*hscl):1;877fem.mesh=meshmap(fem, 'edgegroups',{{[2],[14],[11, 8, 3],[1]},{[5, 9, 12],[13],[6],[4]},{[8],[10],[9],[7]}}, ...878 'edgelem',{ 1,hblk, 2,hblk, 4,hmy, 6,hmx, 7,hby, 8,hbx}, 'hauto',5);879 880clear appl881appl.mode.class = 'SmePlaneStress';882appl.module = 'SME';883appl.gporder = 4;884appl.cporder = 2;885appl.assignsuffix = '_smps';886clear prop887prop.analysis='freq';888appl.prop = prop;889 890clear bnd891bnd.Fx = {0,F,0};892bnd.constrcond = {'free','free','displacement'};893bnd.loadtype = {'length','area','length'};894bnd.Hy = {0,0,1};895bnd.ind = [2,3,1,1,1,1,1,1,1,1,1,1,1,1];896appl.bnd = bnd;897 898clear equ899equ.dampingtype = 'nodamping';900equ.thickness = th;901equ.ind = [1,1,1];902appl.equ = equ;903fem.appl{1} = appl;904fem.frame = {'ref'};905fem.border = 1;906 907clear units;908units.basesystem = 'SI';909fem.units = units;910fem=multiphysics(fem);911 912if( bSolve )913 fem.xmesh=meshextend(fem);914 fem.sol=femstatic(fem,'solcomp',{'u','v'}, 'outcomp',{'u','v'}, ...915 'pname','freq_smps','plist',[freq], ...916 'oldcomp',{}, 'nonlin','off', 'linsolver','spooles');917 fem0 = fem;918 p = [blk/2;-blk/2];919 u = postinterp(fem, 'u', p);920end921 922","MATLAB"
923"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/SmallMass/RunBlockSMPS.m",".m","443","21","function [freqs,u] = RunBlockSMPS( hAcross )924 925tic926freqs = [1:0.25:1000];927strcat(num2str(length(freqs)),' iterations')928n = length(freqs);929for i = 1:n930 u(i) = BlockSMPS( freqs(i), hAcross );931 if( mod(i,floor(n/10)) == 0 )932 strcat( num2str(round(100*i/n)),'% Complete')933 end934end935 936flname = 'Data/BlockSMPS.dat';937Fout = [ freqs; abs(u); real(u); imag(u) ];938fl = fopen( flname, 'wt' );939fprintf( fl, '%e %e %e %e\n', Fout );940fclose( fl );941 942toc943","MATLAB"
944"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/SmallMass/GetR.m",".m","130","8","function R = GetR( F, f, u )945 946rho = 1.2;947cs = 344;948 949z = F ./ ( 2*pi*j*f.*u ); 950R = 20 * log10( abs( 1 + 1 / 2 * z / rho / cs ) );951","MATLAB"
952"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/SmallMass/RunBeamSMPS.m",".m","440","21","function [freqs,u] = RunBeamSMPS( hAcross )953 954tic955freqs = [1:0.25:1000];956strcat(num2str(length(freqs)),' iterations')957n = length(freqs);958for i = 1:n959 u(i) = BeamSMPS( freqs(i), hAcross );960 if( mod(i,floor(n/10)) == 0 )961 strcat( num2str(round(100*i/n)),'% Complete')962 end963end964 965flname = 'Data/BeamSMPS.dat';966Fout = [ freqs; abs(u); real(u); imag(u) ];967fl = fopen( flname, 'wt' );968fprintf( fl, '%e %e %e %e\n', Fout );969fclose( fl );970 971toc972","MATLAB"
973"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/SmallMass/RunBeam1SMPS.m",".m","443","21","function [freqs,u] = RunBeam1SMPS( hAcross )974 975tic976freqs = [1:0.25:1000];977strcat(num2str(length(freqs)),' iterations')978n = length(freqs);979for i = 1:n980 u(i) = Beam1SMPS( freqs(i), hAcross );981 if( mod(i,floor(n/10)) == 0 )982 strcat( num2str(round(100*i/n)),'% Complete')983 end984end985 986flname = 'Data/Beam1SMPS.dat';987Fout = [ freqs; abs(u); real(u); imag(u) ];988fl = fopen( flname, 'wt' );989fprintf( fl, '%e %e %e %e\n', Fout );990fclose( fl );991 992toc993","MATLAB"
994"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/SmallMass/BlockSMPS.m",".m","1362","71","function [u] = BlockSMPS( freq, hAcross )995 996flclear fem;997bSolve = 1;998%hAcross = 8;999%freq = 1900;1000 1001 1002th = 1.e-3;1003rho = 7850;1004E = 2.0e11;1005nu = 0.33;1006blk = 8.7e-3;1007omega = 2*pi*freq;1008F = -1000;1009 1010gMass = rect2( blk,blk, 'base','center', 'pos',[0,0], 'rot','0');1011 1012clear s1013s.objs={gMass};1014s.name={'Mass'};1015s.tags={'gMass'};1016fem.draw=struct('s',s);1017fem.geom=geomcsg(fem);1018[g,st,ft,pt] = geomcsg(fem);1019 1020hs1 = blk/hAcross;1021fem.mesh=meshinit( fem, 'hauto',5, 'hmax',hs1 );1022 1023clear appl1024appl.mode.class = 'SmePlaneStress';1025appl.module = 'SME';1026appl.gporder = 4;1027appl.cporder = 2;1028appl.assignsuffix = '_smps';1029clear prop1030prop.analysis='freq';1031appl.prop = prop;1032 1033clear bnd1034bnd.Fx = {0,F,0};1035bnd.constrcond = {'free','free','displacement'};1036bnd.Hy = {0,0,1};1037bnd.loadtype = {'length','area','length'};1038bnd.ind = [2,3,1,1];1039appl.bnd = bnd;1040 1041clear equ1042equ.dampingtype = 'nodamping';1043equ.thickness = th;1044equ.ind = [1];1045appl.equ = equ;1046fem.appl{1} = appl;1047fem.frame = {'ref'};1048fem.border = 1;1049 1050clear units;1051units.basesystem = 'SI';1052fem.units = units;1053fem=multiphysics(fem);1054 1055if( bSolve )1056 fem.xmesh=meshextend(fem);1057 fem.sol=femstatic(fem,'solcomp',{'u','v'}, 'outcomp',{'u','v'}, ...1058 'pname','freq_smps','plist',[freq], ...1059 'oldcomp',{}, 'nonlin','off', 'linsolver','spooles');1060 fem0 = fem;1061 p = [blk/2;0];1062 u = postinterp(fem, 'u', p);1063end1064","MATLAB"
1065"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/SmallMass/RunAll.m",".m","144","6","function [f,u2,u1,u0] = RunAll( hAcross )1066 1067[f,u2] = RunBeamSMPS( hAcross );1068[f,u1] = RunBeam1SMPS( hAcross );1069[f,u0] = RunBlockSMPS( hAcross );1070","MATLAB"
1071"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/BeamStack/SmallMass/BeamSMPS.m",".m","1896","85","function [u] = BeamSMPS( freq, hAcross )1072 1073flclear fem;1074bSolve = 1;1075%hAcross = 8;1076%freq = 466;1077 1078b = 5.e-4;1079L = 4.e-2;1080b2 = 5.e-4;1081L2 = 3.e-2;1082th = 1.e-3;1083l = 5.e-3;1084d = 1.e-3;1085rho = 7850;1086E = 2.0e11;1087nu = 0.33;1088blk = 6.e-3;1089omega = 2*pi*freq;1090F = -1000;1091 1092gBase = rect2( blk,blk, 'base','center','pos',[0,-blk/2], 'rot','0' );1093gBeam = rect2( b,L, 'base','center', 'pos',[0,L/2], 'rot','0' );1094gMass = rect2( l,d, 'base','center', 'pos',[0,L+d/2], 'rot','0');1095gBeam2 = rect2( b2, L2, 'base','center', 'pos',[0,L+d+L2/2], 'rot','0');1096SubBeam = [1,1,1,1];1097 1098clear s1099s.objs={gBase,gBeam,gMass,gBeam2};1100s.name={'Base','Beam','Mass','Beam2'};1101s.tags={'gBase','gBeam','gMass','Beam2'};1102fem.draw=struct('s',s);1103fem.geom=geomcsg(fem);1104[g,st,ft,pt] = geomcsg(fem);1105[SubInd,s0] = find(st);1106SubAll = ones( 1, size(st,1) ); 1107 1108hs1 = b/hAcross;1109hs2 = 10*hs1;1110fem.mesh=meshinit( fem, 'hauto',5, ...1111 'hmaxsub',[ 1,hs2, 2,hs2, 3,hs1, 4,hs1 ] );1112 1113clear appl1114appl.mode.class = 'SmePlaneStress';1115appl.module = 'SME';1116appl.gporder = 4;1117appl.cporder = 2;1118appl.assignsuffix = '_smps';1119clear prop1120prop.analysis='freq';1121appl.prop = prop;1122 1123clear bnd1124bnd.Fx = {0,F,0};1125bnd.constrcond = {'free','free','displacement'};1126bnd.Hy = {0,0,1};1127bnd.loadtype = {'length','area','length'};1128bnd.ind = [2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];1129appl.bnd = bnd;1130 1131clear equ1132equ.dampingtype = 'nodamping';1133equ.thickness = th;1134equ.ind = [1,1,1,1];1135appl.equ = equ;1136fem.appl{1} = appl;1137fem.frame = {'ref'};1138fem.border = 1;1139 1140clear units;1141units.basesystem = 'SI';1142fem.units = units;1143fem=multiphysics(fem);1144 1145if( bSolve )1146 fem.xmesh=meshextend(fem);1147 fem.sol=femstatic(fem,'solcomp',{'u','v'}, 'outcomp',{'u','v'}, ...1148 'pname','freq_smps','plist',[freq], ...1149 'oldcomp',{}, 'nonlin','off', 'linsolver','spooles');1150 fem0 = fem;1151 p = [blk/2;-blk/2];1152 u = postinterp(fem, 'u', p);1153end1154 1155","MATLAB"
1156"Metamaterial","bbanerjee/MetamaterialSim","Comsol/Beam/Test/BeamTest1.m",".m","15110","554","% COMSOL Multiphysics Model M-file1157% Generated by COMSOL 3.3a (COMSOL 3.3.0.511, $Date: 2007/02/02 19:05:58 $)1158 1159flclear fem1160 1161% COMSOL version1162clear vrsn1163vrsn.name = 'COMSOL 3.3';1164vrsn.ext = 'a';1165vrsn.major = 0;1166vrsn.build = 511;1167vrsn.rcs = '$Name: $';1168vrsn.date = '$Date: 2007/02/02 19:05:58 $';1169fem.version = vrsn;1170 1171% Geometry1172g1=rect2('1.e-3','2.e-2','base','corner','pos',{'0','0'},'rot','0');1173carr={curve2([-0.0040,-0.0040],[0.02,0],[1,1])};1174g2=geomcoerce('curve',carr);1175 1176% Analyzed geometry1177clear c s1178c.objs={g2};1179c.name={'B1'};1180c.tags={'g2'};1181 1182s.objs={g1};1183s.name={'R1'};1184s.tags={'g1'};1185 1186fem.draw=struct('c',c,'s',s);1187fem.geom=geomcsg(fem);1188g1=move(g1,[0.0010,0]);1189gg=geomedit(g2);1190gg{1}=beziercurve2([0,0],[0.02,0],[1,1]);1191g3=geomedit(g2,gg);1192 1193% Analyzed geometry1194clear c1195c.objs={g3};1196c.name={'B1'};1197c.tags={'g3'};1198 1199fem.draw=struct('c',c);1200fem.geom=geomcsg(fem);