# Flux-density¶

Function: b, b1, b2 = induc_xy(x, y)

Returns the value and the components at the point x,y.

Parameter
x Coordinate 1
y Coordinate 2
Return value:

Magnitude b and components b1 and b2 of the flux-density at (x,y)

Command: post_models(“induct(x)”, “B”)

Determines the distribution of flux-density along a specified path.

The evaluation path can be specified as follows:

1. Straight or circular arc given by the points (x1, y1) and (x2, y2) in cartesian coordinates. In the cartesian coordinate system, the path is a straight line; in the polar coordinate system, a circular arc is defined in a mathematically positive direction.

2. Circle with centre at the point (x1, y1).

3. Circle with centre at the origin given by the air-gap radius stored in the model. The basic data of the model can be set via pre_models(‘basic_modpar’). This is done automatically for the parameter-based models (M-Models) available in FEMAG.

According to the number of defined coordinate points, it is recognized which of these three cases is intended. In case 3, no coordinates need be specified.

Parameter

[out] b is a freely-selectable variable identifier that returns the evaluation position and the flux-density components.

Example in cartesian coordinates:

```m.coord_x1   = 38.254   -- Point coordinate x1 [mm]
m.coord_y1   = 1.695    -- Point coordinate y1 [mm]
m.coord_x2   = 32.548   -- Point coordinate x2 [mm]
m.coord_y2   = 17.560   -- Point coordinate y2 [mm]

post_models("induct(x)","b")

N = table.getn(b)       -- Number of elements in array

ph1 = b  -- first position [mm]
bn1 = b  -- first normal component of induction [T]
bt1 = b  -- first tangential component of induction [T]
ph2 = b  -- second position
bn2 = b  -- second normal induction
bt2 = b  -- second tangential induction
...
```

Example in polar coordinates: (r/phi system)

Model creation or prior flux-density evaluation must specify the basic model parameters that are stored in the model. This is done automatically for the parameter-based models (M-Models) available in FEMAG.

```m.fc_radius =  27  --   Radius air-gap center [mm]

pre_models("basic_modpar");
```

The flux-density evaluation can be carried out below without further information.

```post_models("induct(x)","b")

N = table.getn(b)       -- Number of elements in array

ph1 = b  -- first angular position [°]
br1 = b  -- first radial component of induction [T]
bp1 = b  -- first circumferential component of induction [T]
ph2 = b  -- second position
br2 = b  -- second radial induction
bp2 = b  -- second circumferential induction
...
```

Parameters defined in the script can be deleted by assigning nil. This is necessary in certain cases, e.g. if both coordinates m.coord_x1/y1 and m.coord_x2/y2 have already been defined, but for a further evaluation the path is specified as a circle with radius m.coord_x1/y1. The second point should then be

```m.coord_x2 = nil
m.coord_y2 = nil
```

to allow FEMAG to recognize that the path is now a circle.

Example of the output of the induction values to a file:

```post_models("induct(x)","b")    -- Calculate field distribution

data=io.open("Ausgabe.csv","w+")              -- Output in data file
data:write("# phi [°], Br [T], Bph [T]")
N = table.getn(b)                             -- Number of elements in array
i = 1
repeat
data:write(string.format("%g, %g, %g\n",b[i],b[i+1],b[i+2]))
i = i+3
until i>=N
io.close(data)                  -- Don't forget to close the file
```