From 4b7abdb1558d9a665a1b8a6e0d28741a8c94a63a Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@uliege.be> Date: Tue, 2 Apr 2024 09:59:45 +0200 Subject: [PATCH] use "generic steel" b(h) law - cf. tests done during ELEC0041 class :-) --- .../Lib_Magnetodynamics2D_av_Cir.pro | 2 -- Magnetodynamics/electromagnet.pro | 34 +++++++++++-------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/Magnetodynamics/Lib_Magnetodynamics2D_av_Cir.pro b/Magnetodynamics/Lib_Magnetodynamics2D_av_Cir.pro index 1040b95..efed253 100644 --- a/Magnetodynamics/Lib_Magnetodynamics2D_av_Cir.pro +++ b/Magnetodynamics/Lib_Magnetodynamics2D_av_Cir.pro @@ -460,8 +460,6 @@ Resolution { } } -// Same PostProcessing for both static and dynamic formulations (both refer to -// the same FunctionSpace from which the solution is obtained) PostProcessing { { Name Magnetodynamics2D_av; NameOfFormulation Magnetodynamics2D_av; PostQuantity { diff --git a/Magnetodynamics/electromagnet.pro b/Magnetodynamics/electromagnet.pro index fb2a56f..5c9ac80 100644 --- a/Magnetodynamics/electromagnet.pro +++ b/Magnetodynamics/electromagnet.pro @@ -55,7 +55,7 @@ Group { Function { DefineConstant[ Current = {0.01, Name "Model parameters/Max. current [A]"}, - murCore = {100, Visible !NonLinearCore, + murCore = {1000, Visible !NonLinearCore, Name "Model parameters/Mur core"} // by default, a linear ramp from 0 to 1 until 10 ms, then a constant value // of 1; any desired function can be specified @@ -87,18 +87,24 @@ Function { nu[ Region[{Air, Ind, AirInf}] ] = 1. / mu0; If(NonLinearCore) - Mat_core_b = { - 0, 0.0902935, 0.194131, 0.293454, 0.397291, - 0.496614, 0.600451, 0.690745, 0.794582, 0.893905, - 0.997743, 1.09707, 1.19639, 1.2912, 1.39955, - 1.49436, 1.54853, 1.59368, 1.63883, 1.693, - 1.74266, 1.79684, 1.8465, 1.89616}; - Mat_core_h = { - 0, 4.336661847, 7.34801661, 9.72476491, 11.5026052, - 13.1550314, 14.38338925, 15.72777105, 17.00435285, 17.9766304, - 19.00397556, 20.54698273, 22.46623219, 25.98451136, 31.43230549, - 42.54537896, 53.84673274, 66.63960707, 89.21748645, 138.2173146, - 245.0317673, 454.3420034, 911.3848661, 1869.712483}; + Mat_core_h() = { + 0.0000e+00, 5.5023e+00, 1.1018e+01, 1.6562e+01, 2.2149e+01, 2.7798e+01, 3.3528e+01, + 3.9363e+01, 4.5335e+01, 5.1479e+01, 5.7842e+01, 6.4481e+01, 7.1470e+01, 7.8906e+01, + 8.6910e+01, 9.5644e+01, 1.0532e+02, 1.1620e+02, 1.2868e+02, 1.4322e+02, 1.6050e+02, + 1.8139e+02, 2.0711e+02, 2.3932e+02, 2.8028e+02, 3.3314e+02, 4.0231e+02, 4.9395e+02, + 6.1678e+02, 7.8320e+02, 1.0110e+03, 1.3257e+03, 1.7645e+03, 2.3819e+03, 3.2578e+03, + 4.5110e+03, 6.3187e+03, 8.9478e+03, 1.2802e+04, 1.8500e+04, 2.6989e+04, 3.9739e+04, + 5.9047e+04, 8.8520e+04, 1.3388e+05, 2.0425e+05, 3.1434e+05, 4.8796e+05, 7.6403e+05 + } ; + Mat_core_b() = { + 0.0000e+00, 5.0000e-02, 1.0000e-01, 1.5000e-01, 2.0000e-01, 2.5000e-01, 3.0000e-01, + 3.5000e-01, 4.0000e-01, 4.5000e-01, 5.0000e-01, 5.5000e-01, 6.0000e-01, 6.5000e-01, + 7.0000e-01, 7.5000e-01, 8.0000e-01, 8.5000e-01, 9.0000e-01, 9.5000e-01, 1.0000e+00, + 1.0500e+00, 1.1000e+00, 1.1500e+00, 1.2000e+00, 1.2500e+00, 1.3000e+00, 1.3500e+00, + 1.4000e+00, 1.4500e+00, 1.5000e+00, 1.5500e+00, 1.6000e+00, 1.6500e+00, 1.7000e+00, + 1.7500e+00, 1.8000e+00, 1.8500e+00, 1.9000e+00, 1.9500e+00, 2.0000e+00, 2.0500e+00, + 2.1000e+00, 2.1500e+00, 2.2000e+00, 2.2500e+00, 2.3000e+00, 2.3500e+00, 2.4000e+00 + } ; Mat_core_b2 = Mat_core_b()^2; Mat_core_h2 = Mat_core_h()^2; Mat_core_nu = Mat_core_h() / Mat_core_b(); @@ -116,7 +122,7 @@ Function { nu[ Core ] = 1. / (murCore * mu0); EndIf - sigma[ Core ] = 1e6 / 10; + sigma[ Core ] = 1e6 / 1000; sigma[ Ind ] = 5e7; Ns[ Ind ] = 1000 ; // number of turns in coil -- GitLab