next up previous
Next: The driver code Up: Manual for the nearly Previous: Installtion

neBEM toolkit - a How-To approach

The neBEM solver represents any given device by several primitives that can either be one- or two-dimensional. Any thin device component can be modeled by a combination of such straight one-dimensional primitives, while the surface of any three-dimensional device can be modeled by a large number of such two-dimensional flat surfaces. These primitives are then discretized into smaller elements on which the assumption of uniform charge density is considered to be valid. The solver uses elements of three kinds to represent any given device. These are (i) linear, (ii) right triangular and (iii) rectangular. It is quite obvious the linear elements are used to discretize the thin wire-like components, while the other two elements are used to discretize surfaces of two- or three-dimensional components. Among these elements, the linear one consumes minimum amount of computational resources, while the triangular one is, computationally, the most expensive. However, the triangular elements are indispensable since they are the most versatile ones in the task of representing surfaces of arbitrary geometry. Hence, a question of optimization arises that is irrevocably connected to the geometry of the device and the necessary precision of a study.

Since neBEM has been developed as a toolkit, some coding is necessary to solve a problem of interest. To begin with, the proverbial main function needs to be supplied. In addition, interface functions and post-processing functions need to be provided. These additional functions can co-exist with the main function in a single source code but we found it a lot more convenient to keep the main source code trimmed to the minimum and having two other source codes, one for the interface functions and another for post-processing. We even preferred to keep these source codes in different sub-directories. All these can be changed according to the user's convenience. However, the changes must also be reflected in the Makefile in addition to the source codes.



Subsections
next up previous
Next: The driver code Up: Manual for the nearly Previous: Installtion
Supratik Mukhopadhyay 2019-03-05