Puma-EM
Royal Military Academy
Avenue de la Renaissance 30
B-1000 Brussels, Belgium
Phone: +32 2 742 66 61
http://www.rma.ac.be
Parameters explained
Simulation parameters are located in python files, themselves located in the "Puma-EM/parameters" directory. There are three parameters files: parameters.py, RCS_parameters.py and TDS_parameters.py. The parameters contained therein are explained hereafter.
parameters.py is a default file. The user should not change it. Simulation parameters are best changed in RCS_parameters.py, the front-end file for parameters.
general simulation parameters
Default and/or typical parameters values are given next to the parameter name.
- params_simu.pathToTarget = "./geo"
- the absolute or relative path to the target geo file location
- params_simu.targetName = "cubi"
- the name of the target, for example "cubi", "sphere", "boat_12", etc. The geo file has to exist of course!
- params_simu.targetDimensions_scaling_factor = 1.0
- the target scaling factor, needed when sometimes targets are designed in cm or mm units, instead of meters
- params_simu.z_offset = 0.0
- the vertical offset of the target
- params_simu.lx = 0.2
- parametric x dimension of the target. It will have an effect where applicable, i.e. for geo files that have lx as a parameter, otherwise it has no effect
- params_simu.ly = 0.2
- parametric y dimension of the target
- params_simu.lz = 0.2
- parametric z dimension of the target
- params_simu.MONOSTATIC_RCS = 0
- 1 if we want to compute the Monostatic RCS, 0 otherwise
- params_simu.FAR_FIELD = 1
- 1 if we want to compute the Far Fields, 0 otherwise
- params_simu.f = 2.12e9
- the frequency at which we want to solve the problem
- params_simu.eps_r = 1. + 0.j
- relative dieletric permittivity of the host medium
- params_simu.mu_r = 1. + 0.j
- relative magnetic permeability of the host medium
- params_simu.TDS_APPROX = 0
- do we use the Thin Dielectric Sheet approximation (for imperfect conductors). Use 1 if you intend to use this approximation
- params_simu.Z_s = 0.0 + 0.j
- the surface impedance used in the TDS approximation
- params_simu.EXCITATION = 'dipole'
- other choice is 'plane' for plane wave excitation
- params_simu.J_src_x = 1.0 + 0.j
- if 'dipole' excitation, gives the amplitude and phase of the J dipole in the x-direction. If 'plane' excitation, gives the amplitude and phase of the E-field of the plane wave in the x-direction at a given reference point (usually the origin)
- params_simu.J_src_y = 0.0 + 0.j
- same as for params_simu.J_src_x but in the y direction
- params_simu.J_src_z = 0.0 + 0.j
- same as for params_simu.J_src_x but in the z direction
- params_simu.r_src_x = 0.1
- gives the x-origin of the J dipole or of the plane wave
- params_simu.r_src_y = 0.1
- gives the y-origin of the J dipole or of the plane wave
- params_simu.r_src_z = 20.0
- gives the z-origin of the J dipole or of the plane wave
MLFMA parameters
These parameters are for advanced users to change. Most users will be happy with the default values.
- params_simu.COMPUTE_Z_NEAR = 1
- 1 if we need to compute the near field and SAI preconditioner sparse matrices, 0 otherwise
- params_simu.MOM_FULL_PRECISION = 1
- 1 for full precision in the MoM (more integration points on the triangles), 0 otherwise
- params_simu.lc_factor = 1.0/10.0
- the characteristic length factor. It will multiply lambda (the wavelength) to obtain the average edge length (lc) of the mesh. In Method of Moments, usually lc ~= lambda/10
- params_simu.a_factor = 0.25
- the a (finest cubes sidelength) factor -- it will multiply lambda (the wavelength) to obtain the side length of the leaf (finest) level. Usually a = lambda/4
- params_simu.nu = 0.2
- Combined Field Integral Equation factor. Changing this factor may result in fewer, or more likely, more iterations in solving the linear system. Value has to be between 0 and 1
- params_simu.BE_BH_N_Gauss_points = 1
- the number of points for the leaf cubes radiation functions calculation through Gaussian integration. Values can be 1, 3, 6, 9, 12, 13
- params_simu.DIRECTIONS_PARALLELIZATION = 1
- this option should be enabled if there is a big number of processors wrt the number of cubes at the coarsest level. To disable, enter 0
- params_simu.ALLOW_CEILING_LEVEL = 0
- do we allow a ceiling level that could be other than the third coarsest level? If yes: 1, if no, 0. the The ceiling level having the smallest memory footprint by its cubes is chosen
- params_simu.NB_DIGITS = 3
- number of significant digits carried out during the whole computation
- params_simu.TOL = 1.e-3
- iterative solver tolerance
- params_simu.SOLVER = SOLVERS[0]
- here we choose the solver. Since SOLVERS = ["BICGSTAB", "GMRES", "RGMRES", "FGMRES"], 0 yields "BICGSTAB", 1 yields "GMRES", 2 yields "RGMRES" and 3 yields "FGMRES"
- params_simu.MAXITER = 150
- the maximum number of iterations of the main solver. Not to be confused with the maximum number of matrix-vector multiplications!
- params_simu.RESTART = 30
- the restart value for GMRES-type solvers
- params_simu.INNER_SOLVER = SOLVERS[0]
- the choice of the inner solver, in an inner-outer solution scheme. Since SOLVERS = ["BICGSTAB", "GMRES", "RGMRES", "FGMRES"], 0 yields "BICGSTAB", 1 yields "GMRES", 2 yields "RGMRES" and 3 yields "FGMRES"
- params_simu.INNER_TOL = 0.25
- inner solver tolerance, which does not need to be as strong as the outer solver tolerance
- params_simu.INNER_MAXITER = 15
- inner solver maximum number of iterations
- params_simu.INNER_RESTART = 30
- restart parameter for inner solver
- params_simu.PRECOND = "FROB"
- the preconditioner type, defaulted to a Sparse Approximate Inverse using a Frobenius norm criterion. Not much of a choice here!
- params_simu.USE_PREVIOUS_SOLUTION = 1
- 1 if we want to use result from previous angle in monostatic RCS computation, 0 otherwise
- params_simu.MONOSTATIC_BY_BISTATIC_APPROX = 0
- 1 if we want to use the bistatic approximation for computing monostatic RCS, 0 otherwise
- params_simu.MAXIMUM_DELTA_PHASE = 0.0
- in case we want to use the bistatic approximation for computing monostatic RCS, this parameter allows for choosing the angle between samples
- params_simu.MAX_BLOCK_SIZE = 10.
- max block size for the near field and preconditioner matrices (in MBytes): the near field and preconditioner matrices are sliced in blocks and dumped to the disk in order to minimize RAM memory occupation
- params_simu.int_method_theta = "GAUSSL"
- Gauss-Legendre integration following theta for the MLFMA radiation function
- params_simu.int_method_phi = "PONCELET"
- Poncelet (mid-point method) integration following phi for the MLFMA radiation function
- params_simu.INCLUDE_BOUNDARIES = 0
- 1 if we include the boundaries of the radiation functions, 0 otherwise
- params_simu.PERIODIC_Theta = 1
- PERIODIC_Theta = 1 if we use Gaussian interpolator, 0 if we want to use the Lagrangian interpolator
- params_simu.PERIODIC_Phi = 1
- PERIODIC_Phi = 1 if we use Gaussian interpolator, 0 if we want to use the Lagrangian interpolator
- params_simu.CYCLIC_Theta = 1
- CYCLIC_Theta = 1 if we use cyclic interpolation for the radiation functions, 0 otherwise
- params_simu.CYCLIC_Phi = 1
- CYCLIC_Phi = 1 if we use cyclic interpolation for the radiation functions, 0 otherwise
post-processing parameters
- params_simu.CURRENTS_VISUALIZATION = 0
- CURRENTS_VISUALIZATION tells if we want to create a view of the currents in GMSH
- params_simu.SAVE = True
- save the output in a file
- params_simu.fileToSaveTo = 'result.txt'
- the name of the file which will store the results
- params_simu.VERBOSE = 1
- gives little to no informational output about program state if 0. Set to 1 for debugging infos