Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README | 2019-04-04 | 6.4 kB | |
capsule_spokes.f90 | 2019-04-04 | 12.7 kB | |
build | 2018-09-19 | 395 Bytes | |
Totals: 3 Items | 19.5 kB | 0 |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! program capsule_spokes ! Description: ! ! This utility is intended to complement the POLAR_INTERP scheme by defining ! body points along capsule heat shield (or aft body) spokes at which the ! NEQAIR radiation solver is intended to be run. POLAR_INTERP turns the ! radiative heat fluxes at those body points into a structured surface data- ! set by interpolating nonlinearly across spokes in the azimuthal direction ! after regularizing the spoke point counts. This in turn may be interp- ! olated to a desired mesh (SURFACE_INTERP) or contour-plotted directly. ! [The same scheme is also applicable to mass loss data gathered with ! material ablation solver FIAT in place of NEQAIR.] ! ! Assumptions: ! ! > The capsule geometry smooth outer mold line is axisymmetric. ! > The analysis is to be at nonzero angle of attack (NOT axisymmetric). ! > The supplied portion of a generatrix consists of the points desired ! along the vertical symmetry plane slice. It is expected to be confined ! to either the forebody or to the aft body--not both, in order to avoid ! complications involving duplicate end points common to all spokes. ! > Further spokes are defined simply by rotating this generatrix. ! > The first spoke (input generatrix fragment) should be at the 12 o'clock ! position, with the centerline point first (as for POLAR_INTERP). ! > The spokes may proceed either clockwise or anticlockwise (" " "). ! Angles 0 through +180 degrees in the one-line file mentioned below ! produce the right-hand half of a whole body or forebody surface. ! > If the generatrix represents the aft body (only), the outputs will ! start with the centerline point. I.e., the input order along the ! generatrix may be reversed if necessary. Positive angles produce the ! right hand half as for the forebody. ! > The spokes are traditionally NOT uniformly spaced. Therefore, an ! angular distribution defining the further spokes is read as input. ! ! Inputs: ! ! A few prompts suffice for file names and padded mesh dimensions. ! ! The generatrix should look something like this (read to EOF): ! ! x1 z1 [0.] or x1 0. z1 ! 2 or 3 columns; ! x2 z2 [0.] x2 0. z2 ! if 3 columns, the column with smallest ! x3 z3 [0.] x3 0. z3 ! data range is suppressed and the other ! : : [ :] : : : ! two are treated as x and y. ! ! If the first point is not at y = 0, it is reversed in place to make the ! first point the centerline point. If the resulting first point is still ! not at y = 0, this is a fatal error because the spokes produced here are ! supposed to have a common center point (that is suppressed in all but the ! first spoke to avoid unnecessary NEQAIR runs; POLAR_INTERP handles the ! suppressed points). ! ! The angular spoke coordinates should appear in a one-line file something ! like this (read as reals): ! ! 0 5 10 15 25 35 ... 155 165 170 175 180 ! ! See assumptions above for the meaning of positive angles here, in degrees. ! ! Output Format: ! ! Achieving compatibility with the PREPARE_NEQAIR_DATA scheme that will ! probably be employed prior to the POLAR_INTERP step is a little awkward. ! The solution is to number the points of all spokes from 1 through N where ! N is the total number of points from all spokes. The main output of ! 'x y z' coordinates produced here then serves as the body point list ! expected by PREPARE_NEQAIR_DATA. Then NEQAIR results will appear in ! directories /LINE-1, /LINE-2, ..., /LINE-N. ! ! Using the command "grep Total LINE-*/neqair.out > total.txt" (say) will ! produce a total.txt file that starts like this: ! ! LINE-1/neqair.out:Total radiative heating ... = 2.468401 W/cm2 ! LINE-11/neqair.out:Total radiative heating ... = 3.170634 W/cm2 ! LINE-12/... ! ... ! LINE-19/... ! LINE-2/... ! LINE-20/... ! ! In order to obtain the desired order, LINE-1, LINE-2, ..., another utility ! by the present author, named SORT_ROWS, can be used with 'LINE-' as the ! prefix prompted for. This will order the heat fluxes to match the list ! of body point coordinates (for all spokes) written here. Then some other ! utility such as COLUMNEDIT (same author) can append the heat fluxes to the ! table of coordinates. ! ! This program also writes the POLAR_INTERP-type header that needs to be ! inserted at the top of the combined "x y z f" table after the function ! data (NEQAIR or maybe FIAT) have been appended to the body point coords. ! generated here. The file names are hard-coded as 'header.dat' and ! 'body-points.dat'. ! ! The gyrations between running NEQAIR and running POLAR_INTERP may easily ! be scripted. ! ! Advantage is taken of POLAR_INTERP's option to avoid repeating NEQAIR runs ! at the origin of all spokes. ! ! History: ! ! 08/09/2017 D.A.Saunders Initial design. ! 08/18/2017 " " Initial coding and testing after a hiatus. ! 08/22/2017 " " Diagnostics on input data are now written. ! Subroutine RVERSE has 3 arguments, not 2! ! 04/04/2019 " " Application to a forebody with a 3-column ! generatrix uncovered glitches that should ! have been found with more thorough testing. ! For the forebody/right-half case, positive ! input angles actually produced spokes on the ! left half. Positive input angles need to be ! negated to produce the spokes on the right ! half for both forebody and aft body. If ! negative angles are input, they are still ! negated and should produce left-half spokes. ! ! Author: David Saunders, AMA, Inc. at NASA Ames Research Center, CA ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!