# Post Processing Fluxes and Data¶

By Post-processing Fluxes we mean area-integrated fluxes that can be calculated for any flux quantity across any surface demarcated by a side set. The area-integrated flux is in fact a total flow rate across the boundary. Examples include heat-flow, total force of a liquid on a surface, and species flow (both diffusive and convective). The integrated flux quantities are output to a specified file at each time step, together with the time stamp and the convective and diffusive components. This capability is useful for extracting engineering results from an analysis, and can further be used to as an objective function evaluator for engineering optimization problems (cf. Post Processing Flux Sensitivities card below).

Post Processing Data output can be used to produce spatial {value, x, y, z} sets on a specified side set of any primitive variable in the problem, viz. pressure, x-component of velocity, etc. The quantity value is the value of the variable at a node in the side set, and x, y, z are the coordinates of the node.

## Post Processing Fluxes¶

Post Processing Fluxes =


### Description / Usage¶

This card indicates that the cards between this and an END OF FLUX card are to be read and processed. If this card (Post Processing Fluxes) is not present, FLUX cards will be ignored.

### Examples¶

There are no input parameters for this card, which always appears as follows:

Post Processing Fluxes =


No Discussion.

No References.

## FLUX¶

FLUX = {flux_type} <bc_id> <blk_id> <species_id> <file_name> [profile]


### Description / Usage¶

FLUX cards are used to calculate the integrated fluxes of momentum, mass, energy, etc. on a specified side set during post processing. As many of these FLUX cards as desired can be input to Goma to direct the calculations. For example, multiple cards may be used to compute a particular flux, e.g. FORCE_NORMAL, on different side sets or different fluxes on the same side set. Cards with identical fluxes and identical side sets could be used to output the flux calculations to different files. Definitions of the input parameters are:

 {flux_type} A keyword that can have any one of the following values: FORCE_NORMAL FORCE_TANGENT1 FORCE_TANGENT2 FORCE_X FORCE_Y FORCE_Z VOLUME_FLUX SPECIES_FLUX HEAT_FLUX TORQUE AVERAGE_CONC SURF_DISSIP AREA VOL_REVOLUTION PORE_LIQ_FLUX CHARGED_SPECIES_FLUX CURRENT_FICKIAN CURRENT ELEC_FORCE_NORMAL ELEC_FORCE_TANGENT1 ELEC_FORCE_TANGENT2 ELEC_FORCE_X ELEC_FORCE_Y ELEC_FORCE_Z NET_SURF_CHARGE ACOUSTIC_FLUX_NORMAL ACOUSTIC_FLUX_TANGENT1 ACOUSTIC_FLUX_TANGENT2 ACOUSTIC_FLUX_X ACOUSTIC_FLUX_Y ACOUSTIC_FLUX_Z For every request, the integral of the diffusive portion followed by that of the convective portion over the requested boundary will be appended to the specified file. If the convective flux is not applicable (i.e.for flux_types VOLUME_FLUX, TORQUE, AVERAGE_CONC and AREA), the second quantity will be zero. In all cases the area of the face (covered by the entire side set) and the time value are also output. The boundary flag identifier, an integer associated with the boundary location (side set in EXODUS II) in the problem domain on which the integrated flux is desired. An integer that designates the mesh block (material) from which the flux integral should be performed. This has implications on internal boundaries. An integer that identifies the species number if an integrated species flux is requested. A character string corresponding to a file name into which these fluxes should be printed. [profile] Inclusion of the optional string “profile’ to this card will cause the coordinates (x,y,z), the diffusive integrand, and the convective integrand at each integration point to be printed to the file designated above. You can, for example, print out a pressure distribution used to compute a force.

### Examples¶

The following example shows a sample input deck section that requests five such integrated fluxes:

Post Processing Fluxes =

FLUX = FORCE_X 5 1 0 side5.out

FLUX = FORCE_Y 5 1 0 side5prof.out   profile

FLUX = FORCE_NORMAL 8 1 0 side8.out

FLUX = FORCE_TANGENT1 8 1 0 side8.out

FLUX = VOLUME_FLUX 8 1 0 side8.out

END OF FLUX


