.. ############################################################################ .. doc/manual/packages/vertex-cfd/response_output.rst .. ############################################################################ .. _sec_response_output: *********************** Scalar Response Output *********************** .. code-block:: xml :caption: `Scalar Response Output` block in XML input file. :linenos: ... ... ... .. note:: Scalar responses integrate a field over a mesh block or sideset but are not normalized by the corresponding volume or surface area. Therefore, for verification or validation studies, users must perform the normalization themselves. .. py:data:: Output Frequency :type: integer :value: :math:`(0;\infty]` :usage: Optional :default: :math:`\infty` :description: Set the default frequency or high-level frequency of output for all scalar response functions. Note that this `Output Frequency` input parameter is overwritten by the individual `Output Frequency` that can be specified in each scalar response output block. .. code-block:: xml :caption: Default frequency output for all scalar response outputs. :linenos: .. dropdown:: :icon: multi-select :color: primary :animate: fade-in-slide-down .. py:data:: Field Name :type: string :value: List of field names to integrate over a mesh block or a sideset, separated by a comma. :usage: Required :description: List of field names to integrate over a mesh block or a sideset. The field name can be a nodal field (velocity, temperature, density, or species) or an element field (pressure, entropy, total energy, residuals, etc ...). Note that any fields defined at quadrature points or mesh nodes in the source code can be listed under field name. .. py:data:: Output Frequency :type: integer :value: :math:`(0;\infty]` :usage: Optional :default: Same as the high level `Output Frequency` input parameter specified in the `Scalar Response Output` XML block. :description: Individual output frequency of this scalar response output. .. py:data:: Element Blocks :type: string :value: List of mesh block ids/names separated by a comma. :usage: Optional :default: all mesh blocks defined in the Exodus mesh file. :description: List of block mesh ids/names (as defined in the Exodus mesh file) separated by a comma over which the response will be computed. Note that when using the `Inline` mesh option, mesh blocks ids are labeled with `eblock-X_Y` and `eblock-X_Y_Z` for 2D and 3D geometries, respectively, where `X`, `Y` and `Z` denote the mesh block id in the Cartesian directions. For instance, when using a mesh with two mesh blocks in the x-direction, `X` will range from `0` to `1`. .. literalinclude:: ../../../../examples/inputs/full_induction_mhd/ldc_2d_mixed_b_050_rotated.xml :language: xml :linenos: :caption: Scalar response output that integrates the divergence of the induced magnetic field and its absolute value over the block `eblock-0_0-quad` and output the scalar response value every other time step. :start-at: Magn Field Divergence :end-at: -- Abs Magn Field Divergence -- .. code-block:: bash :caption: Solver output for the scalar responses at time steps 3 and 4. The `Magn Field Divergence` and `Abs Magn Field Divergence` responses are outputed every time step. Note that the input syntax can be simplified by using a unique sublist and listing `Magn Field Divergence` and `Abs Magn Field Divergence` under `Field Name`. :linenos: Time Step = 3; Order = 2 CFL = 2.098e+01; dt = 3.015e-03; Time = 1.738427232901e-03 | Nonlinear | F 2-Norm | # Linear | R 2-Norm | 0 1.74e-01 1 5.23e-05 50 9.27e-07 2 1.32e-10 57 9.39e-07 3 5.94e-15 63 9.17e-07 | Nonlinear | F 2-Norm | # Linear | R 2-Norm | 0 2.97e-01 1 1.38e-04 50 9.40e-07 2 5.98e-10 56 9.59e-07 3 7.11e-15 63 9.95e-07 Time step time to completion (s): 1.55e+00 Scalar Responses: Magn Field Divergence - divergence_induced_magnetic_field = 3.255595976375978e-06 Abs Magn Field Divergence - abs_divergence_induced_magnetic_field = 0.00099132620736235 Time Step = 4; Order = 2 CFL = 3.097e+01; dt = 4.454e-03; Time = 4.753628455579e-03 | Nonlinear | F 2-Norm | # Linear | R 2-Norm | 0 1.04e-01 1 3.31e-05 72 9.22e-07 2 4.55e-11 79 8.75e-07 3 5.70e-15 92 9.14e-07 | Nonlinear | F 2-Norm | # Linear | R 2-Norm | 0 2.32e-01 1 1.07e-04 72 8.63e-07 2 2.94e-10 78 9.05e-07 3 6.17e-15 91 9.86e-07 Time step time to completion (s): 1.59e+00 Scalar Responses: Magn Field Divergence - divergence_induced_magnetic_field = 1.895992002556518e-06 Abs Magn Field Divergence - abs_divergence_induced_magnetic_field = 0.001797021397254495 .. dropdown:: :icon: multi-select :color: primary :animate: fade-in-slide-down .. py:data:: Field Name :type: string :value: List of field names to integrate over a mesh block or a sideset, separated by a comma. :usage: Required :description: List of field names to integrate over a mesh block or a sideset. The field name can be a nodal field (velocity, temperature, density, or species) or an element field (pressure, entropy, total energy, residuals, etc ...). Note that any fields defined at quadrature points or mesh nodes in the source code can be listed under field name. .. py:data:: Output Frequency :type: integer :value: :math:`(0;\infty]` :usage: Optional :default: Same as the high level `Output Frequency` input parameter specified in the `Scalar Response Output` XML block. :description: Individual output frequency of this scalar response output. .. dropdown:: Sidesets :icon: multi-select :color: primary :animate: fade-in-slide-down .. py:data:: :type: string :value: sideset name. :usage: Required when not using `Element Blocks`. :description: Name of the sideset as defined in the Exodus mesh file to surface-integrate the field specified in `Field Name` over. The block name is specified as the `name` of the XML syntax, while the sideset name is specified as the `value`. .. literalinclude:: ../../../../examples/inputs/incompressible/incompressible_2d_laminar_airfoil.xml :language: xml :linenos: :name: sideset_example :caption: Scalar response computing the surface-integrated value of the x-component of the aerodynamic forces acting on the sideset `airfoil` that belongs to the mesh block `block_1`. As the `Output Frequency` input parameter is not specified, the default `Output Frequency` value is employed. :start-at: Force :end-at: -- Force -- .. code-block:: bash :caption: Solver output for the scalar responses listed in :numref:`sideset_example` at time step 480. A response function is listed for each field name listed in the `Field Names` input parameter. :linenos: Time Step = 480; Order = 1 CFL = 4.000e+02; dt = 6.398e-01; Time = 1.776498438e+02 | Nonlinear | F 2-Norm | # Linear | R 2-Norm | 0 7.64e-04 1 7.60e-08 230 9.95e-05 Time step time to completion (s): 2.39e+00 Scalar Responses: Force - pressure_force_0 = 0.03211895605248266 Force - total_force_0 = 0.06949613817519235 Force - shear_tensor_0 = -37.37718212270967 Force - viscous_force_0 = 0.03737718212270966 Force - pressure_force_1 = 0.1590301014128794 Force - total_force_1 = 0.1600614074958627 Force - shear_tensor_1 = -1.031306082983392 Force - viscous_force_1 = 0.001031306082983394 .. dropdown:: :icon: multi-select :color: primary :animate: fade-in-slide-down .. caution:: The probes logic only works with nodal variables and on CPUs. .. note:: The name of the scalar response block `` in the XML input file is user-defined. .. py:data:: Field Name :type: string :value: List of field names to integrate over a mesh block or a sideset, separated by a comma. :usage: Required :description: List of field names to integrate over a mesh block or a sideset. The field name can be a nodal field (velocity, temperature, density, or species) or an element field (pressure, entropy, total energy, residuals, etc ...). Note that any fields defined at quadrature points or mesh nodes in the source code can be listed under field name. .. py:data:: Output Frequency :type: integer :value: :math:`(0;\infty]` :usage: Optional :default: Same as the high level `Output Frequency` input parameter specified in the `Scalar Response Output` XML block. :description: Individual output frequency of this scalar response output. .. dropdown:: Probe Coordinates :icon: multi-select :color: primary :animate: fade-in-slide-down .. py:data:: Probe :type: Array(double) :value: :math:`[-\infty;\infty]` :usage: Required :description: Cartesian coordinates of the :math:N^{\text{th}} probe. Multiple probe entries can be specified with different names following the nomenclature Probe i, where i is the probe index. Note that the probe indices must be consecutive starting from 1. .. literalinclude:: ../../../../examples/inputs/incompressible/incompressible_2d_heated_channel.xml :language: xml :linenos: :name: probe_example :caption: Probes to extract `temperature` values at specific locations within `eblock-0_0` and on the sideset `right`. The sublist named `Probe Upper` will extract the values of the temperature at two different locations specified with `Probe 1` and `Probe 2`. :start-at: Probe Upper :end-at: -- Probe Right -- .. code-block:: bash :linenos: :caption: Solver output for the scalar response output block specified in :numref:`probe_example`. Time Step = 100; Order = 1 CFL = 9.102e+01; dt = 1.000e+02; Time = 9.90000000e+03 | Nonlinear | F 2-Norm | # Linear | R 2-Norm | 0 8.48e-01 1 7.69e-07 295 9.76e-11 2 1.11e-11 429 9.83e-11 Time step time to completion (s): 1.30e+00 Scalar Responses: Probe Upper 1 - temperature = 20.65953897897253 Probe Upper 2 - temperature = 20.03235001130465 Probe Right 1 - temperature = 20.00184327047455