Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.
Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.
Coupling magnetic field (no current) with solid state BH curve
Posted Jul 4, 2012, 5:24 a.m. EDT Low-Frequency Electromagnetics, Modeling Tools & Definitions, Parameters, Variables, & Functions, Studies & Solvers, Structural Mechanics Version 4.2a 2 Replies
Please login with a confirmed email address before reporting spam
I want to model magnetostriction phenomena. I found an example (nonlinear_magnetostriction.mph) where the magnetic field is created by a coil (current density J0) and which uses Magnetic Field (mf) physics equations. In my study I use a permanent magnet, and so I have to use Magnetic Field No Current (mfnc) equations to solve my problem.
Solving the magnetic part alone is not a problem, when I use a BH curve of my magnetostrictive material or when I use only a constant permeability value µr.
I add the solid mechanic physics equation (linked to the magnetic field), only for my magnetostrictive material.
I am perfectly able to find a solution when I use a constant µr value to define “magnetically” my magnetostrictive materials.
But when I change the magnetic definition of my material to a BH curve I have the following error:
Failed to evaluate variable.
- Variable: mod1.mfnc.Hz
- Geometry: 1
- Domain: 1
Failed to evaluate variable.
- Variable: mod1.mfnc.mfc3.minput_magneticfieldz
- Defined as: mod1.mfnc.Hz
Failed to evaluate variable.
- Variable: mod1.mfnc.normB
- Defined as: (mod1.mat4.BHCurve.BH(((unit_m_cf*sqrt(((mod1.mfnc.mfc3.minput_magneticfieldz^2)+((mod1.mfnc.mfc3.minput_magneticfieldy^2)+(mod1.mfnc.mfc3.minput_magneticfieldx^2)))))/unit_A_cf))*unit_T_cf)
Failed to evaluate expression.
- Expression: subst(mod1.mfnc.normB,mod1.mfnc.HX,(unit_A_cf/unit_m_cf))
Failed to evaluate expression.
- Expression: nojac(((unit_m_cf*(subst(mod1.mfnc.normB,mod1.mfnc.HX,(unit_A_cf/unit_m_cf))-mod1.mfnc.normB))/unit_A_cf))
Failed to evaluate variable.
- Variable: mod1.mfnc.normDiff
- Defined as: nojac(((unit_m_cf*(subst(mod1.mfnc.normB,mod1.mfnc.HX,(unit_A_cf/unit_m_cf))-mod1.mfnc.normB))/unit_A_cf))
Failed to evaluate expression.
- Expression: (mod1.mfnc.normDiff*mod1.mfnc.HZ)
The error is concerning the variables: mod1.mfnc.Hx, mod1.mfnc.Hy or mod1.mfnc.Hz with no rules.
I have already done some tests:
- Even if the solid mechanics has no linked to the previous magnetic calculation, I have the error.
- If I add a heat transfer instead of the solid mechanics, I am able to find the magnetic solution.
I am using Comsol 4.2a.
The BH curve that I use is the inverse of the HB curve from the magnetostrictive material used in the nonlinear magnetostrictive example.
What could I change to find a solution with a BH curve?
Hello Wesley Doorsamy
Your Discussion has gone 30 days without a reply. If you still need help with COMSOL and have an on-subscription license, please visit our Support Center for help.
If you do not hold an on-subscription license, you may find an answer in another Discussion or in the Knowledge Base.