Contenido principal

solver

Specify FMM and FEM solver settings during electromagnetic analysis

Since R2021b

    Description

    Use the solver object to configure solver-specific settings for the fast multipole method (FMM) and finite element method (FEM) solvers during electromagnetic (EM) analysis. Egg-crate-array, platform-installed, and curved-reflector antennas, as well as plane wave excitation environments support the FMM solver while PCB antennas support the FEM solver for the analysis.

    Creation

    Description

    s = solver(obj) returns the solver used in the antenna defined in obj for EM analysis. For more information on EM analysis, see Full-Wave Analysis. After you create a solver object, you can modify the object properties using dot notation.

    Note

    You must set the SolverType property of the antenna , array, or plane wave excitation environment object to "FMM" or "FEM" to access the solver object.

    example

    Input Arguments

    expand all

    Antenna or array to configure the solver for, specified as one of the following:

    Antenna/Array NameAntenna/Array Objects
    Egg-crateeggCrate
    Platform-installed antennainstalledAntenna
    Plane wave excitation environmentplaneWaveExcitation
    Curved reflectors
    PCB AntennapcbStack

    Example: s = solver(obj)

    Properties

    expand all

    FMM Solver

    Maximum number of iterations needed by the FMM solver to achieve convergence, specified as a positive scalar. During EM analysis, if convergence is achieved with fewer iterations than the maximum number of iterations specified using this property, the FMM solver terminates the EM analysis and displays the EM analysis solutions.

    Example: obj.Iterations = 150;

    Residual error allowed in EM solution, specified as a positive scalar.

    Example: obj.RelativeResidual = 1.5e-3;

    FMM solver precision, specified as a positive scalar.

    Example: obj.Precision = 2.0000e-5;

    FEM Solver

    FEM solver boundary condition, specified as "perfectly-matched-layer" or "absorbing".

    Data Types: string

    Object Functions

    convergenceCalculate and plot convergence of FMM solver

    Examples

    collapse all

    Design a default parabolic reflector antenna.

    m = reflectorParabolic;

    Set the solver type of the parabolic reflector antenna to FMM.

    m.SolverType = "FMM";

    Calculate the impedance of the parabolic reflector antenna at 10 GHz.

    Z = impedance(m,10e9);

    Access the FMM solver and set the relative residual to 1e-3.

    s = solver(m);
    s.RelativeResidual = 1e-3;

    Calculate and plot the convergence of the FMM solver for the parabolic reflector antenna.

    convergence(s)

    Figure contains an axes object. The axes object with title Convergence, xlabel Iterations, ylabel Relative residual contains an object of type line.

    Create a pcbStack object with its SolverType property set to "FEM".

    p = pcbStack(SolverType="FEM")
    p = 
      pcbStack with properties:
    
                  Name: 'MyPCB'
              Revision: 'v1.0'
            BoardShape: [1×1 antenna.Rectangle]
        BoardThickness: 0.0100
                Layers: {[1×1 antenna.Rectangle]  [1×1 antenna.Rectangle]}
         FeedLocations: [-0.0187 0 1 2]
          ViaLocations: []
           ViaDiameter: []
           FeedVoltage: 1
             FeedPhase: 0
             Conductor: [1×1 metal]
                  Tilt: 0
              TiltAxis: [1 0 0]
                  Load: [1×1 lumpedElement]
            SolverType: 'FEM'
             Connector: [1×1 RFConnector]
    
    

    Create the solver object.

    s = solver(p)
    s = 
      FEM with properties:
    
        BoundaryCondition: 'perfectly-matched-layer'
    
    

    Specify the boundary condition as "absorbing".

    s.BoundaryCondition = "absorbing"
    s = 
      FEM with properties:
    
        BoundaryCondition: "absorbing"
    
    

    Version History

    Introduced in R2021b

    expand all