Like visage_data_set, plot3d_data_set is used by both the VISAGE and DISPLAY classes. In the VISAGE classes, displays (e.g., visage_vector_field) are associated with the data set using the displays instance variable, and operate on the data set to generate images.
In the DISPLAY classes, the data set serves as the input (i.e., data_in) for the computed_feature classes (e.g., display_geometry). The output of the computed_features classes can then be directed through filter networks to produce visual displays.
The computation of derived data is based on a number of internal methods that are based on the fundamental fluid data as defined by the plot3d data file. These include the parameters fsmach (free stream mach number), alpha (angle of attack), re (Reynold's number), and time, plus the scalar function density, the vector function momentum, and the scalar function energy. In addition, the fluid parameters (and instance variables) gamma (ratio of specific heats), r (gas constant), uvinf, vvinf, and, wvinf (free stream velocity components) are used in calculation.
The following 47 derived scalar functions are available: density, normalized_density, stagnation_density, normalized_stagnation_density, energy, internal_energy, normalized_energy, stagnation_energy, normalized_stagnation_energy, kinetic_energy, normalized_kinetic_energy, enthalpy, normalized_enthalpy, stagnation_enthalpy, normalized_stagnation_enthalpy, entropy, entropy_measure, mach_number, momentum_magnitude, x_momentum, y_momentum, z_momentum, pressure, normalized_pressure, stagnation_pressure, normalized_stagnation_pressure, pressure_coefficient, stagnation_pressure_coefficient, pitot_pressure, pitot_pressure_ratio, dynamic_pressure, speed_of_sound, swirl, temperature, normalized_temperature, stagnation_temperature, normalized_stagnation_temperature,
velocity_dot_vorticity, u_velocity, v_velocity, w_velocity, crossflow_velocity, velocity_magnitude, vorticity_magnitude, x_vorticity, y_vorticity, and z_vorticity.
The following 6 vector functions are available: momentum, pressure_gradient, velocity, velocity_cross_vorticity, perturbation_velocity, and vorticity.
Note that this object is usually created by the plot3d_reader object, and works in conjunction with it to manage its data.
alpha angle of attack
re Reynold's number
time current time
density the name of the density scalar
momentum the name of the momentum vector
energy the name of the energy scalar (stagnation energy per unit volume)
gamma the ratio of specific heats
r the real gas constant
uvinf the u component of the free stream velocity
vvinf the v component of the free stream velocity
wvinf the w component of the free stream velocity
fsmach= value Get the free stream mach number.
alpha? Get the angle of attack.
alpha= value Set the angle of attack.
re? Get the Reynolds number.
re= value Set the Reynolds number.
time? Get the time.
time= value Set the time.
density? Get the name of the visage_scalar containing flow density.
density= value Set the name of the visage_scalar containing the flow density.
momentum? Get the name of the visage_vector containing flow momentum.
momentum= value Set the name of the visage_vector containing flow momentum.
energy? Get the name of the visage_scalar containing stagnation energy per unit volume.
energy= value Set the stagnation energy per unit volume.
gamma= value Set the value of the flow parameter gamma.
gamma? Get the value of the flow parameter gamma.
r= value Set the value of the ideal gas constant.
r? Get the value of the ideal gas constant.
uvinf= value Set the free stream u velocity coefficient.
uvinf? Set the free stream u velocity coefficient.
vvinf= value Set the free stream v velocity coefficient.
vvinf? Set the free stream v velocity coefficient.
wvinf= value Set the free stream w velocity coefficient.
wvinf? Set the free stream w velocity coefficient.
density.normalized Compute normalized density.
density.stagnation Compute stagnation density.
density.normalized.stagnation Compute normalized stagnation denisty.
energy.internal Compute internal energy.
energy.normalized Compute normalized internal energy.
energy.stagnation Compute stagnation energy.
energy.normalized.stagnation Compute normalized stagnation energy.
energy.kinetic Compute kinetic energy.
energy.kinetic.normalized Compute normalized kinetic energy.
enthalpy Compute enthalpy.
enthalpy.normalized Compute normalized enthalpy.
enthalpy.stagnation Compute stagnation enthalpy.
enthalpy.normalized.stagnation Compute normalized stagnation enthalpy.
entropy Compute entropy.
entropy.measure Compute entropy measure.
machnumber Compute Mach number.
momentum.magnitude Compute the magnitude of the momentum vector.
momentum.x Compute the x component of the momentum.
momentum.y Compute the y component of the momentum.
momentum.z Compute the z component of the momentum.
pressure Compute the pressure.
pressure.gradient Compute the pressure gradient.
pressure.normalized Compute the normalized pressure.
pressure.stagnation Compute the stagnation pressure.
pressure.normalized.stagnation Compute the normalized stagnation pressure.
pressure.coefficient Compute the pressure coefficient.
pressure.stagnation.coefficient Compute the stagnation pressure coefficient.
pressure.pitot Compute the pitot pressure.
pressure.pitot.ratio Compute the pitot pressure ratio.
pressure.dynamic Compute the dynamic pressure.
speedofsound Compute the speed of sound.
swirl Compute the swirl (vorticity dot velocity divided by magnitude of the velocity squared).
temperature Compute the temperature.
temperature.normalized Compute the normalized temperature.
temperature.stagnation Compute the stagnation temperature.
temperature.normalized.stagnation Compute the normalized stagnation temperature.
velocity Compute the velocity.
velocity.perturbation Compute the perturbation velocity (velocity minus the free stream velocity coefficients).
velocity.dot.vorticity Compute the streamwisw vorticity.
velocity.cross.vorticity Compute the cross product between vorticity and velocity.
velocity.u Compute the u component of velocity.
velocity.v Compute the v component of velocity.
velocity.w Compute the w component of velocity.
velocity.crossflow Compute the crossflow velocity.
velocity.magnitude Compute the magnitude of the velocity.
vorticity Compute the vorticity vector.
vorticity.magnitude Compute the magnitude of the vorticity.
vorticity.x Compute the x component of the vorticity.
vorticity.y Compute the y component of the vorticity.
vorticity.z Compute the z component of the vorticity.
/* * Read plot3d data file and display geometry colored with * temperature and distorted with vorticity. */ /* * read in the data */ plot3d_reader new: areader file_prefix="../../data/bluntfin" derived_data_on! recomputing_mtime? ; /* * Adjust the data */ parser interactive!; bluntfin_dataset print:name /* scalar_data="bluntfin_dataset_temperature" vector_data="bluntfin_dataset_vorticity" compute_properties! */ ; /* bluntfin_dataset scale_factor=0.00001; */ parser interactive!; /* * set up some displays */ data_outline new: outline data_in=areader;
data_geometry new: g1 extent=(1,1,1,32,1,32) data_in=areader ;
warp_vector new:wv data_in=g1;
/* * Set up the graphics stuff */ display_all new:outline_modeller data_in=outline; display_all new:geom_modeller data_in=wv;
actor new: a color=(1,1,1) modeller=outline_modeller;
actor new:b modeller=geom_modeller;
camera new: c1 x_range=(-8.,15.) y_range=(0.,9.) z_range=(0.,6.) position=(1,1,1) default! on!;
light new: alight position=(30,30,50) on!;
vector new: bbox dimension=6; bbox = ([bluntfin_dataset_grid bbox?]); camera new: acamera position= (1,1,1) focal_point= ([bluntfin_dataset_grid center?]) x_range=([bbox @1 ?],[bbox @2 ?]) y_range=([bbox @3 ?],[bbox @4 ?]) z_range=([bbox @5 ?],[bbox @6 ?]) default! zoom: 1.4 on! ; /* * Create renderer */ renderer new: main_renderer actors=([actor instances?]) lights=alight cameras=acamera ; /* * Draw the picture */ main_renderer render!;
display_modeller, computed_feature