Once the geometry modeling is completed, the user can define a Higher Order Basis Based Integral Equation Solver (HOBBIES) project, create a mesh, and run simulations. The HOBBIES solution settings include specifying the operation mode, units, frequency, and so on. The operation mode determines whether HOBBIES solves either the radiation from an antenna or the scattering from an object excited by a plane wave. The unit option will define the units of frequency, coordinate, radius, voltage, and field. It also provides functions to convert the unit or the value of a variable into different units.
Assigning domains is an essential step in a HOBBIES project. In this chapter, the user will learn how to define domains and how to assign a domain to wires and quadrilateral surfaces. For complicated models involving multilayer structures, the user can make use of Layers to ease the job.
HOBBIES is capable of modeling both concentrated and distributed loading. The concentrated loading can model lumped elements such as resistors, inductors, capacitors, or their combinations. The latter is useful for modeling loading over a wire or a quadrilateral surface to simulate a coated structure, for example. Both types of loading are explained in detail later.
Two additional settings that may be involved in a HOBBIES solution are symmetry and edging. Symmetry properties can be used to speed up the analysis only if both the geometry and the excitation are symmetrical or anti-symmetrical with respect to the same basic coordinate plane. Edging is a manipulation that enables automatic meshing along the edges when the edge effect is a critical parameter for an accurate analysis.
Output options need to be set to display the current distribution, near-field distribution, and far-field radiation patterns. Other options include choosing the accuracy of integrals used in a simulation, setting the order of the current expansion, configuring the type of matrix inversion, and choosing the number of decimal digits for the elements of the impedance matrix.
The last step before running the simulation is to mesh the model. After meshing, the well-defined project can then be run in either serial or parallel mode using an in-core or out-of-core solver.
Menu: HOBBIESOperation
Toolbar:
Electromagnetic structures can be excited by voltage generators at their ports (antennas, microwave circuits, and electromagnetic compatibility (EMC) facilities) or by plane waves. Structures excited by voltage generators are called antennas, while those excited by plane waves are termed “scatterers.” The user can choose either of the two operation modes for antennas and of the two operation modes for scatterers, as shown in Figure 6.1.
Antenna Modes
Note: All ports are defined in the HOBBIESExcitationGenerators list.
Scatterer Modes
Menu: HOBBIESUnits
Toolbar:
The units can be defined according to the problem parameters as follows:
The Units window is shown in Figure 6.2 (a)—(e) for Frequency, Coordinate, Radius, Voltage, and Field, respectively. For each unit, two options can be applied:
Menu: HOBBIESFrequency
Toolbar:
An analysis is performed at one or more uniformly distributed frequency points. The frequency range is defined by the Start frequency, Stop frequency, and Number of frequencies, as shown in Figure 6.3.
The numerical parameters of the analysis are determined with respect to the Stop frequency. For example, the mesh used in a simulation is determined by the Stop frequency. How to generate a mesh is discussed in details in Chapter 5.
If the Number of frequencies is set to be 1, the analysis will be performed only at the Start frequency. Otherwise, the analysis will be performed at the frequencies that are uniformly distributed between the start and stop frequencies.
Menu: HOBBIESStructureDomains
Toolbar:
The Domains menu contains three options: Define, Assign, and View.
Define domains
To define domains, click the Define option and the Define Domains list appears, as shown in Figure 6.4. Each domain consists of all bodies made of the same material. By default, Domain 0 consists of all bodies made of perfect electric conductor (PEC), and Domain 1 is free space (perfect vacuum by default). Boundary surfaces of domains are defined by Wires and Surfaces.
In the Define Domains list, one row of the list, which contains the domain number and the electric parameters, defines one domain. The following electric properties of the Domains are specified in the Define Domains list:
Warning: For real materials, imaginary parts of the complex electrical permittivity and magnetic permeability are always negative. Thus a negative value has to be provided in the boxes of Figure 6.4 for a lossy material (by default, the domain is set to be lossless). The complex relative constants can take practically all values of interest, except that results become less stable and accurate for | εr | × | μr |> 1000, unless the double-precision OPTION is used.
In addition, the following can be done in the Define Domains list:
Note: The Domain 2 is reserved for the real ground, when the conductivity of domain 2 is assigned with a minus sign “–”. It indicates to HOBBIES that a real ground should be taken into account for evaluation of the radiation pattern (referring to Section 8.5) using the reflection coefficient method. It is denoted with a yellow color, as shown in Figure 6.4. The procedure to define the real ground is the same as that to define a dielectric surface except that the conductivity needs to be written with a minus sign.
For the analysis of the real ground there are two steps to the solution process. At the first step, the real ground is modeled by a finite dielectric plane. Only the part of the ground placed below the object significantly influences the current distribution. In the second step, only the upper surface of this plate is modeled as an open dielectric surface. Then these currents are used to find the radiation pattern using the reflection coefficient method of an infinite ground plane.
Assign domains
To assign the domains to which wires belong or the domains of metallic and dielectric surfaces, the Assign Domains list, shown in Figure 6.5, needs to be used.
The default domain number of a wire is 1, which means that the wire is immersed in free space.
By using the Assign Domains list, the user can define:
The default domain numbers of a basic metallic surface are 1 and 0, which means that the surface is immersed in free space.
Note: In the latter two cases, the sequence of the two domain numbers is not significant. For example, the definition of Domains 2 and 3 is the same as that of Domains 3 and 2. Check or uncheck the box of a layer to display or hide the corresponding entities in that layer, as shown in Figure 6.6. This function is very useful when assigning domains for complex structures.
In addition, the following can be done in the Assign Domains list:
View domains
The user can view domains in different colors to verify domain assignments by using the View option, as shown in Figure 6.7.
For complex structures including multiple types of dielectrics, the View option helps the user to check domains. An example including eight dielectric domains is depicted in Figure 6.8. Check or uncheck the box of one domain, and all the structures including wires and surfaces belonging to that domain are displayed or hidden. By using this feature, it is possible to see the domain properties of the model clearly.
The Color and Transparency of each domain can be set by clicking the corresponding options in that row of the list. An example including eight dielectric domains is depicted in Figure 6.9.
In addition, the following can be done in the View Domains list:
Define the Domains of Metallic and Dielectric Surfaces
As discussed above, three types of quadrilateral surfaces are considered:
Domains for wires and quadrilateral surfaces can also be edited through the Wire list and Surface list window, which appears by going to the menu HOBBIESStructureWires/Surfaces. The domain(s) of each surface should be defined according to the rules summarized in Table 6.1.
The following are some examples regarding how to set up the domains.
In the first example, the metallic surface is of a basic type and is immersed in vacuum (first domain). Therefore, for the metallic surface, enter the numbers 1 and 0 (in this order) into the 1st and 2nd domain edit fields. The Surface list window is shown in Figure 6.10.
In the second example, the metallic surface should be immersed in a dielectric body, which belongs to the second domain. Click the 1st domain edit field, type in number 2, and press the Enter key. Click the 2nd domain edit field, type in number 0, and press the Enter key. The Surface list window is shown in Figure 6.11.
In the third example, the metallic surface is of a composite type and is placed at the boundary surface between a dielectric and the vacuum (first and second domains). Therefore, for the metallic surface type numbers −2 and −1 into the 1st and 2nd domain edit fields. The Surface list should look like that in Figure 6.12.
Note that for a dielectric body, the surfaces that form the body need to be a closed contour. And the domain settings for the surface can either be (i, j) or (−i, −j) depending on whether it is a dielectric surface or a composite metallic surface.
Define the Domain to Which a Wire Belongs
Wires are defined in the same way as for a basic metallic surface. In addition, the domain of a wire is considered to be the domain in which it is immersed.
Note: A wire can belong to one domain only, and is always immersed in it. If a wire belongs to two separate domains, then the wire structure needs to be split into two separate wire, each embedded in its own domain and connected at the interface.
Each row of the Wire list defines one wire. The default Domain edit field displays number 1, which means that the wire is immersed in vacuum (first domain). Click the Domain edit field, type in number 2, and press the Enter key. Then the first wire is immersed in the second domain. The Wire list window is shown in Figure 6.13.
Menu: HOBBIESLoadings
By default, wires and metallic surfaces are considered to be composed of a perfect electric conductor. Real material properties of wires and metallic surfaces (e.g., finite conductivity) can be taken into account by adding distributed loadings over the wires and surfaces. These loadings are defined by the Distributed Loadings editor.
Lumped elements inserted at the junction of a wire with other wires or surfaces are modeled by concentrated loadings. These loadings are defined by the Concentrated Loadings editor.
Menu: HOBBIESLoadingsDistributed
Toolbar:
Consider a thin layer of thickness δ, made of a homogeneous medium of parameters εm, μ0, and σm , surrounded by a nonconducting homogeneous medium of parameters ε and μ0. Such a layer is modeled by two dielectric surfaces. If |σm + jωεm| >>| jωε| and δ <<λ, the layer can be replaced by a PEC metallic surface with a distributed loading of surface impedance:
So, the layer can be modeled by a single metallic surface. In this way, the number of unknowns is reduced at least by a factor of four.
Surface impedances for a resistive layer ( εm = ε ) and dielectric layer (σm = 0) are given in Table 6.2.
Consider a thin rod of radius a, made of a homogeneous medium of parameters εm , μ0 , and σm , surrounded by a nonconducting homogeneous medium of parameters ε and μ0. Such a rod is modeled by dielectric surfaces. If |σm + jωεm | >>| jωε|, then the rod can be replaced by a PEC metallic wire with distributed loading of per-unit-length impedance:
In this way, we model the rod by a single wire and the number of unknowns is reduced by a factor of about ten for this case. The surface impedance of a wire is related to the per-unit-length impedance Z′ through
In particular, if the rod is hollow, we use Eq. (6.1) for Zs, and Z′ is calculated according to Eq. (6.3).
Surface impedances for a resistive layer of thickness δ (εm = ε) and a dielectric rod (σm = 0) are shown in Table 6.3. In general, Eq. (6.1) can be written in the following form:
We see that surface impedance represents the parallel combination of distributed resistive and capacitive loadings and, as such, it can be specified in the Distributed Loadings editor.
Losses due to the skin effect can be taken into account if the wires and surfaces are modeled with a surface resistance:
where f is the frequency of operation and σ is the conductivity of the metallic wires and surfaces.
The Distributed Loadings window contains three types of loadings: Skin, Srfc and RLC.
In each tab for Skin, Srfc, and RLC, the following can be done:
Examples for distributed loadings over wires and surfaces are given in Figure 6.18 and Figure 6.19, respectively.
Menu: HOBBIESLoadingsConcentrated
Toolbar:
A concentrated loading is an element inserted at the junction of a wire with other wires or surfaces. It is completely determined by the two nodes of the wire to which it is connected and by its impedance. It is placed at the first of the two specified nodes. It can model lumped elements such as resistors, inductors, capacitors, or their combinations. A concentrated loading represents a special case of a distributed loading, when the loading is distributed over a surface or length whose dimensions are much smaller than the wavelength.
There are two types of concentrated loadings: R + jX and RLC.
In each tab for R + jX and RLC, the following can be done:
Note: By clicking the switch button on the Concentrated loading list window, one can place the load at the other end of the wire. An example for a concentrated loading on wires is given in Figure 6.23.
Menu: HOBBIESExcitation
An electromagnetic structure can be excited by:
Menu: HOBBIESExcitationGenerators
Toolbar:
A Generator is always connected to one node of a wire, and its reference direction is oriented towards the other node of the wire (from 1st node to 2nd node as shown in Figure 6.24).
There are three types of generators (there is no type 1):
The generator is completely defined by:
In the Generator list, the following can be done:
In addition, the following commands can be applied in the Generator List.
By default, a new generator introduced in a model is a delta generator (Type 4). A coaxial cable excitation can also be used by calling HOBBIESExcitationCoaxial Cable.
Note: By clicking the switch button on the Generator list window, one can change the direction of the generator excitation along the wire.
Menu: HOBBIESExcitationWaves
Toolbar:
A plane wave is defined in the Wave list window, as shown in Figure 6.29.
The plane wave is completely defined by:
Note: For monostatic RCS, the incoming or incident directions are defined through the menu HOBBIESOutput SettingsScattering, since the incident and scattered signals are assumed to be along the same direction.
HOBBIES uses two arrows to denote a plane wave in the screen, as shown in Figure 6.30. The green (horizontal) arrow shows the incident direction and the red (vertical) one shows the polarization direction of the plane wave.
Similar to the Generator list, the following can be done in the Waves list:
: add a new plane wave and edit the parameters. By default the incident direction of the plane wave is ϕ = 0° and θ = 0°, and the electric field intensity is Eφ = 1 + j0 and Eθ = 0 + j 0 V/m.
: delete an existing plane wave.
: go to the first page.
: go to the previous page.
: go to the next page.
: go to the last page.
: find a plane wave according to the plane wave number.
Menu: HOBBIESSymmetry
Symmetry properties can be used to speed up the analysis only if both the geometry and the excitation are symmetrical or anti-symmetrical with respect to the same basic coordinate plane (XY, XZ, and/or YZ-plane).
For example, if one symmetry plane is used, only half of the original structure should be defined. As a result, the number of unknowns used in the analysis is approximately halved compared with the analysis of the original structure. It means that the maximum electrical size of the problem that can be handled by HOBBIES is at least doubled.
Symmetries about three basic coordinate planes are set in the Symmetry window (Figure 6.31):
For selected planes, choose the type of symmetry in the drop-down menu:
Choosing different types of symmetry may affect the simulation result depending on the excitation. For some cases, when the Symmetry (Anti-Symmetry) plane is replaced by PMC (PEC):
For other cases, the results could be different. Related examples can be found in Section 8.4.
The Symmetry and PMC planes are colored in red, while the Anti-Symmetry and PEC planes are colored in blue, as shown in Figure 6.32.
Menu: HOBBIESEdge
Edge is a manipulation that enables automatic meshing along the edges when the edge effect is a critical parameter for an accurate analysis.
The edge effect occurs along the free edges of a metal quadrilateral surface and along the edges that represent surface-to-dielectric surface junctions. Edge meshing is performed by introducing additional narrow metallic and/or dielectric strips along the critical edges. It is up to the user to make decisions as to which of the edges are critical. A good example is a microstrip structure where edge effects may play a dominant role in the analysis.
Click the HOBBIESEdge option and the Edge list appears, as shown in Figure 6.33. In the Edge list, the following can be done:
To add an edge manipulation, click the icon . The Edge list window is shown in Figure 6.34. It consists of two Maximum Edge Width edit fields and the Domains selection list. The surfaces that are meshed are those at the boundary of two domains.
The related parameters are:
Note that the edge meshing is performed automatically when the simulation is performed. The user can preview the mesh from edging in the post-processing window after starting Pre-HOBBIES, which will be described in Chapter 7.
Example 1
A microstrip patch antenna is shown in Figure 6.35. To simulate the structure accurately, it is necessary to use the edge property in the model.
Click the HOBBIESEdge menu to open the Edge list, and add an edge by clicking the Add icon in Figure 6.36. Enter the value of the Max. Edge Width [m] as 0.003 and that of the Max. Edge Width [%] as 20.0. In the Domains drop-down menu, there are three options for the model, which are All, −1 −2, and 1 2. Figure 6.37 shows the edges corresponding to the three Domains options.
Example 2
A narrow wall slotted array is illustrated in Figure 6.38. Figure 6.39 displays the edges.
Menu: HOBBIESOutput Settings
The user can calculate four types of output results: Y, Z and S-parameters are calculated in Antenna Modes by default, while all other output results have to be specified manually.
The other three types of output results are specified below:
Select HOBBIESOutput SettingsCurrent to display the Current configuration window (Figure 6.40); the user can choose:
Note: Wires have currents flowing along the s-coordinate only. If Automatic density of points is chosen as Low/Middle/High for current settings, the Ncs for a wire, or Ncs and Ncp for a surface will be set as L/M/H automatically in the Wire or the Surface list window.
The user can also change the density of the sampling points for each particular wire or surface.
The near-field is calculated at one or more uniformly spaced points in the Cartesian coordinate system.
Select the HOBBIESOutput SettingsNear-Field and the Near-Field dialog window appears (Figure 6.43); the user specifies:
along the x- , y-, and z-coordinates respectively. The Domains drop-down menu should be set to All.
Select the Show near-field range on the screen check box, and the points at which the near-field will be calculated are displayed on the screen, as shown in Figure 6.44.
Caution: The near-field sampling point cannot coincide or overlay with the surface of the simulated structures.
The far-field is calculated at one or more uniformly spaced angular directions. The angular direction is specified by the spherical ϕ- and θ-coordinates.
In Antenna Modes, Select HOBBIESOutput SettingsRadiation and the Radiation pattern dialog window opens (Figure 6.45). The user specifies:
in the corresponding edit fields for both ϕ- and θ-coordinates. In Scatterer Modes, the Radiation option changes to the Scattering option, accordingly, and the Scattering pattern window is similar to the window in Figure 6.45.
Select the Show radiation pattern range on the screen check box, and the angular directions in which the far-field will be calculated are displayed on the screen, as shown in Figure 6.46.
Caution: In the HOBBIES simulation results, the ϕ-coordinate is measured from the x-axis in the xOy-plane and the θ -coordinate is measured from the xOy-plane to the z-axis.
For this academic version of HOBBIES, the license only allows 3000 nodes for the mesh, and 5000 sampling points for the post-processing display. For example, if the user sets the number of ϕ angles as 361 and the number of θ angles as 19, then the total number of sampling points for the radiation pattern will be 361 × 19 = 6859, which exceeds the 5000 limit. Hence for the execution of the code the number of field point should be reduced.
If the PreferencesGeneralPopup messages option is set to be “Beginner” (refer to Appendix A for details), there will be a warning message shown as in Figure 6.47. The user can choose “No” to revise the output setting or choose “Yes” to continue to simulate the model. If the user chooses to continue, in the post-process window, the user will not be able to view the three dimensional (3D) radiation pattern as it exceeds the limit and another pop-up message will appear as seen in Figure 6.48. Similarly, for output setting of current and near-field, the user also needs to be aware of this limitation.
Note that, all the two-dimensional (2D) graphs (i.e., 2D radiation pattern, 2D scattering pattern, 2D near-field, network parameters, or 2D frequency cut figure) will not be affected. This limitation only affects the 3D plots of the fields.
For the professional version, there is no such limit. The user can contact [email protected] for more information on the professional version of HOBBIES.
Menu: HOBBIESOptions
HOBBIES automatically chooses the default parameters for the analysis, usually giving accurate results. However, in some cases, the results may not be satisfactory to the user. To improve the accuracy, the user should change some of the parameters or modify the initial model. In some cases, the user can even improve the efficiency of the analysis without losing the accuracy and stability of the computed results.
The parameters that can be changed manually include:
All these are shown in Figure 6.49.
During the computations, evaluation of many of the integrals has to be performed, and the accuracy of the solution can be improved by increasing the order of the numerical integration used. The accuracy of the overall analysis can be improved, but the central processing unit (CPU) time needed for the analysis is increased. HOBBIES automatically determines the orders of the numerical integration required, so that satisfactory results are obtained with minimum CPU time.
To manually change the accuracy for the numerical integration manually, select the Integral accuracy drop-down list (Figure 6.50) and set Integral accuracy to:
If the results obtained using two or more successive grades show significant agreement, the results are considered stable.
The purpose of this option is to check the stability and convergence of the results. Greater stability of the results usually requires greater accuracy of the results.
The electrical size of the structure to be analyzed is determined with respect to the Stop frequency specified in the Frequency dialog box (Section 6.3). When the Number of frequencies specified in the Frequency dialog box is 1, the analysis is performed at the Start frequency. In that case, increasing the Stop frequency increases the order of the current expansion in a relatively proportional way, still analyzing the structure at the Start frequency.
To change the orders of the current expansion for all surfaces and wires simultaneously, select the Current expansion drop-down list (Figure 6.51) and set the current expansion to:
If the results obtained using two or more successive grades show significant agreement, the results are considered stable.
From the Current expansion drop-down list, the user can set orders of these polynomial expansions between 1 and 9. Note that the Current expansion drop-down list works when the current expansion order in the Wire list window (Figure 6.52) and Surface list window (Figure 6.53) are set as 0, which is the default value. The user can also manually change the order of the current expansion for each particular wire or surface, and the value cannot be larger than 9.
The analysis method converts the integral equations of Chapter 1 into a single matrix equation. In some cases, the efficiency of the analysis can be significantly improved by choosing the type of matrix inversion. Select the Matrix inversion drop-down list. The Matrix inversion drop-down list offers three options: Reduced, Normal, and Avoided, as shown in Figure 6.54.
By default, the Matrix inversion drop-down list is set to normal. In this case, the matrix equation is solved directly using the standard LU decomposition procedure.
If the drop-down list is set to reduced, the matrix is considered to be symmetrical, and a symmetrical version of the matrix solution routine is used, reducing the CPU time by half. The matrix is symmetrical in the case of all metallic structures, except those having wire-to-surface junctions and junctions of wires of unequal radius. The matrix cannot be symmetrical if a structure contains dielectric parts. The application of this option to asymmetrical matrices will lead to erroneous results. Note that this option is only valid for the serial in-core code.
It is often of interest to repeat the same analysis, changing only the specification of the output results. If the drop-down list is set to A voided, HOBBIES avoids the calculation of the matrix and matrix inversion and uses the current coefficients obtained from the previous run of the same example. This possibility is used if the example has been run at least once with the matrix inversion option defined as normal or reduced. After this run, current coefficients are stored in the file with the extension .dis. It is correct to use these coefficients if, and only if, the new output data are calculated without changing the structure and excitation. This option cannot be used for multiple frequencies and multiple excitation analysis in this version .
The Precision drop-down list offers two options: Single and Double, as shown in Figure 6.55. When Single is chosen, each element of the matrix is represented using seven decimal digits. If Double is chosen, the number of decimal digits for the elements of the impedance matrix is 15. This leads to higher accuracy in the numerical calculations and decreases the accumulation of numerical errors in the matrix solution. On the other hand, the use of memory is nearly doubled if Double is chosen, so the maximum number of unknowns that can be analyzed is reduced by a factor of in contrast to the one generated by choosing Single.
To ensure accuracy, the parallel kernel only accepts double precision, no matter which precision the user selects.
The next step is to run the HOBBIES simulation after the solution settings (Chapter 6) and the meshing (Chapter 5) are completed. The solution settings, especially the Domains, Loadings and Edge options, should be set before the meshing is done to make sure that the corresponding properties are correctly assigned to the meshed elements. In the case that the element sizes are larger than two wavelengths in the medium surrounding the model, the elements are refined automatically by the HOBBIES solver, when a simulation is run.
This section describes the HOBBIES solvers, which mainly include four types:
The four solvers are based on the higher order method of moments (MoM). The differences between the MoM solvers are listed in Table 6.4. The serial solvers, in-core and out-of-core (OOC), can run only one HOBBIES process at one time on a single CPU core (currently, it is common for CPUs to have multiple cores). The parallel solvers, in-core and out-of-core, can run multiple HOBBIES processes on multiple cores or CPUs with shared memory or distributed memory computers. In-core solvers use only RAM to store data when simulating models, while the out-of-core solvers use random access memory (RAM) (in-core buffer) and the hard disk to store the data when simulating models. These will be described in detail in the following sections.
Note that when executing each solvers or the Pre-HOBBIES option for the first time, the firewall or the anti-virus software may pop up a warning message asking whether to block or unblock the process. Please make sure to choose “unblock”; otherwise the HOBBIES kernel will not be able to run. Or the user may choose to turn off the firewall to avoid this. And for executing parallel kernels of HOBBIES, the user's account needs to be at least “Power User.” For personal computers, it is recommended to have the administrator's permission for a seamless execution. For the home edition of a Microsoft Windows 7 system (Microsoft Corporation, Redmond, WA), even the administrator account will not have the full permission by default. So the user may need to set manually the permission in the HOBBIES installation folder so that there is adequate permissions to read and write to the folders.
Menu: Run HOBBIESSetup Run Environment
Click the Run HOBBIESSetup Run Environment menu and a window appears, as shown in Figure 6.56. The window includes two tabs: Parallel Environment and Solver Options.
If the message passing interface (MPI) status is Unbooted {Figure 6.56 (a)}, the user should register the MPI for parallel solvers. Input a user account with administrative rights and the corresponding password. If the account does not have a password, the user has to create one. Click Boot MPI and the setup of the MPI is completed when the status changes to Booted {Figure 6.56 (b)}. If the user wants to reboot the MPI, click Reset MPI and register it again.
The user can increase or decrease the number of processes that run the local host. The number of processes should not exceed the number of cores on the host. It is recommended that the number of processes be equal to the number of all the cores the user's computer has. When the user uses the parallel solvers of HOBBIES, the simulations will execute using all cores. Click Accept and the setup of the parallel environment is completed.
The Solver Options tab includes variables for out-of-core solvers, as shown in Figure 6.57. The Physical RAM per core (MB) is the available physical memory per core when the user's computer is idle. Note that the total RAM for all cores should not exceed the amount of available physical memory. The In-core buffer per core (MB) is the physical memory per core used as the in-core buffer for the out-of-core solvers of HOBBIES. After the user inputs the Physical RAM per core (MB), click Get default value and HOBBIES will calculate the In-core buffer per core (MB) automatically. Typically, the In-core buffer per core (MB) is 80% of the Physical RAM per core (MB). The Hard-disk space per core (GB) is the free space per core on the logical partition where HOBBIES projects are located. It is not recommended to put HOBBIES projects in the primary partition where the operating systems are located when using the out-of-core solvers. The default values are 800, 640, and 50 for the three options.
Menu: Run HOBBIESPre-HOBBIES
The Pre-HOBBIES option is used to predict the number of unknowns of a HOBBIES project, and thus, it helps the user to estimate the RAM requirement and CPU time needed for the simulation.
The RAM requirement is estimated through the equation RAM [Byte] = 16N2 for double precision, where N is the number of unknowns. If the RAM requirement exceeds the total amount of available physical memory of the computer, it is strongly recommended to use the out-of-core solvers. Furthermore, if the RAM requirement exceeds the total amount of available hard-disk space, it will not be possible to simulate the project on that computer. See RAM and hard disk information in Section 6.11.1.
Click the Run HOBBIESPre-HOBBIES menu to see the information window including the number of unknowns as shown in Figure 6.58.
Menu: Run HOBBIESSerial In-Core/Serial Out-of-Core
Once a project has been setup properly, the user may run the serial solvers by selecting Run HOBBIESSerial In-Core or Serial Out-of-Core. Select the in-core or out-of-core solver according to the estimation of RAM requirement as described in Section 6.11.2.
Note: If the amount of available physical memory on the computer is not enough for the serial in-core solver, HOBBIES will cancel the simulation.
If the amount of available physical memory of the computer is enough for the serial in-core solver but the serial out-of-core solver is selected, HOBBIES will continue to perform the simulation without cancellation.
Select Run HOBBIESSerial In-Core or Serial Out-of-Core and the process window appears, as shown in Figure 6.59. The window includes the Project name, Start time, UID, and Priority of the simulation. To stop the simulation, click the Terminate button and start the simulation again by clicking the Start button. The Close button closes the process window but does not terminate the simulation. To view the simulation process, click Run HOBBIESProcess Window.
The Output view button allows the user to check the detailed process of the simulation. Click the Output view button and an information window appears (Figure 6.60).
The window contains useful information such as number of elements, number of excitations, number of unknowns, radiation directions, simulation time, and so on. Click the Close button to close the window. To open the window again, click Run HOBBIESView Process Info. If a project contains any incorrect input parameters, the Process errors window appears, as shown in Figure 6.61. The user needs to check the input data to continue to run the simulation. Useful information can be viewed by clicking the View errors button in the Process errors window. For example, if the radius of wires is set to be 0, the error information is given in Figure 6.62.
Menu: Run HOBBIESParallel In-Core/Parallel Out-of-Core
Running the parallel solvers is similar to running the serial solvers. To run the parallel solvers, select Run HOBBIESParallel In-Core or Parallel Out-of-Core. Select the in-core or out-of-core solver according to the estimation of RAM requirement as described in Section 6.11.2.
The parallel solvers are based on MPI and thus can run on both shared memory (e.g., a multiple-core CPU computer) and distributed memory (e.g., a high-performance computing cluster) systems.
The number of processes and the number of hosts for running the parallel solvers are set in the Setup Run Environment window as described in Section 6.11.1.
Caution: When the parallel out-of-core solver is used the number of unknowns in the project has to be greater than one.
Note: For a cluster with several PC nodes, HOBBIES must be installed on the same location on each PC node. The parallel job can be launched from any PC node of the cluster.
For a high-performance computing (HPC) cluster including a large number of nodes (e.g., a blade system), HOBBIES only needs to be installed once on the administration node. The software will be accessible by every computing node through the Network File System (NFS) /Distributed File System (DFS). It is recommended to use a job scheduler to submit a HOBBIES simulation job.
Example
If a shared memory computer has two separate quad-core CPUs, which means that the total number of cores is 8, the parallel solvers allow a parallel solution with up to 8 parallel processes to be launched on this computer.
Take a HPC cluster as another example; it has 64 computing nodes, each of which has two quad-core CPUs (8 cores), and then the total number of cores is 64 × 8 = 512. The parallel solvers now allow a parallel solution with up to 512 parallel processes to be launched on this cluster.
This chapter summarizes all the various configurations required for a typical HOBBIES project, including the description of some of the important settings such as the operation mode, frequency band, units, domains, excitations, output settings. Some of the optional settings such as loadings, edging for calculation are also illustrated. With these necessary configurations properly set, the user can run the simulation with the serial in-core, serial out-of-core, parallel in-core, or parallel out-of-core solver to solve the problem of interest.
3.16.50.188