123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- namespace Lemma{
-
- /**
- \page EmSources
-
- <div class="lemmamainmenu">
- \ref Intro "Intro"
- | \ref Compiling "Compiling"
- | \ref Memory "Memory management "
- | \ref Minimal "Minimal programme"
- | \b EM \b Sources
- </div>
-
- We support the following dipole types:
- - Grounded electric
- - ungrounded electric
- - magnetic
- Each in horizontal and vertical polarizations. Dipoles may be placed anywhere in a model.
-
- \code
- DipoleSource *dipole = DipoleSource::New();
- dipole->SetType(GROUNDEDELECTRICDIPOLE);
- dipole->SetPolarisation(XPOLARISATION);
- //dipole->SetPolarisation(YPOLARISATION);
- //dipole->SetPolarisation(ZPOLARISATION);
-
- //dipole->SetType(UNGROUNDEDELECTRICDIPOLE);
- //dipole->SetPolarisation(XPOLARISATION);
- //dipole->SetPolarisation(YPOLARISATION);
- //dipole->SetPolarisation(ZPOLARISATION);
-
- //dipole->SetType(MAGNETICDIPOLE);
- //dipole->SetPolarisation(XPOLARISATION);
- //dipole->SetPolarisation(YPOLARISATION);
- //dipole->SetPolarisation(ZPOLARISATION);
-
- dipole->SetMoment(1);
- dipole->SetLocation(1,1,-1e-4);
- dipole->SetNumberOfFrequencies(1);
- dipole->SetFrequency(0,2000);
- dipole->SetPhase(0);
- \endcode
- Each of the above dipole types is shown in this example. Note the use of enumerations (ALLCAPS) instead of integer markers,
- making the code immediately obvious. The location is set in x,y,z order. A right hand coordinate system is used with
- a pointing down. So this dipole is just in the air.
- Only a sinlge frequency is computed, at 2000 Hz, and the phase is set to zero.
-
- \section Other Other sources
- Currently we also support arbitrary ungrounded wire loops. We plan to support grounded wire loops in the near future as well.
-
- For our example we will construct a wire antenna loop. To do this insert this code into your skeleton application shown on the previous page.
-
- \code
- PolygonalWireAntenna *pa = PolygonalWireAntenna::New();
- pa->SetNumberOfPoints(5);
- pa->SetPoint(0, Vector3r( 0, 0, -1e-3));
- pa->SetPoint(1, Vector3r( 100, 0, -1e-3));
- pa->SetPoint(2, Vector3r( 100, 100, -1e-3));
- pa->SetPoint(3, Vector3r( 0, 100, -1e-3));
- pa->SetPoint(4, Vector3r( 0, 0, -1e-3));
- pa->SetNumberOfFrequencies(2);
- pa->SetFrequency(0, 1000);
- pa->SetFrequency(0, 5000);
- pa->SetCurrent(10);
- pa->SetNumberOfTurns(1);
- \endcode
- The code is basically self-explanitory. We are constructing a single turn wire loop with 5 points. The first and last
- point are the same making this a loop, but that is not a requirement. All loops must be 'closed' in this fashion.
- We are interested in two frequencies: 1 and 5 kHz and we have a 10 A current running through a single turn wire.
- */
-
- }
|