### Technical Discussion¶

The permissible flux types are those listed in file mm_post_def.h for struct Post_Processing_Flux_Names, pp_flux_names being one variable of this struct type.

The flux integrations are carried out as follows:

 FLUX DIFFUSIVE FLUX CONVECTIVE FLUX FORCE_NORMAL $$\int$$ n • $$\underline{T}$$ • ndA $$\int\rho$$ n • (v - $$v_m$$) v • ndA FORCE_TANGENT1 $$\int_1$$ • $$\underline{T}$$ • ndA $$\int\rho$$ $$t_1$$ (v - $$v_m$$) v • ndA FORCE_TANGENT2 $$\int_2$$ • $$\underline{T}$$ • ndA $$\int\rho$$ $$t_2$$ (v - $$v_m$$) v • ndA FORCE_X $$\int$$ i • $$\underline{T}$$ • ndA $$\int\rho$$ i (v - $$v_m$$) v • ndA FORCE_Y $$\int$$ j • $$\underline{T}$$ • ndA $$\int\rho$$ j (v - $$v_m$$) v • ndA FORCE_Z $$\int$$ k • $$\underline{T}$$ • ndA $$\int\rho$$ k (v - $$v_m$$) v • ndA VOLUME_FLUX $$\int$$ n • (v - $$v_m$$) dA for ARBITRARY mesh motion. $$\int$$ n • ddA for LAGRANGIAN mesh motion. SPECIES_FLUX $$\int$$ (-$$D_jn$$ • $$\Delta$$ cj) dA $$\int\rho$$ n • ( v - $$v_m$$ ) cjdA HEAT_FLUX $$\int$$ (-kn • $$\Delta$$ T) dA $$\int\rho$$ CpTn • ( v - $$v_m$$ ) dA TORQUE $$\int$$ $$re_r$$ × ( $$\underline{T}$$ • n) dA AVERAGE_CONC $$\int$$ cjdA SURF_DISSIP $$\int\sigma\Delta$$ v • ( $$\zeta$$ - nn) dA AREA $$\int$$ dA VOL_REVOLUTION $$\int\frac{1}{2}$$ $$\frac{r}{\sqrt{}{1 + (dr/dz)^2}}$$ dA POR_LIQ_FLUX $$\int$$ n • ($$\rho_lv_{darcy}$$) dA CHARGED_SPECIES_FLUX $$\int$$ (-Djn • $$\Delta$$ cj) dA $$\int\rho$$ n • ( v - $$v_m$$ ) cjdA CURRENT_FICKIAN $$\int$$ (-Djn • $$\Delta$$ cj) dA $$\int\rho$$ n • ( v - $$v_m$$ ) cjdA PVELOCITY[1-3] $$\int$$ n • pvjdA ELEC_FORCE_NORMAL $$\int$$ n $$\underline{T}_e$$ • ndA ELEC_FORCE_TANGENT1 $$\int$$ $$t_1$$ • $$\underline{T}_e$$ • ndA ELEC_FORCE_TANGENT2 $$\int$$ $$t_2$$ • $$\underline{T}_e$$ • ndA ELEC_FORCE_X $$\int$$ i • $$\underline{T}_e$$ • ndA ELEC_FORCE_Y $$\int$$ j • $$\underline{T}_e$$ • ndA ELEC_FORCE_Y $$\int$$ k • $$\underline{T}_e$$ • ndA NET_SURF_CHARGE $$\int$$ (-$$\varepsilon$$ $$\underline{n}$$ • $$\underline{E}$$) dA ACOUSTIC_FLUX_NORMAL $$\int$$ (-$$\frac{1}{kR}$$ n • $$\Delta P_{imag}$$) dA $$\int$$ (-$$\frac{1}{kR}$$ n • $$\Delta P_{real}$$) dA ACOUSTIC_FLUX_TANGENT1 $$\int$$ (-$$\frac{1}{kR}$$ $$t_1$$ • $$\Delta P_{imag}$$) dA $$\int$$ (-$$\frac{1}{kR}$$ $$t_1$$ • $$\Delta P_{real}$$) dA ACOUSTIC_FLUX_TANGENT2 $$\int$$ (-$$\frac{1}{kR}$$ $$t_2$$ • $$\Delta P_{imag}$$) dA $$\int$$ (-$$\frac{1}{kR}$$ $$t_2$$ • $$\Delta P_{real}$$) dA ACOUSTIC_FLUX_X $$\int$$ (-$$\frac{1}{kR}$$ $$i$$ • $$\Delta P_{imag}$$) dA $$\int$$ (-$$\frac{1}{kR}$$ $$i$$ • $$\Delta P_{real}$$) dA ACOUSTIC_FLUX_Y $$\int$$ (-$$\frac{1}{kR}$$ $$j$$ • $$\Delta P_{imag}$$) dA $$\int$$ (-$$\frac{1}{kR}$$ $$j$$ • $$\Delta P_{real}$$) dA ACOUSTIC_FLUX_Z $$\int$$ (-$$\frac{1}{kR}$$ $$k$$ • $$\Delta P_{imag}$$) dA $$\int$$ (-$$\frac{1}{kR}$$ $$k$$ • $$\Delta P_{real}$$) dA

