Loading Java/Lagoudas/bin/Lag.class +12.3 KiB (15.2 KiB) File changed.No diff preview for this file type. View original file View changed file Java/Lagoudas/src/Lag.java +294 −6 Original line number Diff line number Diff line Loading @@ -8,8 +8,7 @@ public class Lag { model.modelPath("/home/apadhy/projects/PhD/COMSOL"); model.label("Lag.mph"); // Global Definitions // Parameter block // Global Definitions block model.param().set("t1", "0.01 [s]"); model.param().set("t2", "0.19 [s]"); Loading @@ -18,16 +17,15 @@ public class Lag { model.param().set("t5", "0.56[s]"); model.param().set("dt", "0.001 [s]"); model.param().set("T", "297[K]", "Applied Temperature"); model.param().set("T_ref", "297[K]", "Applied Temperature"); model.param().set("para", "0", "Continuation paramater"); model.param().set("width", "15.1[mm]", "Length"); model.param().set("height", "1.67[mm]", "width"); model.param().set("alpha", "0"); model.param().set("d", "0.034[mm]", "thickness"); model.param().set("maxdisp", "0.85 [mm]", "Strain dependent"); // Function creation // Function Piecewise model.func().create("pw1", "Piecewise"); model.func("pw1").label("pw1"); Loading @@ -42,11 +40,301 @@ public class Lag { {"t3", "t4", "maxdisp/(t3-t4)*(t-t4)"}, {"t4", "t5", "1e-8"}}); // Function Random normal distribution model.func().create("rn1", "Random"); model.func("rn1").set("nargs", 2); model.func("rn1").set("type", "normal"); model.func("rn1").set("funcname", "rn"); // Component block model.component().create("comp1", true); model.component("comp1").geom().create("geom1", 2); //Geometry block model.component("comp1").geom("geom1").lengthUnit("mm"); model.component("comp1").geom("geom1").create("r1", "Rectangle"); model.component("comp1").geom("geom1").feature("r1").set("size", new String[]{"width", "height"}); model.component("comp1").geom("geom1").feature("fin").label("Form Union1"); model.component("comp1").geom("geom1").feature("fin").set("action", "union"); model.component("comp1").geom("geom1").run(); // model.component("comp1").geom("geom1").run("fin"); // Definitions model.component("comp1").cpl().create("aveop1", "Average"); model.component("comp1").cpl("aveop1").selection().set(1); model.component("comp1").coordSystem("sys1").setIndex("coord", "t1", 0, 0); model.component("comp1").coordSystem("sys1").setIndex("coord", "n", 0, 1); model.component("comp1").coordSystem("sys1").setIndex("coord", "to", 0, 2); model.component("comp1").view("view1"); model.component("comp1").view("view1").set("showgrid", true); model.component("comp1").view("view1").set("rendermesh", true); model.component("comp1").view("view1").set("showunits", true); model.component("comp1").view("view1").set("showselection", true); model.component("comp1").cpl().create("aveop2", "Average"); model.component("comp1").cpl("aveop2").selection().geom("geom1", 1); model.component("comp1").cpl("aveop2").selection().set(4); model.component("comp1").cpl("aveop2").label("AverageBoundary"); //Material block Austenite model.component("comp1").material().create("mat1", "Common"); model.component("comp1").material("mat1").label("Austenite"); model.component("comp1").material("mat1").propertyGroup("def").set("poissonsratio", "0.33"); model.component("comp1").material("mat1").propertyGroup("def").set("density", "6500"); model.component("comp1").material("mat1").propertyGroup("def").set("youngsmodulus", "41.2e9"); model.component("comp1").material("mat1").propertyGroup("def").set("heatcapacity", "400"); model.component("comp1").material("mat1").propertyGroup("def").set("thermalconductivity", "18.00"); //Material block Martensite model.component("comp1").material().create("mat2", "Common"); model.component("comp1").material("mat2").label("Martensite"); model.component("comp1").material("mat2").propertyGroup("def").set("poissonsratio", "0.33"); model.component("comp1").material("mat2").propertyGroup("def").set("density", "6500"); model.component("comp1").material("mat2").propertyGroup("def").set("youngsmodulus", "32.9e9"); model.component("comp1").material("mat2").propertyGroup("def").set("heatcapacity", "400"); model.component("comp1").material("mat2").propertyGroup("def").set("thermalconductivity","8.6"); model.component("comp1").material("mat2").selection().all(); // Heat transfer model.component("comp1").physics().create("ht", "HeatTransfer", "geom1"); model.component("comp1").physics("ht").selection().set(1); model.component("comp1").physics("ht").prop("EquationForm").setIndex("form", "Automatic", 0); model.component("comp1").physics("ht").prop("PhysicalModelProperty").set("dz", "d"); model.component("comp1").physics("ht").prop("PhysicalModelProperty").set("Tref", "T_ref"); model.component("comp1").physics("ht").prop("PhysicalModelProperty").set("HeatTransferInAlloys", true); // sma1 model.component("comp1").physics("ht").create("sma1", "ShapeMemoryAlloy", 2); model.component("comp1").physics("ht").feature("sma1").selection().set(1); model.component("comp1").physics("ht").feature("sma1").set("EffectiveConductivity", "PowerLaw"); // temp1 model.component("comp1").physics("ht").create("temp1", "TemperatureBoundary", 1); model.component("comp1").physics("ht").feature("temp1").selection().set(1, 4); model.component("comp1").physics("ht").feature("temp1").set("T0", "T_ref"); // //init1 model.component("comp1").physics("ht").feature("init1").set("Tinit", "T_ref"); // hf1 model.component("comp1").physics("ht").create("hf1", "HeatFluxBoundary", 1); model.component("comp1").physics("ht").feature("hf1").selection().set(2, 3); model.component("comp1").physics("ht").feature("hf1").set("materialType", "solid"); model.component("comp1").physics("ht").feature("hf1").set("HeatFluxType", "ConvectiveHeatFlux"); model.component("comp1").physics("ht").feature("hf1").set("h", 40); model.component("comp1").physics("ht").feature("hf1").set("Text", "T_ref"); //ophf1 model.component("comp1").physics("ht").create("ophf1", "OutOfPlaneHeatFlux", 2); model.component("comp1").physics("ht").feature("ophf1").selection().set(1); model.component("comp1").physics("ht").feature("ophf1").set("UpsideHeatFluxType", "ConvectiveHeatFlux"); model.component("comp1").physics("ht").feature("ophf1").set("h_u", 40); model.component("comp1").physics("ht").feature("ophf1").set("Text_u", "T_ref"); model.component("comp1").physics("ht").feature("ophf1").set("DownsideHeatFluxType", "ConvectiveHeatFlux"); model.component("comp1").physics("ht").feature("ophf1").set("h_d", 40); model.component("comp1").physics("ht").feature("ophf1").set("Text_d", "T_ref"); // hs1 model.component("comp1").physics("ht").create("hs1", "HeatSource", 2); model.component("comp1").physics("ht").feature("hs1").selection().set(1); model.component("comp1").physics("ht").feature("hs1").set("materialType", "from_mat"); model.component("comp1").physics("ht").feature("hs1").set("heatSourceType", "GeneralSource"); // Solid creation model.component("comp1").physics().create("solid", "SolidMechanics", "geom1"); model.component("comp1").physics("solid").selection().set(1); model.component("comp1").physics("solid").prop("EquationForm").setIndex("form", "Automatic", 0); model.component("comp1").physics("solid").prop("Type2D").set("Type2D", "PlaneStress"); model.component("comp1").physics("solid").prop("d").set("d", "d"); model.component("comp1").physics("solid").prop("ShapeProperty").set("order_displacement", 2); model.component("comp1").physics("solid").prop("StructuralTransientBehavior") .set("StructuralTransientBehavior", "IncludeInertia"); model.component("comp1").physics("solid").field("displacement").field("UD"); /* Displacement order 1 model.component("comp1").physics("solid").prop("ShapeProperty").set("order_displacement", 1); * * Static Simulation model.component("comp1").physics("solid").prop("StructuralTransientBehavior") .set("StructuralTransientBehavior", "Quasistatic"); * *Reference point for Moment Computation * model.component("comp1").physics("solid").prop("refpnt").set("refpnt", new double[]{0.1, 0.1, 0}); * Auricchio Model model.component("comp1").physics("solid").feature("sma1").set("ShapeMemoryAlloyModel", "SouzaAuricchio"); * Cosine model.component("comp1").physics("solid").feature("sma1").set("TransformationFunction", "Cosine"); *Initial martensite fraction model.component("comp1").physics("solid").feature("sma1").set("xi0", 0.1); *Changing variables in equation view model.component("comp1").physics("solid").feature("sma1").featureInfo("info") .set("solid.eYZ", 0, new String[]{"0.1"}); */ // sma1 model.component("comp1").physics("solid").create("sma1", "ShapeMemoryAlloy", 2); model.component("comp1").physics("solid").feature("sma1").set("minput_temperature_src", "root.comp1.T"); model.component("comp1").physics("solid").feature("sma1").selection().set(1); model.component("comp1").physics("solid").feature("sma1").set("ShapeMemoryAlloyModel", "Lagoudas"); model.component("comp1").physics("solid").feature("sma1").set("T0", "T_ref"); model.component("comp1").physics("solid").feature("sma1").set("AusteniteMaterial", "mat1"); model.component("comp1").physics("solid").feature("sma1").set("MartensiteMaterial", "mat2"); model.component("comp1").physics("solid").feature("sma1").set("TMs", "208.25+rn(x,y)"); model.component("comp1").physics("solid").feature("sma1").set("TMf", "207.5+rn(x,y)"); model.component("comp1").physics("solid").feature("sma1").set("CM", "4e6"); model.component("comp1").physics("solid").feature("sma1").set("TAs", "254+rn(x,y)"); model.component("comp1").physics("solid").feature("sma1").set("TAf", "255.5+rn(x,y)"); model.component("comp1").physics("solid").feature("sma1").set("CA", "4e6"); model.component("comp1").physics("solid").feature("sma1").set("etrmax", 0.04); model.component("comp1").physics("solid").feature("sma1").set("TransformationFunction", "Quadratic"); model.component("comp1").physics("solid").feature("sma1").set("TransformationDirectionType", "UserDefined"); model.component("comp1").physics("solid").feature("sma1").set("trdir", "if(t<t3,1,-1)"); model.component("comp1").physics("solid").feature("sma1").set("CalculateDissipatedEnergy", true); // Initial values // fix1 // model.component("comp1").physics("solid").create("fix1", "Fixed", 1); // model.component("comp1").physics("solid").feature("fix1").selection().set(1); // model.component("comp1").physics("solid").feature("fix1").active(false); // disp1 model.component("comp1").physics("solid").create("disp1", "Displacement1", 1); model.component("comp1").physics("solid").feature("disp1").selection().set(1); model.component("comp1").physics("solid").feature("disp1").setIndex("Direction", true, 0); model.component("comp1").physics("solid").feature("disp1").setIndex("Direction", true, 1); // disp2 model.component("comp1").physics("solid").create("disp2", "Displacement1", 1); model.component("comp1").physics("solid").feature("disp2").selection().set(4); model.component("comp1").physics("solid").feature("disp2").setIndex("Direction", true, 0); model.component("comp1").physics("solid").feature("disp2").setIndex("Direction", true, 1); model.component("comp1").physics("solid").feature("disp2").setIndex("U0", "pw1(t)", 0); //free2 model.component("comp1").physics("solid").create("free2", "Free", 1); model.component("comp1").physics("solid").feature("free2").selection().set(2, 3); // Displacements activated model.component("comp1").physics("solid").feature("disp1").active(true); model.component("comp1").physics("solid").feature("disp2").active(true); // Total power dissipation density Heat transfer in Solids model.component("comp1").physics("ht").feature("hs1").set("Q0_src", "root.comp1.solid.Qh"); // Mesh model.component("comp1").mesh().create("mesh1"); model.component("comp1").mesh("mesh1").create("map1", "Map"); model.component("comp1").mesh("mesh1").feature("size").set("hauto", 1); model.component("comp1").mesh("mesh1").run(); // Study model.study().create("std1"); model.study("std1").create("time", "Transient"); model.study("std1").feature("time").set("tlist", "range(0,dt,t5)"); model.study("std1").feature("time").set("usertol", true); model.study("std1").feature("time").set("plot", true); model.study("std1").feature("time").set("useadvanceddisable", true); model.study("std1").feature("time").activate("solid", true); // Solution model.sol().create("sol1"); model.sol("sol1").study("std1"); model.sol("sol1").attach("std1"); model.sol("sol1").create("st1", "StudyStep"); model.sol("sol1").create("v1", "Variables"); model.sol("sol1").create("t1", "Time"); // Dependent variables v1 model.sol("sol1").feature("v1").set("resscalemethod", "auto"); model.sol("sol1").feature("v1").set("clist", new String[]{"range(0,dt,t5)", "0.0017[s]"}); // Time dependent solver t1 model.sol("sol1").feature("t1").set("control", "user"); model.sol("sol1").feature("t1").set("tlist", "range(0,dt,t5)"); model.sol("sol1").feature("t1").set("atolglobalfactor", 0.001); model.sol("sol1").feature("t1").feature().remove("fcDef"); model.sol("sol1").feature("t1").set("timemethod", "bdf"); model.sol("sol1").feature("t1").set("tstepsbdf", "strict"); model.sol("sol1").feature("t1").create("fc1", "FullyCoupled"); model.sol("sol1").feature("t1").feature("fc1").set("dtech", "hnlin"); model.sol("sol1").feature("t1").feature("fc1").set("maxiter", 20); model.sol("sol1").feature("t1").feature("fc1").set("dtech", "auto"); model.sol("sol1").feature("t1").set("plot", true); //model.sol("sol1").runAll(); Loading Lagoudas.java +4 −4 File changed.Contains only whitespace changes. Show changes Loading
Java/Lagoudas/bin/Lag.class +12.3 KiB (15.2 KiB) File changed.No diff preview for this file type. View original file View changed file
Java/Lagoudas/src/Lag.java +294 −6 Original line number Diff line number Diff line Loading @@ -8,8 +8,7 @@ public class Lag { model.modelPath("/home/apadhy/projects/PhD/COMSOL"); model.label("Lag.mph"); // Global Definitions // Parameter block // Global Definitions block model.param().set("t1", "0.01 [s]"); model.param().set("t2", "0.19 [s]"); Loading @@ -18,16 +17,15 @@ public class Lag { model.param().set("t5", "0.56[s]"); model.param().set("dt", "0.001 [s]"); model.param().set("T", "297[K]", "Applied Temperature"); model.param().set("T_ref", "297[K]", "Applied Temperature"); model.param().set("para", "0", "Continuation paramater"); model.param().set("width", "15.1[mm]", "Length"); model.param().set("height", "1.67[mm]", "width"); model.param().set("alpha", "0"); model.param().set("d", "0.034[mm]", "thickness"); model.param().set("maxdisp", "0.85 [mm]", "Strain dependent"); // Function creation // Function Piecewise model.func().create("pw1", "Piecewise"); model.func("pw1").label("pw1"); Loading @@ -42,11 +40,301 @@ public class Lag { {"t3", "t4", "maxdisp/(t3-t4)*(t-t4)"}, {"t4", "t5", "1e-8"}}); // Function Random normal distribution model.func().create("rn1", "Random"); model.func("rn1").set("nargs", 2); model.func("rn1").set("type", "normal"); model.func("rn1").set("funcname", "rn"); // Component block model.component().create("comp1", true); model.component("comp1").geom().create("geom1", 2); //Geometry block model.component("comp1").geom("geom1").lengthUnit("mm"); model.component("comp1").geom("geom1").create("r1", "Rectangle"); model.component("comp1").geom("geom1").feature("r1").set("size", new String[]{"width", "height"}); model.component("comp1").geom("geom1").feature("fin").label("Form Union1"); model.component("comp1").geom("geom1").feature("fin").set("action", "union"); model.component("comp1").geom("geom1").run(); // model.component("comp1").geom("geom1").run("fin"); // Definitions model.component("comp1").cpl().create("aveop1", "Average"); model.component("comp1").cpl("aveop1").selection().set(1); model.component("comp1").coordSystem("sys1").setIndex("coord", "t1", 0, 0); model.component("comp1").coordSystem("sys1").setIndex("coord", "n", 0, 1); model.component("comp1").coordSystem("sys1").setIndex("coord", "to", 0, 2); model.component("comp1").view("view1"); model.component("comp1").view("view1").set("showgrid", true); model.component("comp1").view("view1").set("rendermesh", true); model.component("comp1").view("view1").set("showunits", true); model.component("comp1").view("view1").set("showselection", true); model.component("comp1").cpl().create("aveop2", "Average"); model.component("comp1").cpl("aveop2").selection().geom("geom1", 1); model.component("comp1").cpl("aveop2").selection().set(4); model.component("comp1").cpl("aveop2").label("AverageBoundary"); //Material block Austenite model.component("comp1").material().create("mat1", "Common"); model.component("comp1").material("mat1").label("Austenite"); model.component("comp1").material("mat1").propertyGroup("def").set("poissonsratio", "0.33"); model.component("comp1").material("mat1").propertyGroup("def").set("density", "6500"); model.component("comp1").material("mat1").propertyGroup("def").set("youngsmodulus", "41.2e9"); model.component("comp1").material("mat1").propertyGroup("def").set("heatcapacity", "400"); model.component("comp1").material("mat1").propertyGroup("def").set("thermalconductivity", "18.00"); //Material block Martensite model.component("comp1").material().create("mat2", "Common"); model.component("comp1").material("mat2").label("Martensite"); model.component("comp1").material("mat2").propertyGroup("def").set("poissonsratio", "0.33"); model.component("comp1").material("mat2").propertyGroup("def").set("density", "6500"); model.component("comp1").material("mat2").propertyGroup("def").set("youngsmodulus", "32.9e9"); model.component("comp1").material("mat2").propertyGroup("def").set("heatcapacity", "400"); model.component("comp1").material("mat2").propertyGroup("def").set("thermalconductivity","8.6"); model.component("comp1").material("mat2").selection().all(); // Heat transfer model.component("comp1").physics().create("ht", "HeatTransfer", "geom1"); model.component("comp1").physics("ht").selection().set(1); model.component("comp1").physics("ht").prop("EquationForm").setIndex("form", "Automatic", 0); model.component("comp1").physics("ht").prop("PhysicalModelProperty").set("dz", "d"); model.component("comp1").physics("ht").prop("PhysicalModelProperty").set("Tref", "T_ref"); model.component("comp1").physics("ht").prop("PhysicalModelProperty").set("HeatTransferInAlloys", true); // sma1 model.component("comp1").physics("ht").create("sma1", "ShapeMemoryAlloy", 2); model.component("comp1").physics("ht").feature("sma1").selection().set(1); model.component("comp1").physics("ht").feature("sma1").set("EffectiveConductivity", "PowerLaw"); // temp1 model.component("comp1").physics("ht").create("temp1", "TemperatureBoundary", 1); model.component("comp1").physics("ht").feature("temp1").selection().set(1, 4); model.component("comp1").physics("ht").feature("temp1").set("T0", "T_ref"); // //init1 model.component("comp1").physics("ht").feature("init1").set("Tinit", "T_ref"); // hf1 model.component("comp1").physics("ht").create("hf1", "HeatFluxBoundary", 1); model.component("comp1").physics("ht").feature("hf1").selection().set(2, 3); model.component("comp1").physics("ht").feature("hf1").set("materialType", "solid"); model.component("comp1").physics("ht").feature("hf1").set("HeatFluxType", "ConvectiveHeatFlux"); model.component("comp1").physics("ht").feature("hf1").set("h", 40); model.component("comp1").physics("ht").feature("hf1").set("Text", "T_ref"); //ophf1 model.component("comp1").physics("ht").create("ophf1", "OutOfPlaneHeatFlux", 2); model.component("comp1").physics("ht").feature("ophf1").selection().set(1); model.component("comp1").physics("ht").feature("ophf1").set("UpsideHeatFluxType", "ConvectiveHeatFlux"); model.component("comp1").physics("ht").feature("ophf1").set("h_u", 40); model.component("comp1").physics("ht").feature("ophf1").set("Text_u", "T_ref"); model.component("comp1").physics("ht").feature("ophf1").set("DownsideHeatFluxType", "ConvectiveHeatFlux"); model.component("comp1").physics("ht").feature("ophf1").set("h_d", 40); model.component("comp1").physics("ht").feature("ophf1").set("Text_d", "T_ref"); // hs1 model.component("comp1").physics("ht").create("hs1", "HeatSource", 2); model.component("comp1").physics("ht").feature("hs1").selection().set(1); model.component("comp1").physics("ht").feature("hs1").set("materialType", "from_mat"); model.component("comp1").physics("ht").feature("hs1").set("heatSourceType", "GeneralSource"); // Solid creation model.component("comp1").physics().create("solid", "SolidMechanics", "geom1"); model.component("comp1").physics("solid").selection().set(1); model.component("comp1").physics("solid").prop("EquationForm").setIndex("form", "Automatic", 0); model.component("comp1").physics("solid").prop("Type2D").set("Type2D", "PlaneStress"); model.component("comp1").physics("solid").prop("d").set("d", "d"); model.component("comp1").physics("solid").prop("ShapeProperty").set("order_displacement", 2); model.component("comp1").physics("solid").prop("StructuralTransientBehavior") .set("StructuralTransientBehavior", "IncludeInertia"); model.component("comp1").physics("solid").field("displacement").field("UD"); /* Displacement order 1 model.component("comp1").physics("solid").prop("ShapeProperty").set("order_displacement", 1); * * Static Simulation model.component("comp1").physics("solid").prop("StructuralTransientBehavior") .set("StructuralTransientBehavior", "Quasistatic"); * *Reference point for Moment Computation * model.component("comp1").physics("solid").prop("refpnt").set("refpnt", new double[]{0.1, 0.1, 0}); * Auricchio Model model.component("comp1").physics("solid").feature("sma1").set("ShapeMemoryAlloyModel", "SouzaAuricchio"); * Cosine model.component("comp1").physics("solid").feature("sma1").set("TransformationFunction", "Cosine"); *Initial martensite fraction model.component("comp1").physics("solid").feature("sma1").set("xi0", 0.1); *Changing variables in equation view model.component("comp1").physics("solid").feature("sma1").featureInfo("info") .set("solid.eYZ", 0, new String[]{"0.1"}); */ // sma1 model.component("comp1").physics("solid").create("sma1", "ShapeMemoryAlloy", 2); model.component("comp1").physics("solid").feature("sma1").set("minput_temperature_src", "root.comp1.T"); model.component("comp1").physics("solid").feature("sma1").selection().set(1); model.component("comp1").physics("solid").feature("sma1").set("ShapeMemoryAlloyModel", "Lagoudas"); model.component("comp1").physics("solid").feature("sma1").set("T0", "T_ref"); model.component("comp1").physics("solid").feature("sma1").set("AusteniteMaterial", "mat1"); model.component("comp1").physics("solid").feature("sma1").set("MartensiteMaterial", "mat2"); model.component("comp1").physics("solid").feature("sma1").set("TMs", "208.25+rn(x,y)"); model.component("comp1").physics("solid").feature("sma1").set("TMf", "207.5+rn(x,y)"); model.component("comp1").physics("solid").feature("sma1").set("CM", "4e6"); model.component("comp1").physics("solid").feature("sma1").set("TAs", "254+rn(x,y)"); model.component("comp1").physics("solid").feature("sma1").set("TAf", "255.5+rn(x,y)"); model.component("comp1").physics("solid").feature("sma1").set("CA", "4e6"); model.component("comp1").physics("solid").feature("sma1").set("etrmax", 0.04); model.component("comp1").physics("solid").feature("sma1").set("TransformationFunction", "Quadratic"); model.component("comp1").physics("solid").feature("sma1").set("TransformationDirectionType", "UserDefined"); model.component("comp1").physics("solid").feature("sma1").set("trdir", "if(t<t3,1,-1)"); model.component("comp1").physics("solid").feature("sma1").set("CalculateDissipatedEnergy", true); // Initial values // fix1 // model.component("comp1").physics("solid").create("fix1", "Fixed", 1); // model.component("comp1").physics("solid").feature("fix1").selection().set(1); // model.component("comp1").physics("solid").feature("fix1").active(false); // disp1 model.component("comp1").physics("solid").create("disp1", "Displacement1", 1); model.component("comp1").physics("solid").feature("disp1").selection().set(1); model.component("comp1").physics("solid").feature("disp1").setIndex("Direction", true, 0); model.component("comp1").physics("solid").feature("disp1").setIndex("Direction", true, 1); // disp2 model.component("comp1").physics("solid").create("disp2", "Displacement1", 1); model.component("comp1").physics("solid").feature("disp2").selection().set(4); model.component("comp1").physics("solid").feature("disp2").setIndex("Direction", true, 0); model.component("comp1").physics("solid").feature("disp2").setIndex("Direction", true, 1); model.component("comp1").physics("solid").feature("disp2").setIndex("U0", "pw1(t)", 0); //free2 model.component("comp1").physics("solid").create("free2", "Free", 1); model.component("comp1").physics("solid").feature("free2").selection().set(2, 3); // Displacements activated model.component("comp1").physics("solid").feature("disp1").active(true); model.component("comp1").physics("solid").feature("disp2").active(true); // Total power dissipation density Heat transfer in Solids model.component("comp1").physics("ht").feature("hs1").set("Q0_src", "root.comp1.solid.Qh"); // Mesh model.component("comp1").mesh().create("mesh1"); model.component("comp1").mesh("mesh1").create("map1", "Map"); model.component("comp1").mesh("mesh1").feature("size").set("hauto", 1); model.component("comp1").mesh("mesh1").run(); // Study model.study().create("std1"); model.study("std1").create("time", "Transient"); model.study("std1").feature("time").set("tlist", "range(0,dt,t5)"); model.study("std1").feature("time").set("usertol", true); model.study("std1").feature("time").set("plot", true); model.study("std1").feature("time").set("useadvanceddisable", true); model.study("std1").feature("time").activate("solid", true); // Solution model.sol().create("sol1"); model.sol("sol1").study("std1"); model.sol("sol1").attach("std1"); model.sol("sol1").create("st1", "StudyStep"); model.sol("sol1").create("v1", "Variables"); model.sol("sol1").create("t1", "Time"); // Dependent variables v1 model.sol("sol1").feature("v1").set("resscalemethod", "auto"); model.sol("sol1").feature("v1").set("clist", new String[]{"range(0,dt,t5)", "0.0017[s]"}); // Time dependent solver t1 model.sol("sol1").feature("t1").set("control", "user"); model.sol("sol1").feature("t1").set("tlist", "range(0,dt,t5)"); model.sol("sol1").feature("t1").set("atolglobalfactor", 0.001); model.sol("sol1").feature("t1").feature().remove("fcDef"); model.sol("sol1").feature("t1").set("timemethod", "bdf"); model.sol("sol1").feature("t1").set("tstepsbdf", "strict"); model.sol("sol1").feature("t1").create("fc1", "FullyCoupled"); model.sol("sol1").feature("t1").feature("fc1").set("dtech", "hnlin"); model.sol("sol1").feature("t1").feature("fc1").set("maxiter", 20); model.sol("sol1").feature("t1").feature("fc1").set("dtech", "auto"); model.sol("sol1").feature("t1").set("plot", true); //model.sol("sol1").runAll(); Loading