Description/Structure:
This subroutine prepares the necessary surface information for blockcomout subroutine and prints out the data with printl subroutine.
Description/Structure:
Prints the block topology information into the out/*.bnd ASCII file. It calls the subroutine blockcomout to make the necessary surface preparations and to produce the print out.
Description/Structure:
This subroutine writes the output for tecplot version 6.
The subroutine getdms gives the right dimension for ni, nj and nk for each block and the grid 'igrid' and stores it in iihelp. ihelp(1) contains the number of blocks.
The subroutine getvar, getvel and getgeo copies arrays (p,t,u,v,w etc.) to the array rhelp.
iihelp has no meaning in the header of fortec, it is only a reuse of another array.
In case of Temperature: t is copied to bn in subroutine t2uvw and bn is modified in t2uvw
Description/Structure:
This subroutine produces the ASCII output file for the geometry properties. It first checks the input parameters if there was any geometric output requested and if there is no such a request it ends. But if there is a request it updates the character array fnames and writes the names of the field values in this array.
Afterwards the initilizations continues with opening the file filgeo = 'out/*.geo' for flow geometry debug output.
Then, writes the header and then prints the values according to the request which are kept in the laogeo(i) logical array. For this print job it also uses printa subroutine like other ASCII output producing subroutines.
At the end it closes the unit ichgeo which is connected to the flow geometry debug output.
Description/Structure:
This subroutine produces the ASCII output of the geometry for the temperature topology. It first checks the input parameters if there was any geometric output requested and if there is no such a request it ends. But if there is a request it updates the charater array fnames and writes the names of the field values in this array.
Afterwards the file filtgeo = 'out/*.tgo' is opened. Then writes the header and then calls the subroutine exk1_2 to change the geometry data between temperature and velocity topology. Later on, like all other ASCII output subroutines, it calls the subroutine printa to printout the requested field data. Then calls once more exks1_2
At the end it closes the unit ichgeo.
Description/Structure:
The outptr subroutine produces the output of particle data. The output is written into the binary file filnam = *//'.g'//last_grid_inf//'.t'//time_step_inf//'.ptr'.
After collecting the particle data with the help of ptc2p, ptp2p, recvi, recvr8, sendr8 subroutines, it composes the filename and informs the user that the 'Writing particle tracing data to file' is began. Opens the file filnam = *//'.g'//last_grid_inf//'.t'//time_step_inf//'.ptr' to write.
It writes all the particle data and if there is a request for additional variables, like pressure, temperature, density, viscosity, vorticity, then it prints them also using ptovar and ptovel subroutines which are also defined in the outptr.F file.
Other subroutines defined in the outptr.F file are:
Description/Structure:
Mainly the ASCII output file for u,v,w,... scales, 'out/*.out', is printed out with the help of this subroutine. In the charater array fnames the names of the u,v,w,... scales are kept. Then, the wwrite subroutine is called with the log = 26 to print out 'Writing variable values in ASCII format.'
According to the request which are kept in the laovar(i) logical array of variables, it prints out the values of the scales with the help of printa subroutine. At the end it calls once more wwrite subroutine to inform the user that the printing issue is finished, with the log =27 value.
Description/Structure:
This subroutine writes the restart file to the file filrst = 'out/*.rst'. Since it is called by the main subroutine when there is a request, it does not do a request check. It calls the subroutine wwrite with the log = 22 to printout ' Writing restart file ....' It opens the file filrst to write, writes the header of the restart file, the information and the list of block dimensions and then the remaining information about the problem like Reynolds Stress, radiation data, combustion progress variables, velocity mean values, temperature mean values, temperature fluctuations, high order turbulence statistics,data for moving grids, fluid structure interaction and for phase function.
During all these writing processes it uses mainly the subroutines writeba and writebi which are in binfile.c file and are for writing binary data. It also uses getlst and wrdat subroutines which are also defined in the same Fortran file outres.F. The first one is used to collect the list of block dimension from other processors and the second is used to collect datat from other processors and write in a file.
After preparing the restart file it closes the connection to the binary file filrst = 'out/*.rst' and informs the user about that by calling the subroutine wwrite with the log = 23.
Description/Structure:
The outsgr subroutine produces the output of surface grid data for visualization. The output is written into the binary file filsgr = *//'.g'//last_grid_inf//'.t'//time_step_inf//'.sgr'.
It uses the subroutines writehdrpat, writehdrtra, writegrdpat, writegrdtra, writezonehdr, writegrd which are also defined in the outsgr.F file.
Description/Structure:
This subroutine extracts the isosurface and writes the data into the binary file filnam = *//'.g'//last_grid_inf//'.t'//time_step_inf//'.iss' or filnam = *//'.g'//last_grid_inf//'.iss'.
First it opens the binary file for writing. If the isosurface data output format is equal to explorer format, it writes the information like the version, variable name, variable ID, number of blocks to the file. If the isosurface data output format is tecplot format then it writes the data in the tecplot 6.3 format using the techdr subroutine.
Then it calls isogetinfo subroutine to get the information about the number of blocks, vertices, normals and indices from the processors. It writes the block headers information again according to the format. It calls isogetinfo once more to get isosurface data from each procesoor and writes the data block by block.
For the additional variables requested like u,v,w,p,k,t,eps,..., it uses isooutvar subroutine which is also given in outisosurf.F
Lastly, it closes the binary file and informs the user that the issue is done. Writes the ASCII output of the surface data using the subroutine printr into the file filsur = 'out/*.sur'.
First it checks if there is an output request and if there is a request it writes the field names into the charater array fn.
According to the request, it writes the value of the requested data with the help of printr subroutine and s3dt2d which gives the 2d surface information of the 3d grid data.
The main loop of this issue is done with the help of idi variable which varies from 1 to 6, representing W,S,B,T,N,E recursively, in the do loop and then s3dt2d is called with the idi information to get the values at this surface and last printr is called to write it out.
Description/Structure:
Writes the ASCII output of the surface data using the subroutine printr into the file filsur = 'out/*.sur'.
First it checks if there is an output request and if there is a request it writes the field names into the charater array fn.
According to the request, it writes the value of the requested data with the help of printr subroutine and s3dt2d which gives the 2d surface information of the 3d grid data.
The main loop of this issue is done with the help of idi variable which varies from 1 to 6, representing W,S,B,T,N,E recursively, in the do loop and then s3dt2d is called with the idi information to get the values at this surface and last printr is called to write it out.
Description/Structure:
Printa is a subroutine to printout the ASCII values of the field values sent by the variable fi and the value is written into the file whose information is sent by the variable ichan. hedfi is the name of the field value to be written as a header, which is usually kept in the fnames charater array in the other subroutines which call printa.
Printa is called by the subroutines output, outgeo and outgeo_t.
Description/Structure:
Prints the integer (surface) arrays into the boundary conditions output file out/*.bnd and it is called by the blcomout subroutine.
Description/Structure:
Prints the surface data from volume arrays into the file 'out/*.sur' and it is called by the outsurf subroutine.
It uses shiftr subroutine to shift the 2d real arrays which contains the data to be printed out.
Description/Structure:
It writes the binary restart file for visualization filvisrst = 'out/*.visrst'.
Shortly, it informs the user, opens the binary file for writing, writes the header, gets the data from processors and writes these data into the file. Closes the binary file and inform the user that it is done.
Description/Structure:
This subroutine is handling many things at the same time but mainly it produces the history file in the out folder. Many output subroutines calls it either to print to the his file or to the monitor.
Main call for the subroutine is :
call wwrite(llflag,log,
include "listwwrite.h"
Here the variable log is an integer used as a flag, showing the subroutine what to do. Here are the actions according to the log flag.