The SURF_DISSIP card is used to compute the energy dissipated at a surface by surface tension (Batchelor, 1970). The VOL_REVOLUTION card is used in axi- symmetric problems to compute the volume swept by revolving a surface around the axis of symmetry (z-axis). Even though every flux card results in the area computation of the side set, the AREA card is used when the area of a surface is part of an augmenting condition. The POR_LIQ_FLUX term is valid only for saturated media and the Darcy velocity is defined by $$\nu_{darcy}$$ = ($$\kappa$$ / $$\mu$$) $$\Delta$$ $$p_{liq}$$ . For the more general case, refer to the POROUS_LIQ_FLUX_CONST boundary condition.

### References¶

Batchelor, JFM, 1970. ….. need to fill-in reference; get from RBS

For information on using flux calculations as part of augmenting conditions, see:

SAND2000-2465: Advanced Capabilities in Goma 3.0 - Augmenting Conditions, Automatic Continuation, and Linear Stability Analysis, I. D. Gates, I. D., Labreche, D. A. and Hopkins, M. M. (January 2001).

## END OF FLUX¶

END OF FLUX


### Description / Usage¶

This card is used to denote the end of a set of FLUX cards and is only used when the Post Processing Fluxes card is present and one or more FLUX cards are specified.

### Examples¶

A simple example of using this card in context is shown below.

Post Processing Fluxes =
FLUX = FORCE_X 5 1 0 side5.out
END OF FLUX


No Discussion.

No References.

## Post Processing Data¶

Post Processing Data =


### Description / Usage¶

This card indicates that the cards between this and an END OF DATA card are to be read and processed. If this card (Post Processing Data) is not present, DATA cards will be ignored.

### Examples¶

There are no input parameters for this card, which always appears as follows:

Post Processing Data =


No Discussion.

No References.

## DATA¶

DATA = {data_type} <bc_id> <blk_id> <species_id> <file_name>


### Description / Usage¶

A DATA card directs Goma to output the indicated primitive variable on a specified node set. As many of these DATA cards as desired can be input to Goma. For example, multiple cards may be used to output a particular variable, e.g. VELOCITY1, on different node sets or different variables on the same node set. Cards with identical variables and identical node sets could be used to output the variables to different files. Definitions of the input parameters are as follows:

 {data_type} A keyword that can have any one of the following primitive values: VELOCITY[1-3] TEMPERATURE MASS_FRACTION MESH_DISPLACEMENT[1-3] SURFACE PRESSURE POLYMER_STRESS[1-3][1-3] SOLID_DISPLACEMENT[1-3] VELOCITY_GRADIENT[1-3][1-3] VOLTAGE FILL SHEAR_RATE PVELOCITY[1-3] POLYMER_STRESS[1-3][1-3]_[1-7} SPECIES_UNK[0-29] VolFracPh_[0-4] POR_LIQ_PRES POR_GAS_PRES POR_PORSITY POR_SATURATION VORT_DIR[1-3] VORT_LAMBDA Each request will result in the point coordinates and the quantity value being printed to the specified file. The boundary flag identifier, an integer associated with the boundary location (node set in EXODUS II) in the problem domain on which the quantity is desired. An integer that designates the mesh block (material) from which the variable value should be taken. This has implications for discontinuous variables on internal boundaries. An integer that identifies the species number if a species variable is requested. A character string corresponding to a file name into which the data should be printed.

