pV3 Visualizer
pV3 (parallel Visual3) 1.35 is a freely available visualization package written by Bob Haimes at MIT. pV3 replaces the older Visual3 package, from which it inherits much of the programming and user interface. It consists of a locally written visualization client, pv3, typically processing the finite element data on, e.g., SGI ONYX, and a visualization server, pV3Server, which renders the results on a local graphics workstation. The clients and the server communicate using the PVM protocol.
Documentation
- pV3 Server User's Reference Manual
- pV3 Programmer's Guide
- pV3 Batch User's Reference Manual
- pV3 Advanced Programmer's Guide
- pV3 Labels
labels for keys
F1throughF12, fit most keyboards
Hardcopy of these documents and some related papers can be found in Steinbachstr. 53B room 105.0.
Data Requirements
pV3 client operates directly on the standard MIXD format files.
System Requirements
The PVM 3.3 or higher must be installed on both server and client machines. The server runs on any SGI workstation running IRIX 5.x OS or higher.
Usage
Following lines or equivalent should be added to your .cshrc file:
# set up Visual3 and pV3 environment
setenv Visual3_CP $HOME/proj/colormaps/cols
# set up PVM environment
if ( ! $?PVM_ROOT ) then
set pvmdir=/usr/local/pvm3
if ($HOST =~ *.mems.rice.edu) set pvmdir=/usr/array/PVM
if (-d $pvmdir) then
setenv PVM_ROOT $pvmdir
endif
endif
if ( $?PVM_ROOT ) then
setenv PVM_DPATH $PVM_ROOT/lib/pvmd
setenv PVM_ARCH `$PVM_ROOT/lib/pvmgetarch`
set path=($path $PVM_ROOT/lib)
set path=($path $PVM_ROOT/lib/$PVM_ARCH)
set path=($path $PVM_ROOT/bin/$PVM_ARCH)
endif
Following should be added to the .Xdefaults file:
Visual∗small: 6x10 Visual∗medium: 8x13 Visual∗med2: -adobe-courier-bold-r-normal--17-120-100-100-m-100-iso8859-1 Visual∗large: -adobe-courier-bold-r-normal--25-180-100-100-m-150-iso8859-1 4DWm∗Visual3∗clientDecoration: none 4DWm∗Visual3∗matteWidth: 2
A PVM group should be set up to include the pV3 client machine (typically ivie.mems.rice.edu or tempest.mems.rice.edu) and your workstation (albacore.mems.rice.edu in this example):
albacore(test)% pvm
3.3.10 (SGI PVM for IRIX Version 3.2.0.2)
t40001
pvm> add tempest
1 successful
HOST DTID
tempest.mems.rice.edu 80000
pvm> conf
2 hosts, 1 data format
HOST DTID ARCH SPEED
albacore.mems.rice.edu 40000 SGIMP64mips3 1000
tempest.mems.rice.edu 80000 SGIMP64mips3 1000
Start the pV3 client on tempest:
tempest(test)% pv3 pV3 Front End 1.35 - October 15, 1999 ... pV3 Initialization Phase Complete!
Then start the pV3 server on the local workstation:
albacore(test)% pv3server ...
and admire the pretty pictures (or rerun the simulation!). Both executables can be typically found in /usr/local/bin directory. The client accepts a Visual3 input file, either redirected to its standard input, or saved in a default visual3.in.
Input
pV3 client accepts the following keywords as commands:
| Key | Description | Example | Default |
abort |
aborts the program | abort |
- |
source %s |
temporarily switch input to another file | source mesh.info |
- |
nen %d |
number of element nodes | nen 8 |
4 |
ndf %d |
number of degrees of freedom per node | ndf 5 |
4 |
udf %d |
x-velocity degree of freedom | udf 7 |
1 |
vdf %d |
y-velocity degree of freedom | vdf 8 |
2 |
wdf %d |
z-velocity degree of freedom | wdf 9 |
3 |
pdf %d |
pressure degree of freedom | pdf 10 |
4 |
nn %d |
number of nodes | ne 4321 |
- |
ne %d |
number of elements | ne 8765 |
- |
neface %d |
number of element faces | neface 4 |
a |
nnface %d |
number of face nodes | nnface 3 |
a |
nrec %d |
number of data (and coordinate) records | nrec 21 |
1 |
dt %f |
time step for label display | dt 0.1 |
1.0 |
scale %f %f %f |
scale for three dimensions | scale 1.0 1.0 0.1 |
1.0 1.0 1.0 |
[srng|rngtitle] %d %z |
string used for RNG label | srng 2 inflow tube |
rng_NN |
[arng|rngstate] %d |
initial state of the RNG | arng 2 translucent |
on |
off |
invisible | ||
on |
visible shading | ||
translucent |
transparent shading | ||
gridonly |
only grid visible | ||
grid |
grid and shading | ||
outline |
only outline visible | ||
grey |
grey shading | ||
mutating [on|off] |
changing connectivity | mutating on |
off |
moving [on|off] |
changing coordinates | moving on |
off |
lowmem [on|off] |
save memory by discarding neighbor information | lowmem on |
off |
steady [on|off] |
steady flow field | steady on |
off |
invert [on|off] |
flip the z-axis | invert on |
off |
moveup [on|off] |
take upper level space-time values | moveup on |
off |
debug [on|off] |
debugging output | debug on |
off |
dir %s |
default directory | dir /tmp |
. |
mien %s |
connectivity file | mien io.1e7.0200 |
mien |
mxyz %s |
coordinates file | mxyz xo.1e7.0200 |
mxyz |
data %s |
data file | mrng do.1e7.0200 |
data |
mrng %s |
reference nodal group file | mrng mrng.old |
mrng |
andrew [on|off] |
Andrew's RNG face numbering | andrew on |
off |
axisymmetric [on|off] |
3D data generated from 2D data set | axisymmetric on |
b off |
resolution %d |
axisymmetric plane replication number | resolution 90 |
10 |
sweep %f |
axisymmetric sweep angle in degrees | sweep 90.0 |
b 10.0 |
a) Derived from the number of element nodes.
b) Takes x-axis as the axis of symmetry.
As an example, consider the input file listed below:
hydra(test)% cat visual3.in directory /Users/behr/work/ohio.0480 source minf.space mxyz mxyz.space data data.out mrng mrng.complete debug on moving on ndf 4 nrec 5 srng 1 inflow srng 2 outflow srng 3 right srng 4 left srng 5 free surface srng 6 bottom
Known Problems
- Zoom box (+ key in 3D window) doesn't display properly.
- The display may initially come up with an unuseable view - hit Home key to correct.
- Buffer used to store boundary faces which do not belong to any RNG may overflow for large meshes. The workaround is to complete the RNG definitions.
- pV3 2.00 is out; front end needs to be updated as soon as PVM 3.4 is installed.




