/* * padresponse_v3.java */ import com.comsol.model.*; import com.comsol.model.util.*; /** Model exported on Aug 17 2014, 19:09 by COMSOL 4.3.2.189. */ public class padresponse_v3 { public static void main(String[] args) { run(); } public static Model run() { Model model = ModelUtil.create("Model"); model.modelPath("/home/mberger/fopiroot/fopiroot_dev/padresponse_COMSOL"); model.name("padresponse_v3.mph"); model.param().set("stopZ", "0.001[m]"); model.param().set("Xrel", "0"); model.param().set("Yrel", "0"); model.param().set("sigma_fr", "9.01561e-19 [1/s]"); model.param().set("Nd", "2.44E25 [1/m^3]"); model.param().set("vdrift", "-0.005344[cm/ns]"); model.modelNode().create("mod1"); model.file().create("res2"); model.func().create("gp1", "GaussianPulse"); model.func().create("gp2", "GaussianPulse"); model.func().create("gp3", "GaussianPulse"); model.func().create("rn3", "Random"); model.func().create("an1", "Analytic"); model.func().create("an2", "Analytic"); model.func().create("rn1", "Random"); model.func().create("rn2", "Random"); model.func().create("ext2", "External"); model.func().create("gp4", "GaussianPulse"); model.func("gp1").name("inlet weighting x"); model.func("gp1").set("funcname", "gp_x"); model.func("gp1").set("location", "Xrel"); model.func("gp1").set("sigma", "0.00027"); model.func("gp2").name("inlet weighting y"); model.func("gp2").set("funcname", "gp_y"); model.func("gp2").set("location", "Yrel"); model.func("gp2").set("sigma", "0.00027"); model.func("gp3").name("inlet weighting z"); model.func("gp3").set("funcname", "gp_z"); model.func("gp3").set("location", "4[mm]-0.5[mm]"); model.func("gp3").set("sigma", "7.7e-3[cm]"); model.func("rn3").name("inlet randomizer"); model.func("rn3").set("mean", "0.5"); model.func("rn3").set("funcname", "rn_in"); model.func("rn3").set("nargs", "3"); model.func("an1").name("inlet weighting 2D"); model.func("an1") .set("plotargs", new String[][]{{"x", "-0.001", "0.001"}, {"y", "-0.001", "0.001"}, {"t", "2", "2"}}); model.func("an1").set("funcname", "inlet"); model.func("an1").set("args", new String[]{"x", "y", "t"}); model.func("an1").set("expr", "gp_x(x)*gp_y(y)*abs(rn_in(x,y,0,t))"); model.func("an2").name("inlet weighting 3D"); model.func("an2") .set("plotargs", new String[][]{{"x", "-0.001", "0.001"}, {"y", "-0.001", "0.001"}, {"z", "-0.001", "0.005"}}); model.func("an2").set("funcname", "inlet3d"); model.func("an2").set("args", new String[]{"x", "y", "z"}); model.func("an2") .set("expr", "gp_x(x)*gp_y(y)*gp_z(z)*abs(rn_in(x,y,z))"); model.func("rn1").name("vel_z"); model.func("rn1").set("mean", "-51500"); model.func("rn1").set("funcname", "rn_vz"); model.func("rn1").set("normalsigma", "4200"); model.func("rn1").set("type", "normal"); model.func("rn2").name("vel_xy"); model.func("rn2").set("funcname", "rn_vxy"); model.func("rn2").set("nargs", "3"); model.func("rn2").set("normalsigma", "8200"); model.func("rn2").set("type", "normal"); model.func("ext2").set("modelres", "res2"); model.func("ext2") .set("path", "/data/fopiroot/fopiroot_dev/padresponse_COMSOL/randgauss3.so"); model.func("ext2") .set("funcs", new String[][]{{"randgauss", "x,mu,sigma"}}); model.func("ext2") .set("plotargs", new String[][]{{"0", "1000"}, {"0", "0"}, {"1", "1"}}); model.func("gp4").set("sigma", "361.5e-6"); model.geom().create("geom1", 3); model.geom("geom1").geomRep("comsol"); model.geom("geom1").feature().create("wp1", "WorkPlane"); model.geom("geom1").feature().create("ext1", "Extrude"); model.geom("geom1").feature().create("arr1", "Array"); model.geom("geom1").feature().create("arr2", "Array"); model.geom("geom1").feature().create("arr5", "Array"); model.geom("geom1").feature().create("arr6", "Array"); model.geom("geom1").feature().create("mir3", "Mirror"); model.geom("geom1").feature().create("mir4", "Mirror"); model.geom("geom1").feature().create("mir5", "Mirror"); model.geom("geom1").feature().create("mir6", "Mirror"); model.geom("geom1").feature().create("blk5", "Block"); model.geom("geom1").feature().create("sca2", "Scale"); model.geom("geom1").feature().create("rot1", "Rotate"); model.geom("geom1").feature().create("mov2", "Move"); model.geom("geom1").feature().create("sca3", "Scale"); model.geom("geom1").feature().create("rot2", "Rotate"); model.geom("geom1").feature().create("mov1", "Move"); model.geom("geom1").feature().create("blk3", "Block"); model.geom("geom1").feature().create("blk4", "Block"); model.geom("geom1").feature().create("mcd1", "MeshControlDomains"); model.geom("geom1").feature("wp1").geom().feature() .create("pol1", "Polygon"); model.geom("geom1").feature("wp1").geom().feature("pol1") .set("source", "table"); model.geom("geom1").feature("wp1").geom().feature("pol1") .set("table", new String[][]{{"0.0014", "0"}, {"0.0007", "-0.0012124"}, {"-0.0007", "-0.0012124"}, {"-0.0014", "0"}, {"-0.0007", "0.0012124"}, {"0.0007", "0.0012124"}, {"0.0014", "0"}}); model.geom("geom1").feature("ext1").setIndex("distance", "25e-6", 0); model.geom("geom1").feature("ext1").set("reverse", true); model.geom("geom1").feature("ext1").selection("input") .set(new String[]{"wp1"}); model.geom("geom1").feature("arr1").set("type", "linear"); model.geom("geom1").feature("arr1").set("size", "7"); model.geom("geom1").feature("arr1") .set("displ", new String[]{"1.5[mm]*sin(30[degree])+1.5[mm]", "1.5[mm]*cos(30[degree])", "0"}); model.geom("geom1").feature("arr1").selection("input") .set(new String[]{"ext1"}); model.geom("geom1").feature("arr2").set("type", "linear"); model.geom("geom1").feature("arr2").set("size", "2"); model.geom("geom1").feature("arr2") .set("displ", new String[]{"0", "1.5[mm]*cos(30[degree])*2", "0"}); model.geom("geom1").feature("arr2").selection("input") .set(new String[]{"arr1(2)", "arr1(3)", "arr1(4)", "arr1(5)", "arr1(6)"}); model.geom("geom1").feature("arr5").set("type", "linear"); model.geom("geom1").feature("arr5").set("size", "2"); model.geom("geom1").feature("arr5") .set("displ", new String[]{"0", "1.5[mm]*cos(30[degree])*2", "0"}); model.geom("geom1").feature("arr5").selection("input") .set(new String[]{"arr2(2,2)", "arr2(2,3)", "arr2(2,4)"}); model.geom("geom1").feature("arr6").set("type", "linear"); model.geom("geom1").feature("arr6").set("size", "2"); model.geom("geom1").feature("arr6") .set("displ", new String[]{"0", "1.5[mm]*cos(30[degree])*2", "0"}); model.geom("geom1").feature("arr6").selection("input") .set(new String[]{"arr5(2,2)"}); model.geom("geom1").feature("mir3") .set("axis", new String[]{"-(1.5[mm]*sin(30[degree])+1.5[mm])", "1.5[mm]*cos(30[degree])", "0"}); model.geom("geom1").feature("mir3").set("keep", true); model.geom("geom1").feature("mir3").selection("input") .set(new String[]{"arr1(7)", "arr2(1,1)", "arr2(1,2)", "arr2(1,3)", "arr2(1,4)", "arr2(1,5)", "arr2(2,5)", "arr5(1,1)", "arr5(1,2)", "arr5(1,3)", "arr5(2,3)", "arr6(1)"}); model.geom("geom1").feature("mir4") .set("axis", new String[]{"1", "0", "0"}); model.geom("geom1").feature("mir4").set("keep", true); model.geom("geom1").feature("mir4").selection("input") .set(new String[]{"arr1(7)", "arr2(1,1)", "arr2(1,2)", "arr2(1,3)", "arr2(1,4)", "arr2(1,5)", "arr2(2,1)", "arr2(2,5)", "arr5(1,1)", "arr5(1,2)", "arr5(1,3)", "arr5(2,1)", "arr5(2,3)", "arr6", "mir3(10)", "mir3(11)", "mir3(12)", "mir3(7)", "mir3(8)", "mir3(9)"}); model.geom("geom1").feature("mir5") .set("axis", new String[]{"-(1.5[mm]*cos(30[degree]))", "-(1.5[mm]*sin(30[degree])+1.5[mm])", "0"}); model.geom("geom1").feature("mir5").set("keep", true); model.geom("geom1").feature("mir5").selection("input") .set(new String[]{"mir3(1)", "mir3(2)", "mir3(3)", "mir3(4)", "mir3(5)", "mir3(6)", "mir4(10)", "mir4(11)", "mir4(12)", "mir4(13)", "mir4(14)", "mir4(15)", "mir4(16)", "mir4(17)", "mir4(18)", "mir4(19)", "mir4(20)", "mir4(21)", "mir4(7)", "mir4(8)", "mir4(9)"}); model.geom("geom1").feature("mir6") .set("axis", new String[]{"1.5[mm]*cos(30[degree])", "-(1.5[mm]*sin(30[degree])+1.5[mm])", "0"}); model.geom("geom1").feature("mir6").set("keep", true); model.geom("geom1").feature("mir6").selection("input") .set(new String[]{"arr2(2,1)", "arr2(2,5)", "arr5(1,1)", "arr5(1,2)", "arr5(1,3)", "arr5(2,1)", "arr5(2,3)", "arr6", "mir3", "mir4", "mir5(10)", "mir5(11)", "mir5(12)", "mir5(13)", "mir5(14)", "mir5(15)", "mir5(16)", "mir5(17)", "mir5(18)", "mir5(19)", "mir5(20)", "mir5(21)", "mir5(7)", "mir5(8)", "mir5(9)"}); model.geom("geom1").feature("blk5") .set("size", new String[]{"0.00027*8", "0.00027*8", "7.7e-3[cm]*8"}); model.geom("geom1").feature("blk5").set("base", "center"); model.geom("geom1").feature("blk5") .set("pos", new String[]{"Xrel", "Yrel", "4[mm]-0.5[mm]"}); model.geom("geom1").feature("blk5").set("createselection", true); model.geom("geom1").feature("sca2").set("type", "anisotropic"); model.geom("geom1").feature("sca2").set("keep", true); model.geom("geom1").feature("sca2") .set("anisotropic", new String[]{"11.5", "11.5", "-4.025/0.025"}); model.geom("geom1").feature("sca2") .set("factor", new String[]{"11.5", "11.5", "-161"}); model.geom("geom1").feature("sca2").selection("input") .set(new String[]{"arr1(1)"}); model.geom("geom1").feature("sca2") .set("anisotropic", new String[]{"11.5", "11.5", "-4.025/0.025"}); model.geom("geom1").feature("rot1").set("rot", "30"); model.geom("geom1").feature("rot1").selection("input") .set(new String[]{"sca2"}); model.geom("geom1").feature("mov2").set("displz", "-0.025[mm]"); model.geom("geom1").feature("mov2").set("createselection", true); model.geom("geom1").feature("mov2").selection("input") .set(new String[]{"rot1"}); model.geom("geom1").feature("sca3").set("type", "anisotropic"); model.geom("geom1").feature("sca3").set("keep", true); model.geom("geom1").feature("sca3") .set("anisotropic", new String[]{"11.5", "11.5", "-1"}); model.geom("geom1").feature("sca3") .set("factor", new String[]{"11.5", "11.5", "-1"}); model.geom("geom1").feature("sca3").selection("input") .set(new String[]{"arr1(1)"}); model.geom("geom1").feature("rot2").set("rot", "30"); model.geom("geom1").feature("rot2").selection("input") .set(new String[]{"sca3"}); model.geom("geom1").feature("mov1").set("displz", "4[mm]"); model.geom("geom1").feature("mov1").selection("input") .set(new String[]{"rot2"}); model.geom("geom1").feature("blk3").active(false); model.geom("geom1").feature("blk3") .set("size", new String[]{"0.02", "0.02", "0.025[mm]"}); model.geom("geom1").feature("blk3").set("base", "center"); model.geom("geom1").feature("blk3") .set("pos", new String[]{"0", "0", "0.025[mm]/2+4e-3"}); model.geom("geom1").feature("blk3").set("createselection", true); model.geom("geom1").feature("blk4").active(false); model.geom("geom1").feature("blk4").name("stopblock"); model.geom("geom1").feature("blk4") .set("size", new String[]{"0.02", "0.02", "0.5e-3"}); model.geom("geom1").feature("blk4").set("base", "center"); model.geom("geom1").feature("blk4") .set("pos", new String[]{"0", "0", "4[mm] - stopZ - (0.5e-3/2)"}); model.geom("geom1").feature("mcd1").selection("input") .set("fin(1)", new int[]{92}); model.geom("geom1").run(); model.selection().create("box1", "Box"); model.selection("box1").set("entitydim", "2"); model.selection().create("sel1", "Explicit"); model.selection("sel1").geom("geom1", 2); model.selection("sel1") .set(new int[]{553, 554, 555, 556, 619, 620, 663, 664}); model.selection().create("sel2", "Explicit"); model.selection("sel2").geom("geom1", 3, 2, new String[]{"exterior"}); model.selection("sel2") .set(new int[]{8, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 132, 133, 134, 135, 136, 137, 138, 139, 142, 143, 144, 145, 146, 147, 148, 149, 152, 153, 154, 155, 156, 157, 158}); model.selection().create("box2", "Box"); model.selection("box2").set("entitydim", "2"); model.selection().create("sel3", "Explicit"); model.selection("sel3").geom("geom1", 3, 2, new String[]{"exterior"}); model.selection("sel3") .set(new int[]{1, 2, 3, 4, 5, 6, 7, 17, 20, 27, 32, 44, 45, 55, 60, 66, 74, 78, 89, 104, 105, 117, 118, 129, 130, 140, 141, 150, 151, 159, 160, 161, 162, 163, 164, 165}); model.selection().create("dif1", "Difference"); model.selection("dif1").set("entitydim", "2"); model.selection("box1").set("condition", "inside"); model.selection("box1").set("xmin", "-0.02/2"); model.selection("box1").set("zmax", "0.025[mm]+4e-3+1e-4"); model.selection("box1").set("zmin", "4e-3-1e-4"); model.selection("box1").set("ymax", "0.02/2"); model.selection("box1").set("ymin", "-0.02/2"); model.selection("box1").set("xmax", "0.02/2"); model.selection("box1").name("cathode"); model.selection("sel1").name("middle pad"); model.selection("sel1").name("Explicit 1"); model.selection("sel2").name("padplane"); model.selection("sel2").name("Explicit 2"); model.selection("box2").set("input", new String[]{"sel2"}); model.selection("box2").set("inputent", "selections"); model.selection("sel3").name("outside pads"); model.selection("sel3").name("Explicit 3"); model.selection("dif1").set("subtract", new String[]{"sel3"}); model.selection("dif1").set("add", new String[]{"sel2"}); model.selection("dif1").name("padplane_diff"); model.variable().create("var1"); model.view("view1").hideEntities().create("hide1"); model.view("view1").hideEntities("hide1") .set(new int[]{9, 140, 150, 159}); model.view().create("view9", "geom1"); model.view().create("view10", 2); model.view().create("view11", 2); model.material().create("mat2"); model.material("mat2").propertyGroup() .create("linzRes", "Linearized resistivity"); model.material().create("mat1"); model.material("mat1").propertyGroup("def").func() .create("eta", "Piecewise"); model.material("mat1").propertyGroup("def").func() .create("Cp", "Piecewise"); model.material("mat1").propertyGroup("def").func() .create("rho", "Analytic"); model.material("mat1").propertyGroup("def").func() .create("k", "Piecewise"); model.material("mat1").propertyGroup("def").func() .create("cs", "Analytic"); model.material("mat1").selection().set(new int[]{9}); model.physics().create("es", "Electrostatics", "geom1"); model.physics("es").feature().create("gnd1", "Ground", 2); model.physics("es").feature("gnd1").selection().named("dif1"); model.physics("es").feature().create("pot2", "ElectricPotential", 2); model.physics("es").feature("pot2").selection().set(new int[]{51}); model.physics().create("cpt", "ChargedParticleTracing", "geom1"); model.physics("cpt").feature().create("rel1", "Release", 3); model.physics("cpt").feature("rel1").selection().set(new int[]{9}); model.physics("cpt").feature().create("wall2", "Wall", 2); model.physics("cpt").feature("wall2").selection().named("sel2"); model.physics("cpt").feature().create("wall4", "Wall", 2); model.physics("cpt").feature("wall4").selection().set(new int[]{54}); model.physics("cpt").feature().create("ef1", "ElectricForce", 3); model.physics("cpt").feature("ef1").selection().all(); model.physics("cpt").feature().create("mf1", "MagneticForce", 3); model.physics("cpt").feature("mf1").selection().all(); model.physics("cpt").feature().create("ec1", "ElasticCollisionForce", 3); model.physics("cpt").feature("ec1").selection().all(); model.physics("cpt").feature().create("ec2", "ElasticCollisionForce", 3); model.physics("cpt").feature("ec2").selection().all(); model.physics("cpt").feature() .create("ppi1", "ParticleParticleInteraction", 3); model.physics("cpt").feature("ppi1").selection().all(); model.physics("cpt").feature().create("wall3", "Wall", 2); model.physics("cpt").feature().create("for1", "Force", 3); model.physics("cpt").feature("for1").selection().all(); model.physics().create("es2", "Electrostatics", "geom1"); model.physics("es2").feature().create("gnd1", "Ground", 2); model.physics("es2").feature("gnd1").selection().set(new int[]{51}); model.physics("es2").feature().create("gnd2", "Ground", 2); model.physics("es2").feature("gnd2").selection().named("sel2"); model.physics("es2").feature().create("pot1", "ElectricPotential", 2); model.physics("es2").feature("pot1").selection().named("sel1"); model.mesh().create("mesh1", "geom1"); model.mesh("mesh1").feature().create("ftet1", "FreeTet"); model.mesh().create("mesh2", "geom1"); model.mesh("mesh2").feature().create("sca1", "Scale"); model.mesh("mesh2").feature().create("ftet1", "FreeTet"); model.mesh("mesh2").feature("sca1").selection().geom("geom1", 3); model.mesh("mesh2").feature("sca1").selection().set(new int[]{166}); model.variable("var1").name("Variables 1a"); model.view("view1").set("renderwireframe", true); model.view("view2").axis().set("xmin", "-0.011452151462435722"); model.view("view2").axis().set("ymin", "-0.0024028969928622246"); model.view("view2").axis().set("xmax", "0.008398273959755898"); model.view("view2").axis().set("ymax", "0.008632952347397804"); model.view("view9").set("transparency", "on"); model.view("view10").axis().set("xmin", "-0.016709323972463608"); model.view("view10").axis().set("ymin", "-0.005197621416300535"); model.view("view10").axis().set("xmax", "0.01874711737036705"); model.view("view10").axis().set("ymax", "0.01594116911292076"); model.view("view11").axis().set("xmin", "-2.390000104904175"); model.view("view11").axis().set("xmax", "2.390000104904175"); model.material("mat2").name("Copper"); model.material("mat2").propertyGroup("def") .set("relpermeability", new String[]{"1", "0", "0", "0", "1", "0", "0", "0", "1"}); model.material("mat2").propertyGroup("def") .set("electricconductivity", new String[]{"5.998e7[S/m]", "0", "0", "0", "5.998e7[S/m]", "0", "0", "0", "5.998e7[S/m]"}); model.material("mat2").propertyGroup("def") .set("heatcapacity", "385[J/(kg*K)]"); model.material("mat2").propertyGroup("def") .set("relpermittivity", new String[]{"1", "0", "0", "0", "1", "0", "0", "0", "1"}); model.material("mat2").propertyGroup("def").set("emissivity", "0.5"); model.material("mat2").propertyGroup("def") .set("density", "8700[kg/m^3]"); model.material("mat2").propertyGroup("def") .set("thermalconductivity", new String[]{"400[W/(m*K)]", "0", "0", "0", "400[W/(m*K)]", "0", "0", "0", "400[W/(m*K)]"}); model.material("mat2").propertyGroup("linzRes").set("rho0", ""); model.material("mat2").propertyGroup("linzRes").set("alpha", ""); model.material("mat2").propertyGroup("linzRes").set("Tref", ""); model.material("mat2").propertyGroup("linzRes") .set("rho0", "1.72e-8[ohm*m]"); model.material("mat2").propertyGroup("linzRes") .set("alpha", "3.9e-3[1/K]"); model.material("mat2").propertyGroup("linzRes").set("Tref", "273.15[K]"); model.material("mat2").propertyGroup("linzRes").addInput("temperature"); model.material("mat1").name("Air"); model.material("mat1").propertyGroup("def").func("eta").set("arg", "T"); model.material("mat1").propertyGroup("def").func("eta") .set("pieces", new String[][]{{"200.0", "1600.0", "-8.38278E-7+8.35717342E-8*T^1-7.69429583E-11*T^2+4.6437266E-14*T^3-1.06585607E-17*T^4"}}); model.material("mat1").propertyGroup("def").func("Cp").set("arg", "T"); model.material("mat1").propertyGroup("def").func("Cp") .set("pieces", new String[][]{{"200.0", "1600.0", "1047.63657-0.372589265*T^1+9.45304214E-4*T^2-6.02409443E-7*T^3+1.2858961E-10*T^4"}}); model.material("mat1").propertyGroup("def").func("rho") .set("argders", new String[][]{{"pA", "d(pA*0.02897/8.314/T,pA)"}, {"T", "d(pA*0.02897/8.314/T,T)"}}); model.material("mat1").propertyGroup("def").func("rho") .set("plotargs", new String[][]{{"pA", "0", "1"}, {"T", "0", "1"}}); model.material("mat1").propertyGroup("def").func("rho") .set("dermethod", "manual"); model.material("mat1").propertyGroup("def").func("rho") .set("args", new String[]{"pA", "T"}); model.material("mat1").propertyGroup("def").func("rho") .set("expr", "pA*0.02897/8.314/T"); model.material("mat1").propertyGroup("def").func("k").set("arg", "T"); model.material("mat1").propertyGroup("def").func("k") .set("pieces", new String[][]{{"200.0", "1600.0", "-0.00227583562+1.15480022E-4*T^1-7.90252856E-8*T^2+4.11702505E-11*T^3-7.43864331E-15*T^4"}}); model.material("mat1").propertyGroup("def").func("cs") .set("argders", new String[][]{{"T", "d(sqrt(1.4*287*T),T)"}}); model.material("mat1").propertyGroup("def").func("cs") .set("plotargs", new String[][]{{"T", "0", "1"}}); model.material("mat1").propertyGroup("def").func("cs") .set("dermethod", "manual"); model.material("mat1").propertyGroup("def").func("cs") .set("args", new String[]{"T"}); model.material("mat1").propertyGroup("def").func("cs") .set("expr", "sqrt(1.4*287*T)"); model.material("mat1").propertyGroup("def") .set("dynamicviscosity", "eta(T[1/K])[Pa*s]"); model.material("mat1").propertyGroup("def") .set("ratioofspecificheat", "1.4"); model.material("mat1").propertyGroup("def") .set("electricconductivity", new String[]{"0[S/m]", "0", "0", "0", "0[S/m]", "0", "0", "0", "0[S/m]"}); model.material("mat1").propertyGroup("def") .set("heatcapacity", "Cp(T[1/K])[J/(kg*K)]"); model.material("mat1").propertyGroup("def") .set("density", "rho(pA[1/Pa],T[1/K])[kg/m^3]"); model.material("mat1").propertyGroup("def") .set("thermalconductivity", new String[]{"k(T[1/K])[W/(m*K)]", "0", "0", "0", "k(T[1/K])[W/(m*K)]", "0", "0", "0", "k(T[1/K])[W/(m*K)]"}); model.material("mat1").propertyGroup("def") .set("soundspeed", "cs(T[1/K])[m/s]"); model.material("mat1").propertyGroup("def") .set("relpermittivity", new String[]{"1", "0", "0", "0", "1", "0", "0", "0", "1"}); model.material("mat1").propertyGroup("def").addInput("temperature"); model.material("mat1").propertyGroup("def").addInput("pressure"); model.physics("es").feature("pot2").set("V0", "-1268"); model.physics("cpt").prop("StoreParticleStatusData") .set("StoreParticleStatusData", "1"); model.physics("cpt").feature("wall1").set("daux", "0"); model.physics("cpt").feature("wall1").set("caux", "0"); model.physics("cpt").feature("wall1").set("aux0", "0"); model.physics("cpt").feature("rel1").set("InitialPosition", "Density"); model.physics("cpt").feature("rel1").set("N", "5000"); model.physics("cpt").feature("rel1").set("dpro", "inlet3d(x,y,z)"); model.physics("cpt").feature("rel1") .set("v0", new String[][]{{"randgauss(particleindex,0,8200)"}, {"randgauss(particleindex,0,8200)"}, {"randgauss(particleindex,-51500,4200)"}}); model.physics("cpt").feature("rel1").set("DistributionFunction", "None"); model.physics("cpt").feature("rel1").set("Nval", "1"); model.physics("cpt").feature("rel1").set("mean", "0"); model.physics("cpt").feature("rel1").set("var", "1"); model.physics("cpt").feature("rel1").set("aux0", "0"); model.physics("cpt").feature("wall2").set("daux", "0"); model.physics("cpt").feature("wall2").set("caux", "0"); model.physics("cpt").feature("wall2").set("aux0", "0"); model.physics("cpt").feature("wall2").name("padplane"); model.physics("cpt").feature("wall4").set("daux", "0"); model.physics("cpt").feature("wall4").set("caux", "0"); model.physics("cpt").feature("wall4").set("aux0", "0"); model.physics("cpt").feature("wall4").name("padplane_nonconducting"); model.physics("cpt").feature("ef1").set("E_src", "root.mod1.es.Ex"); model.physics("cpt").feature("mf1") .set("B", new String[][]{{"0"}, {"0"}, {"0.616"}}); model.physics("cpt").feature("ec1").set("xsec", "9.01561e-19"); model.physics("cpt").feature("ec1").set("Nd", "2.44E25"); model.physics("cpt").feature("ec1").set("mg", "0.0435415[kg/mol]"); model.physics("cpt").feature("ec1").name("friction"); model.physics("cpt").feature("ec2").set("CollisionModel", "MonteCarlo"); model.physics("cpt").feature("ec2").set("xsec", "1.48711e-21"); model.physics("cpt").feature("ec2").set("Nd", "2.44E25"); model.physics("cpt").feature("ec2").set("mg", "0.0435415[kg/mol]"); model.physics("cpt").feature("ec2").active(false); model.physics("cpt").feature("ec2").name("elastic"); model.physics("cpt").feature("ppi1").active(false); model.physics("cpt").feature("wall3").set("daux", "0"); model.physics("cpt").feature("wall3").set("caux", "0"); model.physics("cpt").feature("wall3").set("aux0", "0"); model.physics("cpt").feature("wall3").active(false); model.physics("cpt").feature("wall3").name("stopblock"); model.physics("cpt").feature("for1") .set("F", new String[][]{{"0"}, {"0"}, {"(Nd*sigma_fr*abs(vdrift))*(-cpt.mp*cpt.vz)"}}); model.physics("cpt").feature("for1").active(false); model.physics("es2").feature("pot1").set("V0", "1"); model.mesh("mesh1").feature("size").set("hauto", 4); model.mesh("mesh1").feature("ftet1").set("xscale", "2"); model.mesh("mesh1").feature("ftet1").set("yscale", "2"); model.mesh("mesh1").feature("ftet1").set("zscale", "2"); model.mesh("mesh1").run(); model.mesh("mesh2").feature("size").set("hauto", 4); model.mesh("mesh2").feature("sca1").set("scale", "0.05"); model.mesh("mesh2").feature("ftet1").set("xscale", "2"); model.mesh("mesh2").feature("ftet1").set("yscale", "2"); model.mesh("mesh2").feature("ftet1").set("zscale", "2"); model.mesh("mesh2").run(); model.coordSystem("sys1").set("frametype", "geometry"); model.study().create("std1"); model.study("std1").feature().create("stat", "Stationary"); model.study().create("std2"); model.study("std2").feature().create("time", "Transient"); model.study().create("std3"); model.study("std3").feature().create("stat", "Stationary"); model.study().create("std4"); model.study("std4").feature().create("param", "Parametric"); model.study().create("std5"); model.study("std5").feature().create("param", "Parametric"); model.sol().create("sol1"); model.sol("sol1").study("std1"); model.sol("sol1").attach("std1"); model.sol("sol1").feature().create("st1", "StudyStep"); model.sol("sol1").feature().create("v1", "Variables"); model.sol("sol1").feature().create("s1", "Stationary"); model.sol("sol1").feature("s1").feature().create("fc1", "FullyCoupled"); model.sol("sol1").feature("s1").feature().create("i1", "Iterative"); model.sol("sol1").feature("s1").feature("i1").feature() .create("mg1", "Multigrid"); model.sol("sol1").feature("s1").feature().remove("fcDef"); model.study("std1").feature("stat").set("initstudyhide", "on"); model.study("std1").feature("stat").set("initsolhide", "on"); model.study("std1").feature("stat").set("notstudyhide", "on"); model.study("std1").feature("stat").set("notsolhide", "on"); model.study("std2").feature("time").set("initstudyhide", "on"); model.study("std2").feature("time").set("initsolhide", "on"); model.study("std2").feature("time").set("notstudyhide", "on"); model.study("std2").feature("time").set("notsolhide", "on"); model.study("std3").feature("stat").set("initstudyhide", "on"); model.study("std3").feature("stat").set("initsolhide", "on"); model.study("std3").feature("stat").set("notstudyhide", "on"); model.study("std3").feature("stat").set("notsolhide", "on"); model.sol().create("sol3"); model.sol("sol3").study("std3"); model.sol("sol3").attach("std3"); model.sol("sol3").feature().create("st1", "StudyStep"); model.sol("sol3").feature().create("v1", "Variables"); model.sol("sol3").feature().create("s1", "Stationary"); model.sol("sol3").feature("s1").feature().create("fc1", "FullyCoupled"); model.sol("sol3").feature("s1").feature().create("i1", "Iterative"); model.sol("sol3").feature("s1").feature("i1").feature() .create("mg1", "Multigrid"); model.sol("sol3").feature("s1").feature().remove("fcDef"); model.study("std1").feature("stat").set("initstudyhide", "on"); model.study("std1").feature("stat").set("initsolhide", "on"); model.study("std1").feature("stat").set("notstudyhide", "on"); model.study("std1").feature("stat").set("notsolhide", "on"); model.study("std2").feature("time").set("initstudyhide", "on"); model.study("std2").feature("time").set("initsolhide", "on"); model.study("std2").feature("time").set("notstudyhide", "on"); model.study("std2").feature("time").set("notsolhide", "on"); model.study("std3").feature("stat").set("initstudyhide", "on"); model.study("std3").feature("stat").set("initsolhide", "on"); model.study("std3").feature("stat").set("notstudyhide", "on"); model.study("std3").feature("stat").set("notsolhide", "on"); model.sol().create("sol4"); model.sol("sol4").study("std4"); model.sol("sol4").attach("std4"); model.sol("sol4").feature().create("st1", "StudyStep"); model.sol("sol4").feature().create("v1", "Variables"); model.sol().create("sol5"); model.sol("sol5").study("std5"); model.sol("sol5").attach("std5"); model.sol("sol5").feature().create("st1", "StudyStep"); model.sol("sol5").feature().create("v1", "Variables"); model.study("std1").feature("stat").set("initstudyhide", "on"); model.study("std1").feature("stat").set("initsolhide", "on"); model.study("std1").feature("stat").set("notstudyhide", "on"); model.study("std1").feature("stat").set("notsolhide", "on"); model.study("std2").feature("time").set("initstudyhide", "on"); model.study("std2").feature("time").set("initsolhide", "on"); model.study("std2").feature("time").set("notstudyhide", "on"); model.study("std2").feature("time").set("notsolhide", "on"); model.study("std3").feature("stat").set("initstudyhide", "on"); model.study("std3").feature("stat").set("initsolhide", "on"); model.study("std3").feature("stat").set("notstudyhide", "on"); model.study("std3").feature("stat").set("notsolhide", "on"); model.sol().create("sol6"); model.sol("sol6").study("std2"); model.sol("sol6").attach("std2"); model.sol("sol6").feature().create("st1", "StudyStep"); model.sol("sol6").feature().create("v1", "Variables"); model.sol("sol6").feature().create("t1", "Time"); model.sol("sol6").feature("t1").feature().create("fc1", "FullyCoupled"); model.sol("sol6").feature("t1").feature().create("i1", "Iterative"); model.sol("sol6").feature("t1").feature("i1").feature() .create("ja1", "Jacobi"); model.sol("sol6").feature("t1").feature().remove("fcDef"); model.study("std1").feature("stat").set("initstudyhide", "on"); model.study("std1").feature("stat").set("initsolhide", "on"); model.study("std1").feature("stat").set("notstudyhide", "on"); model.study("std1").feature("stat").set("notsolhide", "on"); model.study("std2").feature("time").set("initstudyhide", "on"); model.study("std2").feature("time").set("initsolhide", "on"); model.study("std2").feature("time").set("notstudyhide", "on"); model.study("std2").feature("time").set("notsolhide", "on"); model.study("std3").feature("stat").set("initstudyhide", "on"); model.study("std3").feature("stat").set("initsolhide", "on"); model.study("std3").feature("stat").set("notstudyhide", "on"); model.study("std3").feature("stat").set("notsolhide", "on"); model.batch().create("b1", "Batch"); model.batch().create("p1", "Parametric"); model.batch("b1").feature().create("cl1", "Class"); model.batch("b1").feature("daDef").feature().create("pr1", "Process"); model.batch("b1").feature("daDef").feature().create("pr2", "Process"); model.batch("p1").feature().create("so1", "Solutionseq"); model.batch("p1").feature().create("cl1", "Class"); model.batch("b1").study("std4"); model.batch("p1").study("std5"); model.result().dataset().create("cpl1", "CutPlane"); model.result().dataset().create("surf1", "Surface"); model.result().dataset().create("cpl3", "CutPlane"); model.result().dataset().create("part1", "Particle"); model.result().dataset().create("cpt1", "CutPoint3D"); model.result().dataset("dset3").set("solution", "sol3"); model.result().dataset("dset4").set("solution", "sol6"); model.result().dataset("surf1").selection().named("sel1"); model.result().dataset("cpt1").set("data", "dset3"); model.result().dataset().remove("dset2"); model.result().dataset().remove("dset5"); model.result().numerical().create("par1", "Particle"); model.result().numerical().create("par2", "Particle"); model.result().numerical().create("par3", "Particle"); model.result().numerical().create("par5", "Particle"); model.result().numerical().create("par6", "Particle"); model.result().numerical().create("par7", "Particle"); model.result().numerical().create("pev1", "EvalPoint"); model.result().numerical().create("pev2", "EvalPoint"); model.result().numerical().create("pev3", "EvalPoint"); model.result().numerical("pev1").set("probetag", "none"); model.result().numerical("pev2").set("probetag", "none"); model.result().numerical("pev3").set("probetag", "none"); model.result().create("pg1", "PlotGroup3D"); model.result().create("pg12", "PlotGroup3D"); model.result().create("pg21", "PlotGroup3D"); model.result().create("pg13", "PlotGroup3D"); model.result().create("pg3", "PlotGroup3D"); model.result().create("pg8", "PlotGroup3D"); model.result().create("pg11", "PlotGroup1D"); model.result().create("pg16", "PlotGroup1D"); model.result().create("pg19", "PlotGroup1D"); model.result().create("pg23", "PlotGroup2D"); model.result().create("pg25", "PlotGroup1D"); model.result().create("pg26", "PlotGroup1D"); model.result().create("pg27", "PlotGroup1D"); model.result().create("pg28", "PlotGroup3D"); model.result("pg1").feature().create("mslc1", "Multislice"); model.result("pg1").feature().create("surf1", "Surface"); model.result("pg12").feature().create("mslc1", "Multislice"); model.result("pg12").feature().create("surf1", "Surface"); model.result("pg21").feature().create("mslc1", "Multislice"); model.result("pg21").feature().create("surf1", "Surface"); model.result("pg13").feature().create("mslc1", "Multislice"); model.result("pg3").feature().create("str1", "Streamline"); model.result("pg3").feature("str1").selection().named("sel1"); model.result("pg8").feature().create("traj1", "ParticleTrajectories"); model.result("pg8").feature().create("traj2", "ParticleTrajectories"); model.result("pg8").feature("traj1").feature().create("col1", "Color"); model.result("pg11").feature().create("hist2", "Histogram"); model.result("pg11").feature().create("hist3", "Histogram"); model.result("pg16").feature().create("hist1", "Histogram"); model.result("pg16").feature().create("hist2", "Histogram"); model.result("pg19").feature().create("hist1", "Histogram"); model.result("pg19").feature().create("hist2", "Histogram"); model.result("pg23").feature().create("surf1", "Surface"); model.result("pg25").feature().create("hist1", "Histogram"); model.result("pg26").feature().create("hist1", "Histogram"); model.result("pg28").feature().create("mslc1", "Multislice"); model.study("std1").name("Drift field"); model.study("std1").feature("stat") .set("activate", new String[]{"es", "on", "cpt", "off", "es2", "off"}); model.study("std1").feature("stat") .set("mesh", new String[]{"geom1", "mesh1"}); model.study("std2").name("Particles"); model.study("std2").feature("time").set("notsolnum", "auto"); model.study("std2").feature("time") .set("activate", new String[]{"es", "off", "cpt", "on", "es2", "off"}); model.study("std2").feature("time").set("notsolmethod", "sol"); model.study("std2").feature("time").set("plot", "on"); model.study("std2").feature("time").set("rtolactive", true); model.study("std2").feature("time").set("usesol", "on"); model.study("std2").feature("time").set("notstudy", "std1"); model.study("std2").feature("time").set("plotgroup", "pg8"); model.study("std2").feature("time").set("tlist", "range(0,1.0e-9,1e-7)"); model.study("std2").feature("time").set("rtol", "1.0E-4"); model.study("std3").name("Weighting field"); model.study("std3").feature("stat") .set("activate", new String[]{"es", "off", "cpt", "off", "es2", "on"}); model.study("std3").feature("stat") .set("mesh", new String[]{"geom1", "mesh1"}); model.study("std4").name("output"); model.study("std4").feature("param").active(false); model.study("std4").feature("param").set("pname", new String[]{"Xrel"}); model.study("std4").feature("param").set("plistarr", new String[]{""}); model.study("std5").feature("param").set("keepsol", "last"); model.study("std5").feature("param") .set("pname", new String[]{"Xrel", "Yrel"}); model.study("std5").feature("param") .set("plistarr", new String[]{"1[mm],2[mm]", "1[mm],2[mm]"}); model.study("std5").feature("param").set("sweeptype", "filled"); model.sol("sol1").attach("std1"); model.sol("sol1").feature("st1") .name("Compile Equations: Stationary {stat}"); model.sol("sol1").feature("st1").set("studystep", "stat"); model.sol("sol1").feature("v1").set("control", "stat"); model.sol("sol1").feature("v1").feature("mod1_V").name("mod1.V"); model.sol("sol1").feature("v1").feature("mod1_V2").name("mod1.V2"); model.sol("sol1").feature("v1").feature("mod1_V2").set("solvefor", false); model.sol("sol1").feature("v1").feature("mod1_qcpt") .set("solvefor", false); model.sol("sol1").feature("s1").set("control", "stat"); model.sol("sol1").feature("s1").set("reacf", false); model.sol("sol1").feature("s1").feature("i1").set("linsolver", "cg"); model.sol("sol1").feature("s1").feature("i1").feature("mg1") .set("prefun", "amg"); model.sol("sol1").runAll(); model.sol("sol3").attach("std3"); model.sol("sol3").feature("st1") .name("Compile Equations: Stationary {stat}"); model.sol("sol3").feature("st1").set("study", "std3"); model.sol("sol3").feature("st1").set("studystep", "stat"); model.sol("sol3").feature("v1").set("control", "stat"); model.sol("sol3").feature("v1").feature("mod1_V").set("solvefor", false); model.sol("sol3").feature("v1").feature("mod1_qcpt") .set("solvefor", false); model.sol("sol3").feature("s1").set("control", "stat"); model.sol("sol3").feature("s1").feature("i1").set("linsolver", "cg"); model.sol("sol3").feature("s1").feature("i1").feature("mg1") .set("prefun", "amg"); model.sol("sol3").runAll(); model.sol("sol4").attach("std4"); model.sol("sol4").feature("st1").set("study", "std4"); model.sol("sol4").feature("v1").feature("mod1_V").name("mod1.V"); model.sol("sol4").feature("v1").feature("mod1_V2").name("mod1.V2"); model.sol("sol5").attach("std5"); model.sol("sol5").feature("st1").set("study", "std5"); model.sol("sol5").feature("v1").feature("mod1_V").name("mod1.V"); model.sol("sol5").feature("v1").feature("mod1_V2").name("mod1.V2"); model.sol("sol5").runAll(); model.sol("sol6").attach("std2"); model.sol("sol6").feature("st1") .name("Compile Equations: Time Dependent {time}"); model.sol("sol6").feature("st1").set("study", "std2"); model.sol("sol6").feature("st1").set("studystep", "time"); model.sol("sol6").feature("v1").set("control", "time"); model.sol("sol6").feature("v1").set("notsolmethod", "sol"); model.sol("sol6").feature("v1").set("notsolnum", "auto"); model.sol("sol6").feature("v1").set("notsol", "sol1"); model.sol("sol6").feature("v1").feature("mod1_V").set("solvefor", false); model.sol("sol6").feature("v1").feature("mod1_V2").set("solvefor", false); model.sol("sol6").feature("t1").set("atolglobal", "5.0E-6"); model.sol("sol6").feature("t1").set("tstepsgenalpha", "strict"); model.sol("sol6").feature("t1").set("plotgroup", "pg8"); model.sol("sol6").feature("t1").set("plot", "on"); model.sol("sol6").feature("t1").set("atolglobalmethod", "unscaled"); model.sol("sol6").feature("t1").set("rtol", "1.0E-4"); model.sol("sol6").feature("t1").set("timemethod", "genalpha"); model.sol("sol6").feature("t1").set("tlist", "range(0,1.0e-9,1e-7)"); model.sol("sol6").feature("t1").set("control", "time"); model.sol("sol6").feature("t1").feature("fc1").set("jtech", "once"); model.sol("sol6").runAll(); model.batch("b1").set("clearmesh", true); model.batch("b1") .set("batchdir", "/home/mberger/fopiroot/fopiroot_dev/padresponse_COMSOL/batch"); model.batch("b1").feature("daDef").feature("pr1") .set("filename", "/home/mberger/batchmodel.mph"); model.batch("b1").feature("daDef").feature("pr1") .set("cmd", new String[]{"/usr/local/comsol43b/bin/comsol", "batch", "-job", "b1", "-alivetime", "15", "-inputfile", "/home/mberger/batchmodel.mph", "-batchlog", "/home/mberger/batchmodel.mph.log"}); model.batch("b1").feature("daDef").feature("pr1") .set("status", "Starting\nFri Aug 15 20:15:10 CEST 2014\nCOMSOL 4.3b (Build: 189) starting in batch mode\nOpening: /home/mberger/batchmodel.mph\nOpen time: 25 s.\nRunning: Batch 1\nSaving: /home/mberger/batchmodel.mph\nSave time: 24 s.\nMemory: 879/879 2095/2095\nTotal time: 51 s.\nsages:\n\u0009Unknown feature\n\u0009- Tag: part4\n\nStack trace:\n\u0009at com.comsol.model.internal.impl.ModelEntityListImpl.findObject(Unknown Source)\n\u0009at com.comsol.model.internal.impl.ModelEntityListImpl.g(Unknown Source)\n\u0009at com.comsol.model.internal.impl.ModelEntityListImpl.get(Unknown Source)\n\u0009at com.comsol.model.internal.impl.ModelEntityListImpl.get(Unknown Source)\n\u0009at com.comsol.model.operations.AbstractDatasetReferenceCheck.resolveEntity(Unknown Source)\n\u0009at com.comsol.model.operations.ReferencePropCheck.resolve(Unknown Source)\n\u0009at com.comsol.model.method.PropValueUtil.propertySet(Unknown Source)\n\u0009at com.comsol.model.internal.impl.PropValueImpl.set(Unknown Source)\n\u0009at com.comsol.model.internal.impl.PropFeatureImpl.c(Unknown Source)\n\u0009at com.comsol.model.internal.impl.PropFeatureImpl.set(Unknown Source)\n\u0009at com.comsol.model.impl.PropFeatureImpl.set(Unknown Source)\n\u0009at calc_ramo.run(calc_ramo.java:30)\n\u0009at calc_ramo.main(calc_ramo.java:15)\n\u0009at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\u0009at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\n\u0009at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\n\u0009at java.lang.reflect.Method.invoke(Unknown Source)\n\u0009at com.comsol.util.application.CsBaseApplication.runExternalClassStat(Unknown Source)\n\u0009at com.comsol.util.application.CsBaseApplication.runExternalClass(Unknown Source)\n\u0009at com.comsol.util.compile.d$1.a(Unknown Source)\n\u0009at com.comsol.util.compile.d$1.call(Unknown Source)\n\u0009at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)\n\u0009at java.util.concurrent.FutureTask.run(Unknown Source)\n\u0009at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)\n\u0009at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\u0009at java.lang.Thread.run(Unknown Source)"); model.batch("b1").feature("daDef").feature("pr2") .set("filename", "/home/mberger/fopiroot/fopiroot_dev/padresponse_COMSOL/batch/batchmodel.mph"); model.batch("b1").feature("daDef").feature("pr2") .set("cmd", new String[]{"/usr/local/comsol43b/bin/comsol", "batch", "-job", "b1", "-alivetime", "15", "-inputfile", "/home/mberger/fopiroot/fopiroot_dev/padresponse_COMSOL/batch/batchmodel.mph", "-batchlog", "/home/mberger/fopiroot/fopiroot_dev/padresponse_COMSOL/batch/batchmodel.mph.log"}); model.batch("b1").feature("daDef").feature("pr2") .set("status", "Starting\nChecking Fieldfile: /home/mberger/fopiroot/fopiroot_dev/outfiles/padresponse/comsol_data/elecDrift_0_0.txt\nCollecting particle positions\nCollecting particle velocities\nStart loop over particles\nAt particle: 0\nAt particle: 10\nAt particle: 20\nAt particle: 30\nAt particle: 40\nAt particle: 50\nAt particle: 60\nAt particle: 70\nAt particle: 80\nAt particle: 90\nRun time: 773 s.\nMemory: 2028/2028 3113/3113\nSaving: /home/mberger/fopiroot/fopiroot dev/padresponse COMSOL/batch/batchmodel.mph\nSave time: 76 s.\nMemory: 2034/2034 3121/3121\nTotal time: 891 s.\nticle: 210\nAt particle: 220\nAt particle: 230\nAt particle: 240\nAt particle: 250\nAt particle: 260\nAt particle: 270\nAt particle: 280\nAt particle: 290\nAt particle: 300\nAt particle: 310\nAt particle: 320\nAt particle: 330\nAt particle: 340\nAt particle: 350\nAt particle: 360\nAt particle: 370\nAt particle: 380\nAt particle: 390\nAt particle: 400\nAt particle: 410\nAt particle: 420\nAt particle: 430\nAt particle: 440\nAt particle: 450\nAt particle: 460\nAt particle: 470\nAt particle: 480\nAt particle: 490\nAt particle: 500\nAt particle: 510\nAt particle: 520\nAt particle: 530\nAt particle: 540\nAt particle: 550\nAt particle: 560\nAt particle: 570\nAt particle: 580\nAt particle: 590\nAt particle: 600\nAt particle: 610\nAt particle: 620\nAt particle: 630\nAt particle: 640\nAt particle: 650\nAt particle: 660\nAt particle: 670\nAt particle: 680\nAt particle: 690\nAt particle: 700\nAt particle: 710\nAt particle: 720\nAt particle: 730\nAt particle: 740\nAt particle: 750\nAt particle: 760\nAt particle: 770\nAt particle: 780\nAt particle: 790\nAt particle: 800\nAt particle: 810\nAt particle: 820\nAt particle: 830\nAt particle: 840\nAt particle: 850\nAt particle: 860\nAt particle: 870\nAt particle: 880\nAt particle: 890\nAt particle: 900\nAt particle: 910\nAt particle: 920\nAt particle: 930\nAt particle: 940\nAt particle: 950\nAt particle: 960\nAt particle: 970\nAt particle: 980\nAt particle: 990\nAt particle: 1000\nAt particle: 1010\nAt particle: 1020\nAt particle: 1030\nAt particle: 1040\nAt particle: 1050\nAt particle: 1060\nAt particle: 1070\nAt particle: 1080\nAt particle: 1090\nAt particle: 1100\nAt particle: 1110\nAt particle: 1120\nAt particle: 1130\nAt particle: 1140\nAt particle: 1150\nAt particle: 1160\nAt particle: 1170\nAt particle: 1180\nAt particle: 1190\nAt particle: 1200\nAt particle: 1210\nAt particle: 1220\nAt particle: 1230\nAt particle: 1240\nAt particle: 1250\nAt particle: 1260\nAt particle: 1270\nAt particle: 1280\nAt particle: 1290\nAt particle: 1300\nAt particle: 1310\nAt particle: 1320\nAt particle: 1330\nAt particle: 1340\nAt particle: 1350\nAt particle: 1360\nAt particle: 1370\nAt particle: 1380\nAt particle: 1390\nAt particle: 1400\nAt particle: 1410\nAt particle: 1420\nAt particle: 1430\nAt particle: 1440\nAt particle: 1450\nAt particle: 1460\nAt particle: 1470\nAt particle: 1480\nAt particle: 1490\nAt particle: 1500\nAt particle: 1510\nAt particle: 1520\nAt particle: 1530\nAt particle: 1540\nAt particle: 1550\nAt particle: 1560\nAt particle: 1570\nAt particle: 1580\nAt particle: 1590\nAt particle: 1600\nAt particle: 1610\nAt particle: 1620\nAt particle: 1630\nAt particle: 1640\nAt particle: 1650\nAt particle: 1660\nAt particle: 1670\nAt particle: 1680\nAt particle: 1690\nAt particle: 1700\nAt particle: 1710\nAt particle: 1720\nAt particle: 1730\nAt particle: 1740\nAt particle: 1750\nAt particle: 1760\nAt particle: 1770\nAt particle: 1780\nAt particle: 1790\nAt particle: 1800\nAt particle: 1810\nAt particle: 1820\nAt particle: 1830\nAt particle: 1840\nAt particle: 1850\nAt particle: 1860\nAt particle: 1870\nAt particle: 1880\nAt particle: 1890\nAt particle: 1900\nAt particle: 1910\nAt particle: 1920\nAt particle: 1930\nAt particle: 1940\nAt particle: 1950\nAt particle: 1960\nAt particle: 1970\nAt particle: 1980\nAt particle: 1990\nAt particle: 2000\nAt particle: 2010\nAt particle: 2020\nAt particle: 2030\nAt particle: 2040\nAt particle: 2050\nAt particle: 2060\nAt particle: 2070\nAt particle: 2080\nAt particle: 2090\nAt particle: 2100\nAt particle: 2110\nAt particle: 2120\nAt particle: 2130\nAt particle: 2140\nAt particle: 2150\nAt particle: 2160\nAt particle: 2170\nAt particle: 2180\nAt particle: 2190\nAt particle: 2200\nAt particle: 2210\nAt particle: 2220\nAt particle: 2230\nAt particle: 2240\nAt particle: 2250\nAt particle: 2260\nAt particle: 2270\nAt particle: 2280\nAt particle: 2290\nAt particle: 2300\nAt particle: 2310\nAt particle: 2320\nAt particle: 2330\nAt particle: 2340\nAt particle: 2350\nAt particle: 2360\nAt particle: 2370\nAt particle: 2380\nAt particle: 2390\nAt particle: 2400\nAt particle: 2410\nAt particle: 2420\nAt particle: 2430\nAt particle: 2440\nAt particle: 2450\nAt particle: 2460\nAt particle: 2470\nAt particle: 2480\nAt particle: 2490\nAt particle: 2500\nAt particle: 2510\nAt particle: 2520\nAt particle: 2530\nAt particle: 2540\nAt particle: 2550\nAt particle: 2560\nAt particle: 2570\nAt particle: 2580\nAt particle: 2590\nAt particle: 2600\nAt particle: 2610\nAt particle: 2620\nAt particle: 2630\nAt particle: 2640\nAt particle: 2650\nAt particle: 2660\nAt particle: 2670\nAt particle: 2680\nAt particle: 2690\nAt particle: 2700\nAt particle: 2710\nAt particle: 2720\nAt particle: 2730\nAt particle: 2740\nAt particle: 2750\nAt particle: 2760\nAt particle: 2770\nAt particle: 2780\nAt particle: 2790\nAt particle: 2800\nAt particle: 2810\nAt particle: 2820\nAt particle: 2830\nAt particle: 2840\nAt particle: 2850\nAt particle: 2860\nAt particle: 2870\nAt particle: 2880\nAt particle: 2890\nAt particle: 2900\nAt particle: 2910\nAt particle: 2920\nAt particle: 2930\nAt particle: 2940\nAt particle: 2950\nAt particle: 2960\nAt particle: 2970\nAt particle: 2980\nAt particle: 2990\nAt particle: 3000\nAt particle: 3010\nAt particle: 3020\nAt particle: 3030\nAt particle: 3040\nAt particle: 3050\nAt particle: 3060\nAt particle: 3070\nAt particle: 3080\nAt particle: 3090\nAt particle: 3100\nAt particle: 3110\nAt particle: 3120\nAt particle: 3130\nAt particle: 3140\nAt particle: 3150\nAt particle: 3160\nAt particle: 3170\nAt particle: 3180\nAt particle: 3190\nAt particle: 3200\nAt particle: 3210\nAt particle: 3220\nAt particle: 3230\nAt particle: 3240\nAt particle: 3250\nAt particle: 3260\nAt particle: 3270\nAt particle: 3280\nAt particle: 3290\nAt particle: 3300\nAt particle: 3310\nAt particle: 3320\nAt particle: 3330\nAt particle: 3340\nAt particle: 3350\nAt particle: 3360\nAt particle: 3370\nAt particle: 3380\nAt particle: 3390\nAt particle: 3400\nAt particle: 3410\nAt particle: 3420\nAt particle: 3430\nAt particle: 3440\nAt particle: 3450\nAt particle: 3460\nAt particle: 3470\nAt particle: 3480\nAt particle: 3490\nAt particle: 3500\nAt particle: 3510\nAt particle: 3520\nAt particle: 3530\nAt particle: 3540\nAt particle: 3550\nAt particle: 3560\nAt particle: 3570\nAt particle: 3580\nAt particle: 3590\nAt particle: 3600\nAt particle: 3610\nAt particle: 3620\nAt particle: 3630\nAt particle: 3640\nAt particle: 3650\nAt particle: 3660\nAt particle: 3670\nAt particle: 3680\nAt particle: 3690\nAt particle: 3700\nAt particle: 3710\nAt particle: 3720\nAt particle: 3730\nAt particle: 3740\nAt particle: 3750\nAt particle: 3760\nAt particle: 3770\nAt particle: 3780\nAt particle: 3790\nAt particle: 3800\nAt particle: 3810\nAt particle: 3820\nAt particle: 3830\nAt particle: 3840\nAt particle: 3850\nAt particle: 3860\nAt particle: 3870\nAt particle: 3880\nAt particle: 3890\nAt particle: 3900\nAt particle: 3910\nAt particle: 3920\nAt particle: 3930\nAt particle: 3940\nAt particle: 3950\nAt particle: 3960\nAt particle: 3970\nAt particle: 3980\nAt particle: 3990\nAt particle: 4000\nAt particle: 4010\nAt particle: 4020\nAt particle: 4030\nAt particle: 4040\nAt particle: 4050\nAt particle: 4060\nAt particle: 4070\nAt particle: 4080\nAt particle: 4090\nAt particle: 4100\nAt particle: 4110\nAt particle: 4120\nAt particle: 4130\nAt particle: 4140\nAt particle: 4150\nAt particle: 4160\nAt particle: 4170\nAt particle: 4180\nAt particle: 4190\nAt particle: 4200\nAt particle: 4210\nAt particle: 4220\nAt particle: 4230\nAt particle: 4240\nAt particle: 4250\nAt particle: 4260\nAt particle: 4270\nAt particle: 4280\nAt particle: 4290\nAt particle: 4300\nAt particle: 4310\nAt particle: 4320\nAt particle: 4330\nAt particle: 4340\nAt particle: 4350\nAt particle: 4360\nAt particle: 4370\nAt particle: 4380\nAt particle: 4390\nAt particle: 4400\nAt particle: 4410\nAt particle: 4420\nAt particle: 4430\nAt particle: 4440\nAt particle: 4450\nAt particle: 4460\nAt particle: 4470\nAt particle: 4480\nAt particle: 4490\nAt particle: 4500\nAt particle: 4510\nAt particle: 4520\nAt particle: 4530\nAt particle: 4540\nAt particle: 4550\nAt particle: 4560\nAt particle: 4570\nAt particle: 4580\nAt particle: 4590\nAt particle: 4600\nAt particle: 4610\nAt particle: 4620\nAt particle: 4630\nAt particle: 4640\nAt particle: 4650\nAt particle: 4660\nAt particle: 4670\nAt particle: 4680\nAt particle: 4690\nAt particle: 4700\nAt particle: 4710\nAt particle: 4720\nAt particle: 4730\nAt particle: 4740\nAt particle: 4750\nAt particle: 4760\nAt particle: 4770\nAt particle: 4780\nAt particle: 4790\nAt particle: 4800\nAt particle: 4810\nAt particle: 4820\nAt particle: 4830\nAt particle: 4840\nAt particle: 4850\nAt particle: 4860\nAt particle: 4870\nAt particle: 4880\nAt particle: 4890\nAt particle: 4900\nAt particle: 4910\nAt particle: 4920\nAt particle: 4930\nAt particle: 4940\nAt particle: 4950\nAt particle: 4960\nAt particle: 4970\nAt particle: 4980\nAt particle: 4990\nAll Done\nDone"); model.batch("b1").feature("cl1") .set("filename", "/data/fopiroot/fopiroot_dev/padresponse_COMSOL/calc_ramo.class"); model.batch("b1").feature("cl1") .set("input", new String[]{"0", "0", "1e-3", "0", "0", "1e-3"}); model.batch("b1").run(); model.batch("p1").set("control", "param"); model.batch("p1").set("err", true); model.batch("p1").set("sweeptype", "filled"); model.batch("p1") .set("plistarr", new String[]{"1[mm],2[mm]", "1[mm],2[mm]"}); model.batch("p1").set("pname", new String[]{"Xrel", "Yrel"}); model.batch("p1").set("control", "param"); model.batch("p1").feature("so1").set("seq", "sol5"); model.batch("p1").feature("cl1") .set("filename", "/data/fopiroot/fopiroot_dev/padresponse_COMSOL/calc_ramo.class"); model.batch("p1").attach("std5"); model.batch("p1").run(); model.result().dataset("dset1").name("drift field"); model.result().dataset("dset1").set("frametype", "mesh"); model.result().dataset("dset3").name("weighting field"); model.result().dataset("dset4").name("particles"); model.result().dataset("cpl1").name("yz-plane"); model.result().dataset("surf1").name("middle pad"); model.result().dataset("cpl3").name("part gen"); model.result().dataset("cpl3") .set("genpnpoint", new String[]{"0", "0", "4[mm]-0.5[mm]"}); model.result().dataset("cpl3").set("planetype", "general"); model.result().dataset("cpl3").set("genmethod", "pointnormal"); model.result().dataset("part1").set("pgeom", "pgeom_cpt"); model.result().dataset("part1") .set("posdof", new String[]{"mod1.qx", "mod1.qy", "mod1.qz"}); model.result().dataset("part1").set("solution", "sol6"); model.result().numerical("par1").name("Particle posX"); model.result().numerical("par1").set("expr", "qx"); model.result().numerical("par1").set("descr", "Particle position"); model.result().numerical("par1").set("unit", "m"); model.result().numerical("par2").name("Particle posY"); model.result().numerical("par2").set("expr", "qy"); model.result().numerical("par2").set("descr", "Particle position"); model.result().numerical("par2").set("unit", "m"); model.result().numerical("par3").name("Particle posZ"); model.result().numerical("par3").set("expr", "qz"); model.result().numerical("par3").set("descr", "Particle position"); model.result().numerical("par3").set("unit", "m"); model.result().numerical("par5").name("Particle velX"); model.result().numerical("par5").set("expr", "cpt.vx"); model.result().numerical("par5") .set("descr", "Particle velocity, x component"); model.result().numerical("par5").set("unit", "m/s"); model.result().numerical("par6").name("Particle VelY"); model.result().numerical("par6").set("expr", "cpt.vy"); model.result().numerical("par6") .set("descr", "Particle velocity, y component"); model.result().numerical("par6").set("unit", "m/s"); model.result().numerical("par7").name("Particle VelZ"); model.result().numerical("par7").set("expr", "cpt.vz"); model.result().numerical("par7") .set("descr", "Particle velocity, z component"); model.result().numerical("par7").set("unit", "m/s"); model.result().numerical("pev1").name("Weighting field Ex"); model.result().numerical("pev1").set("data", "cpt1"); model.result().numerical("pev1").set("expr", "es2.Ex"); model.result().numerical("pev1").set("unit", "V/m"); model.result().numerical("pev1") .set("descr", "Electric field, x component"); model.result().numerical("pev2").name("Weighting field Ey"); model.result().numerical("pev2").set("data", "cpt1"); model.result().numerical("pev2").set("expr", "es2.Ey"); model.result().numerical("pev2").set("unit", "V/m"); model.result().numerical("pev2") .set("descr", "Electric field, y component"); model.result().numerical("pev3").name("Weighting field Ez"); model.result().numerical("pev3").set("data", "cpt1"); model.result().numerical("pev3").set("expr", "es2.Ez"); model.result().numerical("pev3").set("unit", "V/m"); model.result().numerical("pev3") .set("descr", "Electric field, z component"); model.result("pg1").name("Electric Potential (es)"); model.result("pg1").set("view", "view9"); model.result("pg1").feature("mslc1").active(false); model.result("pg1").feature("mslc1").name("Multislice"); model.result("pg1").feature("surf1").set("data", "cpl3"); model.result("pg12").name("Electric Field X (es)"); model.result("pg12").set("view", "view9"); model.result("pg12").feature("mslc1").set("rangecolormax", "5"); model.result("pg12").feature("mslc1").set("rangecoloractive", "on"); model.result("pg12").feature("mslc1").set("rangecolormin", "-5"); model.result("pg12").feature("mslc1") .set("descr", "Electric field, x component"); model.result("pg12").feature("mslc1").set("unit", "V/cm"); model.result("pg12").feature("mslc1").set("expr", "es.Ex"); model.result("pg12").feature("surf1").set("data", "cpl3"); model.result("pg12").feature("surf1").set("rangecolormin", "-10"); model.result("pg12").feature("surf1").set("expr", "es.Ex"); model.result("pg12").feature("surf1").set("unit", "V/m"); model.result("pg12").feature("surf1").set("rangecolormax", "10"); model.result("pg12").feature("surf1") .set("descr", "Electric field, x component"); model.result("pg12").feature("surf1").set("rangecoloractive", "on"); model.result("pg21").name("Electric Field Y (es)"); model.result("pg21").set("view", "view9"); model.result("pg21").feature("mslc1").set("rangecolormax", "1"); model.result("pg21").feature("mslc1").set("rangecoloractive", "on"); model.result("pg21").feature("mslc1").set("rangecolormin", "-1"); model.result("pg21").feature("mslc1") .set("descr", "Electric field, y component"); model.result("pg21").feature("mslc1").set("unit", "V/cm"); model.result("pg21").feature("mslc1").set("expr", "es.Ey"); model.result("pg21").feature("surf1").set("data", "cpl3"); model.result("pg21").feature("surf1").set("expr", "es.Ey"); model.result("pg21").feature("surf1").set("unit", "V/m"); model.result("pg21").feature("surf1") .set("descr", "Electric field, y component"); model.result("pg13").name("Electric Field Z (es)"); model.result("pg13").set("view", "view9"); model.result("pg13").feature("mslc1").set("rangecolormax", "4000"); model.result("pg13").feature("mslc1").set("rangecoloractive", "on"); model.result("pg13").feature("mslc1").set("rangecolormin", "2500"); model.result("pg13").feature("mslc1") .set("descr", "Electric field, z component"); model.result("pg13").feature("mslc1").set("unit", "V/cm"); model.result("pg13").feature("mslc1").set("expr", "es.Ez"); model.result("pg3").name("fieldlines middlepad"); model.result("pg3").set("view", "view9"); model.result("pg3").feature("str1").set("selnumber", "200"); model.result("pg8").name("Particle Trajectories (cpt)"); model.result("pg8").set("data", "part1"); model.result("pg8").set("looplevel", new String[]{"101"}); model.result("pg8").feature("traj1") .set("tailscale", "7.909270922995419E-7"); model.result("pg8").feature("traj1").set("pointradiusexpr", "0.00001"); model.result("pg8").feature("traj1") .set("comettailexpr", new String[]{"cpt.vx", "cpt.vy", "0"}); model.result("pg8").feature("traj1").set("sphereradiusscale", "2"); model.result("pg8").feature("traj1").set("linetype", "none"); model.result("pg8").feature("traj1").set("sphereradiusscaleactive", true); model.result("pg8").feature("traj1").set("pointtype", "comettail"); model.result("pg8").feature("traj1").set("tailscaleactive", false); model.result("pg8").feature("traj1").feature("col1").set("unit", "m/s"); model.result("pg8").feature("traj1").feature("col1") .set("expr", "cpt.vz"); model.result("pg8").feature("traj1").feature("col1") .set("descr", "Particle velocity, z component"); model.result("pg11").name("vel X"); model.result("pg11").set("data", "none"); model.result("pg11").set("ylabel", "Count"); model.result("pg11") .set("xlabel", "Particle velocity, x component (m/s)"); model.result("pg11").set("ylabelactive", false); model.result("pg11").set("xlabelactive", false); model.result("pg11").feature("hist2").set("data", "part1"); model.result("pg11").feature("hist2").set("method", "limits"); model.result("pg11").feature("hist2").set("unit", "m/s"); model.result("pg11").feature("hist2").set("function", "discrete"); model.result("pg11").feature("hist2") .set("limits", "range(-40000,80000/99,40000)"); model.result("pg11").feature("hist2").set("legend", true); model.result("pg11").feature("hist2") .set("looplevelinput", new String[]{"all"}); model.result("pg11").feature("hist2") .set("descr", "Initial particle velocity, x component"); model.result("pg11").feature("hist2").set("expr", "cpt.v0x_rel1"); model.result("pg11").feature("hist3").set("data", "part1"); model.result("pg11").feature("hist3").set("unit", "m/s"); model.result("pg11").feature("hist3").set("number", "20"); model.result("pg11").feature("hist3").set("function", "discrete"); model.result("pg11").feature("hist3").set("legend", true); model.result("pg11").feature("hist3") .set("looplevelinput", new String[]{"all"}); model.result("pg11").feature("hist3") .set("descr", "Particle velocity, x component"); model.result("pg11").feature("hist3").set("expr", "cpt.vx"); model.result("pg16").name("vel Y"); model.result("pg16").set("data", "none"); model.result("pg16").set("ylabel", "Count"); model.result("pg16").set("ylabelactive", false); model.result("pg16").feature("hist1").set("data", "part1"); model.result("pg16").feature("hist1").set("method", "limits"); model.result("pg16").feature("hist1").set("unit", "m/s"); model.result("pg16").feature("hist1").set("function", "discrete"); model.result("pg16").feature("hist1") .set("limits", "range(-40000,80000/99,40000)"); model.result("pg16").feature("hist1").set("legend", true); model.result("pg16").feature("hist1") .set("looplevelinput", new String[]{"all"}); model.result("pg16").feature("hist1") .set("descr", "Initial particle velocity, y component"); model.result("pg16").feature("hist1").set("expr", "cpt.v0y_rel1"); model.result("pg16").feature("hist2").set("data", "part1"); model.result("pg16").feature("hist2").set("method", "limits"); model.result("pg16").feature("hist2").set("unit", "m/s"); model.result("pg16").feature("hist2").set("function", "discrete"); model.result("pg16").feature("hist2") .set("limits", "range(-40000,80000/99,40000)"); model.result("pg16").feature("hist2").set("legend", true); model.result("pg16").feature("hist2") .set("looplevelinput", new String[]{"all"}); model.result("pg16").feature("hist2") .set("descr", "Particle velocity, y component"); model.result("pg16").feature("hist2").set("expr", "cpt.vy"); model.result("pg19").name("vel Z"); model.result("pg19").set("data", "part1"); model.result("pg19").set("ylabel", "Count"); model.result("pg19").set("looplevelinput", new String[]{"all"}); model.result("pg19").set("ylabelactive", false); model.result("pg19").feature("hist1").set("data", "part1"); model.result("pg19").feature("hist1").set("unit", "m/s"); model.result("pg19").feature("hist1").set("number", "20"); model.result("pg19").feature("hist1").set("function", "discrete"); model.result("pg19").feature("hist1").set("legend", true); model.result("pg19").feature("hist1") .set("looplevelinput", new String[]{"all"}); model.result("pg19").feature("hist1") .set("descr", "Initial particle velocity, z component"); model.result("pg19").feature("hist1").set("expr", "cpt.v0z_rel1"); model.result("pg19").feature("hist2").set("data", "part1"); model.result("pg19").feature("hist2").set("unit", "m/s"); model.result("pg19").feature("hist2").set("number", "20"); model.result("pg19").feature("hist2").set("function", "discrete"); model.result("pg19").feature("hist2").set("legend", true); model.result("pg19").feature("hist2") .set("looplevelinput", new String[]{"all"}); model.result("pg19").feature("hist2") .set("descr", "Particle velocity, z component"); model.result("pg19").feature("hist2").set("expr", "cpt.vz"); model.result("pg23").feature("surf1").set("descr", "Mesh element size"); model.result("pg23").feature("surf1").set("expr", "h"); model.result("pg23").feature("surf1").set("unit", "m"); model.result("pg25").set("data", "part1"); model.result("pg25").set("ylabel", "Count"); model.result("pg25").set("looplevelinput", new String[]{"all"}); model.result("pg25").set("xlabel", "Force, z component (N)"); model.result("pg25").set("ylabelactive", false); model.result("pg25").set("xlabelactive", false); model.result("pg25").feature("hist1").set("unit", "N"); model.result("pg25").feature("hist1").set("number", "1000"); model.result("pg25").feature("hist1").set("function", "discrete"); model.result("pg25").feature("hist1").set("descr", "Force, z component"); model.result("pg25").feature("hist1").set("expr", "cpt.Fz_for1"); model.result("pg25").feature("hist1").set("unit", "N"); model.result("pg25").feature("hist1").set("descr", "Force, z component"); model.result("pg26").set("data", "part1"); model.result("pg26").set("looplevelinput", new String[]{"all"}); model.result("pg26").feature("hist1").set("unit", "m"); model.result("pg26").feature("hist1").set("function", "discrete"); model.result("pg26").feature("hist1").set("descr", "Particle position"); model.result("pg26").feature("hist1").set("expr", "qx"); model.result("pg27").set("data", "none"); model.result("pg27").set("title", "gp4"); model.result("pg27").set("titletype", "manual"); model.result("pg27").set("ylabelactive", true); model.result("pg27").set("xlabelactive", true); model.result("pg28").name("Electric Potential (es2)"); model.result("pg28").set("data", "dset3"); model.result("pg28").set("view", "view9"); model.result("pg28").feature("mslc1").name("Multislice"); model.result("pg28").feature("mslc1").set("znumber", "0"); model.result("pg28").feature("mslc1").set("expr", "V2"); model.result().numerical("par1").set("timeinterp", "on"); model.result().numerical("par1").set("t", "0,1"); return model; } }