### Examples¶

A simple example of using this card in context is shown below.

Post Processing Data =
DATA = VELOCITY2 1 1 0 data.out
END OF DATA


### Technical Discussion¶

If a fixed mesh or a subparametric mesh problem is being solved, the point coordinates printed to the file will be the undeformed coordinates.

No References.

## END OF DATA¶

END OF DATA


### Description / Usage¶

This card is used to denote the end of a set of DATA cards and is only used when the Post Processing Data card is present and one or more DATA cards are specified.

### Examples¶

A simple example of using this card in context is shown below.

Post Processing Data =
DATA = VELOCITY2 1 1 0 data.out
END OF DATA


No Discussion.

No References.

## Post Processing Flux Sensitivities¶

Post Processing Flux Sensitivities =


### Description / Usage¶

This card indicates that the cards between this and an END OF FLUX_SENS card are to be read and processed. If this card (Post Processing Flux Sensitivities) is not present, FLUX_SENS cards will be ignored.

### Examples¶

There are no input parameters for this card, which always appears as follows:

Post Processing Flux Sensitivities =


No Discussion.

No References.

## FLUX_SENS¶

FLUX_SENS = {flux_type} <bc_id> <blk_id> <species_id> {sens_type}
<sens_id> <sens_flt> <file_name>


### Description / Usage¶

FLUX_SENS cards request the calculation of the sensitivity of an integrated flux with respect to a boundary condition or material parameter. As many FLUX_SENS cards as desired can be input to Goma. Definitions of the input parameters are as follows:

 {flux_type} A keyword that can have any one of the following values: FORCE_NORMAL FORCE_TANGENT1 FORCE_TANGENT2 FORCE_X FORCE_Y FORCE_Z VOLUME_FLUX SPECIES_FLUX HEAT_FLUX TORQUE AVERAGE_CONC SURF_DISSIP AREA VOL_REVOLUTION PORE_LIQ_FLUX CHARGED_SPECIES_FLUX CURRENT_FICKIAN CURRENT For every request, the specified sensitivity of the integrated diffusive flux followed by that of the convective portion over the requested boundary will be appended to the specified file. If the convective flux is not applicable (cf. FLUX card), the second quantity will be zero. In all cases the area of the face (covered by the entire side set) and the time value are also output. The boundary flag identifier, an integer associated with the boundary location (node set in EXODUS II) in the problem domain on which the integrated flux sensitivity is desired. An integer that designates the mesh block (material) from which the flux sensitivity integral should be performed. This has implications on internal boundaries. An integer that identifies the species number if an integrated species flux sensitivity is requested. {sens_type} A two-character entry that identifies the sensitivity type, where: BC denotes a sensitivity w.r.t. to a boundary condition parameter. MT denotes a sensitivity w.r.t. to a material property parameter. An integer that identifies the sensitivity. If BC is specified for {sens_type}, then this value is the BC card number. If MT is specified for {sens_type}, this value is the material number. A floating point number whose meaning is also dependent on the selection of {sens_type}. If BC is specified, this value is the BC data float number. If MT is specified, this value is the material property tag. A character string corresponding to a file name into which these fluxes should be printed.

### Examples¶

Here is an example input deck:

Post Processing Flux Sensitivities =
FLUX_SENS = VOLUME_FLUX 1 1 0 BC 5 3 flux_sens.out
END OF FLUX_SENS


### Technical Discussion¶

Currently, the flux sensitivities do not account for the implicit sensitivity of material properties. That is, $$dFORCE_X$$ / $$dBC_{float}$$ does not include a contribution from $$d\mu$$ / $$dBC_{float}$$ , but $$dFORCE_X$$ / $$dMT_{property}$$ should be done correctly. In addition, sensitivities of integrated fluxes in solid materials have not been implemented yet.

