Example i25:
Radial Dipole in a Sphere - Convergence
Computes the magnetic field due to a radial dipole in a sphere of radius 2 mm. The full magnetic field should be zero as the magnetic field from the dipole should exactly cancel that produced by the volume conductor. The magnetic fields are evaluated on the edges of a cube with vertices located at +/- 5 mm.
Convergence plots for using different basis functions and element refinement are shown below:
The comfile run by this example is as follows:
# Example i25
if(!defined $example)
{
$example='.' ;
$OUT="output"; unless (-d $OUT) {mkdir $OUT};
} else{
$OUT=".";
}
#$resolution = '16x16'
#$resolution = '4x4';
$resolution = '8x8'
#$interpolation = 'cubic';
$interpolation = 'linear';
fem define para;r;$example/torsotimedep;
fem define coor 3,1;
fem define regi;r;$example/two;
fem define base;r;$example/bi$interpolation;
if(0)
{
fem def mesh;r;sphere_$resolution;
fem def node;w;sphere_$resolution;
fem def elem;w;sphere_$resolution;
fem export node;$OUT/sphere as sphere;
fem export elem;$OUT/sphere as sphere;
quit;
} else
{
fem define node;r;$example/sphere_$resolution reg 1;
fem define elem;r;$example/sphere_$resolution reg 1;
fem export node;$OUT/sphere as sphere;
fem export elem;$OUT/sphere as sphere;
}
fem define node;r;$example/cube reg 2;
fem define elem;r;$example/cube reg 2;
#
# Export geometry
#
fem export node;$OUT/cube as cube reg 2;
fem export elem;$OUT/cube as cube reg 2;
fem define grid;r;$example/cube reg 2;
fem update grid geometr reg 2;
fem define equa;r;$example/laplace_bem_$interpolation reg 1 class 1 lock;
fem define mate;r;$example/laplace reg 1 class 1;
fem define sour;r;$example/dipole reg 1 class 1;
fem de anal;r;$example/eccentricdipole reg 1 cl 1;
fem de init;g reg 1 cl 1;
fem define solv;r;$example/nosalu_$interpolation reg 1 class 1;
fem define equa;r;$example/laplace_grid reg 2 class 2 lock;
#
# Solve and export potential due to a dipole
#
fem solve reg 1 class 1;
fem export node;$OUT/sphere_pot as sphere field;
fem export elem;$OUT/sphere_pot as sphere field;
#
# Read in perl subroutine: WriteGradPhiExelem
# which combines 3 scalar exelem files into a vector field
#
read com;$example/perl;
#
# Full magnetic field
#
fem li sour;
fem export source;$OUT/dipole as dipole;
for $TYPE ("dipole","volume","both")
{
printf("\n");
printf("*** Evalutating Magnetic Field from $TYPE\n");
fem eval solu magnet grid elem 551 iy 1 $TYPE;
$DXFILENAME="tmp_x";
$DYFILENAME="tmp_y";
$DZFILENAME="tmp_z";
$OUTPUTNAME="$OUT/H_$TYPE";
fem export elem;$DXFILENAME as cube field reg 2 class 2 iy 2 grid_numbers;
fem export elem;$DYFILENAME as cube field reg 2 class 2 iy 3;
fem export elem;$DZFILENAME as cube field reg 2 class 2 iy 4;
#
# Combine the 3 scalar field into a single vector field
#
&WriteGradPhiExelem($DXFILENAME,$DYFILENAME,$DZFILENAME,$OUTPUTNAME);
}
Files used by this example are:
Name Modified Size
example_i25.com 27-Jan-2009 2.5k
README.txt 27-Jan-2009 3.0k
bicubic.ipbase 27-Jan-2009 6.8k
bilinear.ipbase 27-Jan-2009 5.7k
cube.ipelem 27-Jan-2009 447
cube.ipgrid 27-Jan-2009 601
cube.ipnode 27-Jan-2009 2.1k
dipole.ipsour 27-Jan-2009 301
draw.com 27-Jan-2009 3.0k
eccentricdipole.ipanal 27-Jan-2009 720
laplace.ipmate 27-Jan-2009 54
laplace_bem_cubic.ipequa 27-Jan-2009 1.3k
laplace_bem_linear.ipequa 27-Jan-2009 1.3k
laplace_grid.ipequa 27-Jan-2009 1.2k
nosalu_cubic.ipsolv 27-Jan-2009 1.3k
nosalu_linear.ipsolv 27-Jan-2009 1.2k
perl.com 27-Jan-2009 2.4k
sphere_16x16.ipelem 27-Jan-2009 84k
sphere_16x16.ipmesh 27-Jan-2009 985
sphere_16x16.ipnode 27-Jan-2009 211k
sphere_4x4.ipelem 27-Jan-2009 5.7k
sphere_4x4.ipmesh 27-Jan-2009 983
sphere_4x4.ipnode 27-Jan-2009 12k
sphere_8x8.ipelem 27-Jan-2009 21k
sphere_8x8.ipmesh 27-Jan-2009 983
sphere_8x8.ipnode 27-Jan-2009 51k
torsotimedep.ippara 27-Jan-2009 5.9k
two.ipregi 27-Jan-2009 93
Download the entire example:
Name Modified Size
examples_i_i2_i25.tar.gz 31-Jan-2009 43k
Testing status by version:
Testing status by file:
- cmiss_test.log
- H_both.exelem
i686-linux | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
rs6000-aix | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
Success | cm64: | ndiff test: no significant differences with
generic answer.
|
Success | cm64-debug: | ndiff test: no significant differences with
generic answer.
|
x86_64-linux | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
- H_dipole.exelem
i686-linux | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
rs6000-aix | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
Success | cm64: | ndiff test: no significant differences with
generic answer.
|
Success | cm64-debug: | ndiff test: no significant differences with
generic answer.
|
x86_64-linux | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
- H_volume.exelem
i686-linux | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
rs6000-aix | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
Success | cm64: | ndiff test: no significant differences with
generic answer.
|
Success | cm64-debug: | ndiff test: no significant differences with
generic answer.
|
x86_64-linux | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
- sphere_pot.exnode
i686-linux | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
rs6000-aix | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
Success | cm64: | ndiff test: no significant differences with
generic answer.
|
Success | cm64-debug: | ndiff test: no significant differences with
generic answer.
|
x86_64-linux | | | |
Success | cm: | ndiff test: no significant differences with
generic answer.
|
Success | cm-debug: | ndiff test: no significant differences with
generic answer.
|
Html last generated: Sun Mar 6 05:51:38 2016
Input last modified: Fri Jan 30 12:10:09 2009
CMISS Help /
Examples /
i /
i2 /
i25