E. Farhi, Dec 17th, 2002: based on Vitess_output and Monitor_nD lib.
Description
Detector-like component writing neutron state parameters to a
virtual source neutron file. The component geometry is the full
plane, and saves the neutron state as it exits from the previous
component.
It is particularly useful to generate a virtual source at a point that few
neutron reach. A long simulation will then only be performed once, to create
the upstream 'source' file. Further simulations are much faster if they start
from this low flux position with the 'source' file.
Possible file formats are:
1-text column formatted with lines containing 11 values in the order:
p x y z vx vy vz t sx sy sz stored into about 83 bytes/n.
2-float/double binary files (with the 11 values 'p x y z vx vy vz t sx sy sz')
stored into 44 and 88 bytes/n respectively for float/double.
Beware the size of generated files ! When saving all events (bufsize=0) the
required memory has been optimized and remains very small. On the other hand
using large bufsize values (not recommended) requires huge storage memory.
Moreover, using the 'bufsize' parameter will often lead to wrong intentities.
Both methods will generate huge files.
A Vitess file may be obtained from the 'Vitess_output' component or from a
Vitess simulation (104 bytes per neutron) and read with Vitess_input.
%BUGS
We recommend not to use parallel execution (MPI/Threads) with this component.
Example: Virtual_output(file="MySource.dat")
will generate a 9 Mo text file for 1e5 events stored.
%BUGS
Using bufsize non-zero generates a virtual source with wrong intensity
Input parameters
Parameters in boldface are required;
the others are optional.
Name
Unit
Description
Default
file
str
Filename of neutron file to write. Default is standard
output [string]. If not given, a unique name will be used.
0
type
str
Type of output file 'text','float','double'
default is text
0
bufsize
1
Size of neutron output buffer
default is 0, i.e. save all - recommended.