NOTE: In order to compute flux sensitivities with respect to Dirichlet boundary condition floats, the boundary conditions need to use the residual method in the input file as described in the Boundary Condition Specification introduction, i.e. the optional parameter should be set to 1.0.

No References.

## END OF FLUX_SENS¶

END OF FLUX_SENS


### Description / Usage¶

This card is used to denote the end of a set of FLUX_SENS cards and is only used when the Post Processing Flux Sensitivities card is present and one or more FLUX_SENS cards are specified.

### Examples¶

A simple example of using this card in context is shown below.

Post Processing Flux Sensitivities =
FLUX_SENS = VOLUME_FLUX 1 1 0 BC 5 3 flux_sens.out
END OF FLUX_SENS


No Discussion.

No References.

## Post Processing Data Sensitivities¶

Post Processing Data Sensitivities =


### Description / Usage¶

This card indicates that the cards between this and an END OF DATA_SENS card are to be read and processed. If this card (Post Processing Data Sensitivities) is not present, DATA_SENS cards will be ignored.

### Examples¶

There are no input parameters for this card, which always appears as follows:

Post Processing Data Sensitivities =


No Discussion.

No References.

## DATA_SENS¶

DATA = {data_type} <bc_id> <blk_id> <species_id> {sens_type} <sens_id>
<sens_flt> <file_name>


### Description / Usage¶

As many of these DATA_SENS cards as desired can be input to direct Goma to print the sensitivity of a specified variable with respect to a boundary condition or material parameter on a specified node set. Definitions of the input parameters are as follows:

 {data_type} A keyword that can have any one of the following values: VELOCITY[1-3] TEMPERATURE MASS_FRACTION MESH_DISPLACEMENT[1-3] SURFACE PRESSURE POLYMER_STRESS[1-3][1-3] SOLID_DISPLACEMENT[1-3] VELOCITY_GRADIENT[1-3][1-3] VOLTAGE FILL SHEAR_RATE PVELOCITY[1-3] VolFracPh_[0-4] POR_LIQ_PRES POR_GAS_PRES POR_PORSITY POR_SATURATION VORT_DIR[1-3] VORT_LAMBDA Each request will result in the point coordinates and the specified sensitivity value being printed to the specified file. The boundary flag identifier, an integer associated with the boundary location (node set in EXODUS II) in the problem domain on which the variable sensitivity is desired. An integer that designates the mesh block (material) from which the variable sensitivity should be taken. This has implications for discontinuous variables on internal boundaries. An integer that identifies the species number if a species sensitivity is requested. {sens_type} A two-character entry that identifies the sensitivity type, where: BC denotes a sensitivity w.r.t. to a boundary condition parameter. MT denotes a sensitivity w.r.t. to a material property parameter. An integer that identifies the sensitivity. If BC is specified for {sens_type}, then this value is the BC card number. If MT is specified for {sens_type}, this value is the material number. A floating point number whose meaning is also dependent on the selection of {sens_type}. If BC is specified, this value is the BC data float number. If MT is specified, this value is the material property tag. A character string corresponding to a file name into which the data should be printed.

### Examples¶

The following example shows a sample input deck section with three data requests:

Post Processing Data Sensitivities =
DATA_SENS = VELOCITY2 1 1 0 BC 5 3 data_sens.out
DATA_SENS = VELOCITY1 6 1 0 BC 5 3 data_sens.out
DATA_SENS = VELOCITY1 6 1 0 BC 4 0 data_sens.out
END OF DATA_SENS


### Technical Discussion¶

NOTE: In order to compute data sensitivities with respect to dirichlet boundary condition floats, the boundary conditions need to be “soft” set in the input file, i.e. the optional parameter should be set to 1.0.

No References.

## END OF DATA_SENS¶

END OF DATA_SENS


### Description / Usage¶

This card is used to denote the end of a set of DATA_SENS cards and is only used when the Post Processing Data Sensitivities card is present and one or more DATA_SENS cards are specified.

### Examples¶

A simple example of using this card in context is shown below.

Post Processing Data Sensitivities =
DATA_SENS = VELOCITY2 1 1 0 BC 5 3 data_sens.out
END OF DATA_SENS


No Discussion.

No References.