Magnets.BaseMagnet#
A partial model to act as a platform on which specialized magnet systems can be built.
Extended By#
Information#
The following is the base magnet model. From this partial model, the TF and PF magnets are extended, and theoretically any other magnet system could be extended as well.
The model does not consider temperature and field variations, and it does not consider any standard coil protection schemes such as FDUs.
Input#
The input i_in
is intended to come in as a predefined signal (see MagnetPower), and a SignalCurrent block is used to translate this signal into a current for our system.
Power Supply#
Given the required fidelity and detail of the model, we do not have to model the behaviour of an AC-DC converter. In fact, our input signal is already a DC current generated by a comverter somewhere upstream, outside the model. Should the behaviour of an AC-DC converter need to be modelled, this can be done in a separate model.
With the above in mind, we have used a ConstantVoltage component to emulate the voltage drop (and thus power consumption) of a power converter. The relevant iinput here is __Vdrop
which, multiplied by two, gives a rough estimate.
This means our power supply unit does not consider the relationship between output current and voltage drop, and is 'always on'.
Feeder#
The feeder for this system assumes one of two options - a resistive (default) using the basic Resistor component, and a superconducting option using the custom SuperconLayer. It can be thought of as the description of the busbars and feeders that link the power converter with the coils. However, capacitance and inductance are ignored.
The input for a resistive feeder is __Rfeeder
.
Coil#
As with the feeder, the user may choose either a resistive (default) using the basic Resistor component, and a superconducting option using the custom SuperconLayer. The input for a resistive coil is __Rcoil
.
Here we can also model the inductance of the coil, set by assigning a value to Lself. (right now the value cannot be set externally, define a new parameter in the extended model and assign it during declaration). Inductor saturation is not considered, and coupling between the coil and external structures may be included as part of the inductance value. Eddy currents are not considered.
The joints here are set as a separate Resistor. Their resistance Rjoint may, for now, only be set within the model (but as with Lself, you may make it equal to an externally-accessible parameter in an extended model).
Coolant flow#
The variable Hflow is the total mass flow rate of cryogenic helium through heat exchangers on magnet coil feeders. The flow rate is proportional to the current rating of the feeder, which is given by __maxcurrent
(due to the scaling of cross section with current rating.
The constant of proportionality __Feeder_m is taken from [1] for a 50K HTS current feeder (see p85).
Outputs#
The model outputs are:
Variable | Description |
---|---|
P_amb |
The heating power dissipated in the air (the loss in the power supply basically) |
P_cryo |
The heating power loss at cryogenic temperature (pretty much all losses other than the power supply) |
P_tot |
The total electrical power required to run the system |
Hflow |
Coolant flow. |
Parameters#
The following are the remaining parameters that this base model needs (reminder that a double underscore __
indicates a parameter that can be modified externally to Modelica):
Parameter | Description |
---|---|
__nTurn |
Number of turns in one coil. |
JpTurn |
Number of joints per turn. |
__numCoils |
Number of coils in the system. |
__maxCurrent |
Maximum anticipated operating current per turn. |
__coilLength |
The length of one coil. |
Choosing between resistive and superconducting models#
The feeder and coil models use "conditional components" to select the type of conductor based on boolean parameters isSuperconCoil
and isSuperconFeeder
. This selection is done during compilation and therefore you cannot select the other option after the model has been compiled. The components and connections of the "other" conductor material are completely ignored and simply do not exist in the compiled version of the model. As such, you may be able to see that some connections appear "doubled-up" - in order to make sure everything is properly connected when an option is selected.
Superconductor scaling#
At present, the hysteresis model is simulating flux/length \(Wb/m\) in one BSCCO tape with the following characteristics:
- \(I_c = 16.85\:\mathrm{A}\)
- \(n = 20\)
- \(R_{\mathrm{normal}} = 1\times10^8\:\Omega\mathrm{/m}\)
and hysteresis parameterization as given in Superconductor.Data.HTS_EverettParameter
. There is a need to scale that to fit a full-size cable.
It is assumed that there are n number of tapes all connected in parallel and the value of n is found by dividing the maximum operating current by the product of the critical current of the tape and the safety factor, e.g. n = current / (safety factor * critical current). The voltage drop across each tape is obtained by multiplying the flux/length by the length of the cable (coil or coil system circumference times number of turns). der(flux/length * length) equals voltage. The power loss is calculated for each tape and then summed up for all of them.
This is a crude assumption and should not be used past some preliminary investigation stage. At the very least, better data should be used, but current-flux relationship characterizations are rare in literture.
References#
[1] Tanna, V. L. 'Design and Analysis of the Superconducting Current Feeder System for the International Thermonuclear Experimental Reactor (ITER)', October 2006
Warnings#
Translation warnings
Building the model may produce a Translation Warning:
Conditional component 'resistiveCoil'/superconCoil is used in a non-connect context.
Revisions#
Date | Comment | Authors |
---|---|---|
2021-03-11 | Documentation created and model updated | Alexander Petrov |
2020-08-31 | Initial model implemented | Samuel Stewart, Finlay Christie, Katherine Rochford, Sophie Gribben |