Fe基纳米晶软磁合金磁化曲线磁滞回线仿真遇到了困难,磁滞回线的矩形比超过了80%?不知道怎么调整了?因为纳米晶粒的尺寸一般为10-20nm,所以晶粒半径设为了5nm。将模拟的体系划分为l了两个区域,纳米晶相和残余非晶相。交换常数是晶粒间、非晶相间、晶粒与非晶相间三种。初始磁化状态是设置成了random,纳米晶粒设置的是立方各向异性,方向为(1 0 0),(0 1 0),但文献中的是晶粒取向随机分布。非晶相认为不存在磁晶各向异性,这样设置,反磁化过程剩磁很大,磁滞回线接近磁矩材料,现在不知道怎么调整了。求教!仿真软件用的oommf,以下是程序
# MIF 2.1
# MIF Example File: jingtaitexing.mif
# Description: Simulation of an array of spherical particles.
#
set pi [expr {4*atan(1.0)}]
set mu0 [expr {4*$pi*1e-7}]
RandomSeed 1
Parameter ball_radius 5e-9 ;# meters
Parameter ball_x_offset 5e-9 ;# meters
Parameter ball_y_offset 5e-9
Parameter ball_z_offset 5e-9
Parameter ball_x_spacing 10e-9 ;# meters
Parameter ball_y_spacing 10e-9
Parameter ball_z_spacing 10e-9
Parameter cellsize 5e-9 ;# meters
Parameter P1 0
Parameter P2 1
proc SphereGrid { x y z } {
global ball_radius
global ball_x_offset ball_y_offset ball_z_offset
global ball_x_spacing ball_y_spacing ball_z_spacing
global P1 P2
# Determine position relative to grid
set x [expr {fmod(abs($x-$ball_x_offset),$ball_x_spacing)}]
if {2*$x>$ball_x_spacing} {set x [expr {$ball_x_spacing-$x}]}
set y [expr {fmod(abs($y-$ball_y_offset),$ball_y_spacing)}]
if {2*$y>$ball_y_spacing} {set y [expr {$ball_y_spacing-$y}]}
set z [expr {fmod(abs($z-$ball_z_offset),$ball_z_spacing)}]
if {2*$z>$ball_z_spacing} {set z [expr {$ball_z_spacing-$z}]}
set radsq [expr {$x*$x+$y*$y+$z*$z}]
set index1 [expr {$P1+1}]
set index2 [expr {$P2+1}]
if {$radsq>$ball_radius*$ball_radius} {
return $index2
}
return $index1
}
# Atlas
Specify Oxs_ScriptAtlas:atlas [subst {
xrange {0 250e-9}
yrange {0 250e-9}
zrange {0 250e-9}
regions { bccFe Amor}
script SphereGrid
script_args rawpt
}]
Specify Oxs_RectangularMesh:mesh [subst {
cellsize {$cellsize $cellsize $cellsize}
atlas :atlas
}]
Specify Oxs_Exchange6Ngbr {
atlas :atlas
A {
bccFe bccFe 10e-11
bccFe Amor 7.75e-12
Amor Amor 6e-12
}
}
Specify Oxs_UniaxialAnisotropy:Amor [subst {
K1 { Oxs_AtlasScalarField {
atlas :atlas
values {
bccFe 0
Amor 1e5
}
}}
axis { Oxs_RandomVectorField {
min_norm 1.0
max_norm 1.0
}}
}]
Specify Oxs_PlaneRandomVectorField:axis1 [subst {
min_norm 1.0
max_norm 1.0
plane_normal {0 0 1}
cache_grid :mesh
}]
Specify Oxs_CubicAnisotropy:bccFe [subst {
K1 { Oxs_AtlasScalarField {
atlas :atlas
values {
bccFe 8e3
Amor 0
}
}}
axis1 :axis1
axis2 { Oxs_PlaneRandomVectorField {
min_norm 1.0
max_norm 1.0
plane_normal :axis1
cache_grid :mesh
}}
}]
Specify Oxs_UZeeman [subst {
multiplier [expr {0.001/$mu0}]
Hrange {
{ 0 0 0 4000 0 0 400 }
{ 4000 0 0 -4000 0 0 800 }
{-4000 0 0 4000 0 0 800 }
}
}]
Specify Oxs_Demag {}
Specify Oxs_CGEvolve {
gradient_reset_angle 80
gradient_reset_count 50
energy_precision 1e-3
}
Specify Oxs_MinDriver [subst {
evolver Oxs_CGEvolve
stopping_mxHxm 0.1
mesh :mesh
normalize_aveM_output 0
Ms { Oxs_AtlasScalarField {
atlas :atlas
values {
bccFe 10.3e5
Amor 9.2e5
}
}}
m0 { Oxs_RandomVectorField {
min_norm 1.0
max_norm 1.0
}}
}]铁基纳米晶软磁合金微磁学建模求助! |