Egs modeling for windows




















The EGSnrc geometry package considers geometrical structures at the highest possible level of abstraction: any object that is able to provide a certain set of geometry related methods is considered to be a "geometry". No distinction is made between surfaces or solids, or between simple geometrical structures and highly complex ones.

An object is considered to be a geometry if it can provide answers to the following questions:. As a convention, all geometries numerate their regions between 0 and the number of regions minus one whereas a negative region index is considered to be outside of the geometry i.

Questions 1 and 2 are specified by the EGSnrc geometry interface specification except that now geometry objects must be able to determine the answer to these questions also for the situation of the position being outside i. This extension, together with 3, 4 and 6 is necessary so that one can construct more complicated geometries from simpler geometries as will be seen below. To describe the various geometry objects provided by the egspp library, we will group them in two broad classes:.

Concrete geometry classes are compiled into separate shared libraries a. Each of these geometry libraries provides a. The information stored in the input object is typically extracted from an input file that specifies the various aspects of a particle simulation.

The definition of a geometry must be within a composite property geometry within another composite property geometry definition of the input object.

This implies that if the geometry is defined in an input file, the file must contain a section. The geometry in which to perform the simulation is specified using the simulation geometry input parameter. If more than one geometry is to be constructed, there can be several geometry properties i. Each geometry must have a name property with a unique name value because names are used to refer to other geometries in e.

Each geometry must also contain a library property, which be used to dynamically load the library that provides the geometry class being defined by the input. Library names must be given without their platform specific prefixes and suffixes e. Some geometry libraries provide implementations for more than one geometry class.

For such libraries a type property is required in the geometry definition to specify the type of the object being constructed. For instance,. All geometries can be filled with media by including a media input property within the the geometry definition.

Because geometries can be used as building blocks for other geometries, which could fill the regions with media, it is not considered a mistake if a geometry does not define its media. However, the user must be careful to eventually define media for all real regions of the simulation geometry to avoid program crashes. Many geometries can be filled with media with the following keys within the media input property:. The media key defines the media names from the PEGS file that will be used for the simulation.

When this key is encountered, all regions of a geometry are filled with the first medium in the list of media. There can be an arbitrary number of set medium keys including zero, in which case the geometry will be homogeneous and filled with the first medium in the list of media.

If 2 integers are found as input to a set medium key, then region is set to contain the medium with index in the list of media. If 3 integers are found, then all regions between and inclusive are set to the medium with index in the list of media. It is important to note that the medium index is the index in the list of media for the current geometry, not a global medium index.

The geometry factory object, which is responsible for the construction of the various geometries, maintains a global list of media names defined in all geometries and automatically translates local media indices to global media indices.

It is important to note that region and medium indices use C-style numbering, i. The definition of media according to the above input syntax is performed in the setMedia function of the base geometry class. Some geometry classes re-implement this function to either prevent media definition e. The implementation of a new geometry class may become necessary for various reasons, e. The geometry testing utility provided with the distribution is very helpful in the process of developing new geometries and has helped to find numerous bugs in the initial implementations of the various geometry classes provided with egspp.

The geometry package comes with a viewer that can be used to look at a geometry defined in an input file in 3D. The viewer permits the user to zoom in and out, change the viewing position, change the colors of the various materials, make materials semi- transparent so that it is possible to see inside the geometry, etc.

If the name of the file is omitted or the viewer is started by clicking on its icon , the user is prompted to select a geometry definition file from a file selection dialog. After reading the geometry information, the geometry viewer attempts to automatically determine an optimum viewing position and zoom factor.

This is done by first searching for a point that is inside the geometry and then sending out rays in all directions to check for the size of the geometry being viewed.

If your geometry is very distant from the origin or if it is too small to be resolved by the search grid, the viewer will fail to find a point inside the geometry and will display an error message. If this problem occurs, one has to include the following section in the geometry definition file outside of the geometry definition section:. Type in the coordinates in cm for a bounding box around your geometry, to help the viewer know where to search. The rendering of the 3D scene is done using the same geometry methods that are used in a particle simulation howfar , isWhere , etc.

Although this approach is much slower than rendering a scene built from GL primitives and therefore requires a fairly fast CPU, it has the advantage of a thorough check of the geometry definition. If the scene rendered by the viewer looks OK and corresponds to what the user expects, the user can be fairly confident that the geometry definition has no mistakes.

Load the settings again from the File menu, or from the command line using. The geometry currently being viewed is selected in the Simulation geometry section. EGSnrc continues to be referenced in around 30 per cent of all Monte Carlo related publications in the leading journals Medical Physics and Physics in Medicine and Biology.

Commercial partners around the world also rely upon EGSnrc for the design of radiation equipment and software. Please review this licence before downloading the software. In practice, this licence imposes no restriction on using EGSnrc. However, if you want to further convey verbatim or modified versions of the code, or any work based on any EGSnrc component including any such work operated remotely over a network , you must do so under the same licence terms. Please contact us if you wish to licence EGSnrc under different terms.

Download EGSnrc from github. Tessier nrc-cnrc. Ernesto Mainegra-Hing Telephone: ext. Mainegra-Hing nrc-cnrc. Reid Townson Telephone: ext. Townson nrc-cnrc. The user level should be read by all users. It describes execution, operation, and capabilities. The programmer level should be read by those users who may want to modify the program or who would like a more detailed understanding. It describes briefly the routines and there function, as well as the major more » changes in the new release of the 3D graphics programming library Sun PHIGS 2.

Similar records in OSTI. GOV collections:.



0コメント

  • 1000 / 1000