Logo Search packages:      
Sourcecode: qantenna version File versions  Download package

rpcard.h

/***************************************************************************
 *   Copyright (C) 2007 by                                                 *
 *   Lisandro Damián Nicanor Pérez Meyer - perezmeyer en/at gmail.com      *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

#ifndef RPCARD_H
#define RPCARD_H

#include "genericcard.h"
#include <QString>

/**
      RP card: Radiation Pattern
      Specify radiation pattern sampling parameters and to cause program execution.
      Options for a field computation include a radial wire ground screen, a cliff,
      or surface-wave fields.
*/

00034 class RPCard : public GenericCard
{
public:
      RPCard(int theModeOfCalculation, int theNumberOfValuesOfTheta,
             int theNumberOfValuesOfPhi, int theXNDA, double theInitialTheta,
             double theInitialPhi, double theIncrementTheta,
             double theIncrementPhi, double theRadialDistance,
             double theGainNormalization);

      int getModeOfCalculation() const;
      int getNumberOfValuesOfTheta() const;
      int getNumberOfValuesOfPhi() const;
      int getXNDA() const;
      double getInitialTheta() const;
      double getInitialPhi() const;
      double getIncrementTheta() const;
      double getIncrementPhi() const;
      double getRadialDistance() const;
      double getGainMormalization() const;

      void setModeOfCalculation(int theModeOfCalculation);
      void setNumberOfValuesOfTheta(int theNumberOfValuesOfTheta);
      void setNumberOfValuesOfPhi(int theNumberOfValuesOfPhi);
      void setXNDA(int theXNDA);
      void setInitialTheta(double theInitialTheta);
      void setInitialPhi(double theInitialPhi);
      void setIncrementTheta(double theIncrementTheta);
      void setIncrementPhi(double theIncrementPhi);
      void setRadialDistance(double theRadialDistance);
      void setGainMormalization(double theGainNormalization);

      QString getCard();

private:
      /**
            (I1) This integer selects the mode of calculation for the radiated field.
            Some values of (I1) will affect the meaning of the remaining parameters on
            the cart. Options available for I1 are:

            O - normal mode. Space-wave fields are computed. An infinite ground plane
            is included if it has been specified previously on a GN cart; otherwise,
            antenna is in free space.
            1 - surface wave propagating along ground is added to the normal space
            wave. This option changes the meaning of some of the other parameters on
            the RP cart as explained below, and the results appear in a special output
            format. Ground parameters must have been input on a GN card.

            The following options cause calculation of only the space wave but with
            special ground conditions. ground conditions include a two medium ground
            (cliff) where the media join in a circle or a line, and a radial wire
            ground screen. Ground parameters and dimensions must be input on a GN or GD
            card before the RP card is read. The RP card only selects the option for
            inclusion in the field calculation. (Refer to the GN and GD cards for
            further explanation.)

            2 - linear cliff with antenna above upper level. Lower medium parameters
            are as specified for the second medium on the GN cart or on the GD card.
            3 - circular cliff centered at origin of coordinate system: with antenna
            above upper level. Lower medium parameters are as specified for the second
            medium on the GN card or on the GD card.
            4 - radial wire ground screen centered at origin.
            5 - both radial wire ground screen and linear cliff.
            6 - both radial wire ground screen ant circular cliff.

            The field point is specified in spherical coordinates (R. sigma, theta),
            illustrated in figure 18, except when the surface wave is computed. For
            computing the surface wave field (I1 = 1), cylindrical coordinates (phi,
            theta, z) are used to accurately define points near the ground plane at
            large radial distances. The RP cart allows automatic stepping of the field
            point to compute the field over a region about the antenna at uniformly
            spaced points. The integers I2 and I3 and floating point numbers Fl, F2, F3
            and F4 control the field-point stepping.
      */
00107       int modeOfCalculation;
      /**
            Number of values of theta (e) at which the field is to be computed (number
            of values of z for I1 = 1).
      */
00112       int numberOfValuesOfTheta;
      /**
            Number of values of phi (f) at which field is to be computed. The total
            number of field points requested by the card is NTH x NPH. If I2 or I3 is
            left blank, a value of one will be assumed.
      */
00118       int numberOfValuesOfPhi;
      /**
            XNDA (I4) - This optional integer consists of four independent digits in
            columns 17, 18, 19 and 20, each having a different function. The mnemonic
            XNDA is not a variable name in the program. Rather, each letter represents
            a mnemonic for the corresponding digit in I4. If I1 = 1, then I4 has no
            effect and should be left blank.

            X - (column l7) control output format.
            X = 0 major axis, minor axis and total gain printed.
            X = 1 vertical, horizontal ant total gain printed.

            N - (column 18) causes normalized gain for the specified field points to be
            printed after the standard gain output. The number of field points for
            which the normalized gain can be printed is limited by an array dimension
            in the program. In the demonstration program, the limit is 600 points. If
            the number of field points exceeds this limit, the remaining points will be
            omitted from the normalized gain. The gain may be normalized to its maximum
            or to a value input in field F6. The type of gain that is normalized is
            determined by the value of N as follows:

            N = 0 no normalized gain.
            = 1 major axis gain normalized.
            = 2 minor axis gain normalized.
            = 3 vertical axis gain normalized.
            = 4 horizontal axis gain normalized.
            = 5 total gain normalized.

            D - (column 19) selects either power gain or directive gain for both
            standard printing ant normalization. If the structure excitation is an
            incident plane wave, the quantities printed under the heading gain will
            actually be the scattering cross section (a/lambda 2 ) and will not be
            affected by the value of D. The column heading for the output will still
            read "power" or "directive gain," however.
            D = 0 power gain.
            D = 1 directive gain.

            A - (column 20) requests calculation of average power gain over the region
            covered by field points.
            A = 0 no averaging.
            A = 1 average gain computed.
            A = 2 average gain computed, printing of gain at the field points used for
            averaging is suppressed. If NTH or NPH is equal to one, average gain will
            not be computed for any value of A since the area of the region covered by
            field points vanishes.
      */
00164       int xnda;
      /// Initial theta angle in degrees (initial z coordinate in meters if I1 = 1)
00166       double initialTheta;
      /// Initial phi angle in degrees.
00168       double initialPhi;
      /// Increment for theta in degrees (increment for z in meters if I1 = 1).
00170       double incrementTheta;
      /// Increment for phi in degrees.
00172       double incrementPhi;
      /**
            Radial distance (R) of field point from the origin in meters. RFLD is
            optional. If it is blank, the radiated electric field will have the factor
            exp(-jkR)/R omitted. If a value of R is specified, it should represent a
            point in the far-field region since near components of the field cannot be
            obtained with an RP cart. (If I1 = 1, then RFLD represents the cylindrical
            coordinate phi in meters and is not optional. It must be greater than about
            one wavelength.)
      */
00182       double radialDistance;
      /**
            GNOR
            Determines the gain normalization factor if normalization has been requested
            in the I4 field. If GNOR is blank or zero, the gain will be normalized to
            its maximum value. If GNOR is not zero, the gain w111 be normalized to the
            value of GNOR.
      */
00190       double gainNormalization;
};

#endif // RPCARD_H


Generated by  Doxygen 1.6.0   Back to index