SOLAR_RADIATION_SURFACE

Specifies a solar radiation heat flux condition on a surface.

Type

AcuSolve Command

Syntax

SOLAR_RADIATION_SURFACE("name") {parameters...}

Qualifier

User-given name.

Parameters

shape (enumerated) [no default]
Shape of the surfaces in this set.
three_node_triangle or tri3
Three-node triangle.
four_node_quad or quad4
Four-node quadrilateral
six_node_triangle or tri6
Six-node triangle.
element_set or elem_set (string) [no default]
User-given name of the parent element set.
surfaces (array) [no default]
List of element surfaces.
surface_sets (list) [={}]
List of surface set names (strings) to use in this command. When using this option, the connectivity, shape, and parent element of the surfaces are provided by the surface set container and it is unnecessary to specify the shape, element_set and surfaces parameters directly to the SOLAR_RADIATION_SURFACE command. This option is used in place of directly specifying these parameters. In the event that both of the surface_sets and surfaces parameters are provided, the full collection of surface elements is read and a warning message is issued. The surface_sets option is the preferred method to specify the surface elements. This option provides support for mixed element topologies and simplifies pre-processing and post-processing.
side (enumerated) [=default]
Side of the surface that receives solar heat flux.
default
Side is based on the element medium.
inward
Side facing into the element.
outward
Side facing away from the element.
both
Both sides.
solar_radiation_model (string) [no default]
User-given name of the solar radiation model.

Description

This command specifies a solar radiation heat flux condition on a set of surfaces (element faces). This condition is coupled to all other solar radiation surfaces, but not to radiation surfaces or radiation element boundary conditions. The SOLAR_RADIATION command provides a detailed description of this coupling.

The surfaces of a solar radiation surface are defined with respect to the elements of an element set. For example,
ELEMENT_SET( "interior" ) {
    shape                  = four_node_tet
    medium                 = fluid
    elements               = { 1, 8, 3, 4, 9 ;
                               3, 3, 4, 9, 5 ;
                               ... }
 ...
}
SOLAR_RADIATION_SURFACE( "wall" ) {
    shape                  = three_node_triangle
    element_set            = "interior"
    surfaces               = { 1, 12, 9, 3, 4 ;
                               3, 52, 5, 3, 4 ; }
    side = default
    solar_radiation_model  = "solar reflectivity"
}

specifies a solar radiation heat flux condition to be applied to the default side of each of two surfaces of the element set "interior" using the solar radiation model "solar reflectivity".

There are two main forms of this command. The legacy version (or single topology version) of the command relies on the use of the surfaces parameter to define the surfaces. When using this form of the command, all surfaces within a given set must have the same shape, and it is necessary to include both the element_set and shape parameters in the command. shape specifies the shape of the surface. This shape must be compatible with the shape of the "parent" element set whose user-given name is provided by element_set. The element set shape is specified by the shape parameter of the ELEMENT_SET command. The compatible shapes are:
Element Shape
Surface Shape
four_node_tet
three_node_triangle
five_node_pyramid
three_node_triangle
five_node_pyramid
four_node_quad
six_node_wedge
three_node_triangle
six_node_wedge
four_node_quad
eight_node_brick
four_node_quad
ten_node_tet
six_node_triangle

The surfaces parameter contains the faces of the element set. This parameter is a multi-column array. The number of columns depends on the shape of the surface. For three_node_triangle, this parameter has five columns, corresponding to the element number (of the parent element set), a unique (within this set) surface number, and the three nodes of the element face. For four_node_quad, surfaces has six columns, corresponding to the element number, a surface number, and the four nodes of the element face. For six_node_triangle, surfaces has eight columns, corresponding to the element number, a surface number, and the six nodes of the element face. One row per surface must be given. The three, four, or six nodes of the surface may be in any arbitrary order, since they are reordered internally based on the parent element definition.

The surfaces may be read from a file. For the above example, the surfaces may be placed in a file, such as wall.srf:
1 12 9 3 4
3 52 5 3 4
and read by:
SOLAR_RADIATION_SURFACE ( "wall" ) {
   shape        = three_node_triangle
   element_set  = "interior"
   surfaces     = Read( "wall.srf" )
   ...
}
The mixed topology form of the SOLAR_RADIATION_SURFACE command provides a more powerful and flexible mechanism for defining the surfaces. Using this form of the command, it is possible to define a collection of surfaces that contains different element shapes. This is accomplished through the use of the surface_sets parameter. The element faces are first created in the input file using the SURFACE_SET command, and are then referred to by the SOLAR_RADIATION_SURFACE command. For example, a collection of triangular and quadrilateral element faces can be defined using the following SURFACE_SET commands.
SURFACE_SET( "tri faces" ) {
   surfaces        = { 1, 1, 1, 2, 4 ;
                       2, 2, 3, 4, 6 ;
                       3, 3, 5, 6, 8 ; }
   shape           = three_node_triangle
   volume_set      = "tetrahedra"
}
SURFACE_SET( "quad faces" ) {
   surfaces        = { 1, 1, 1, 2, 4, 9 ;
                       2, 2, 3, 4, 6, 12 ;
                       3, 3, 5, 6, 8, 15 ; }
   shape           = four_node_quad
   volume_set      = "prisms"
Then, a single SOLAR_RADIATION_SURFACE command is defined that contains the tri and quad faces as follows:
SOLAR_RADIATION_SURFACE ( "wall" ) {
   surface_sets       = {"tri_faces", "quad_faces"}
   ...
}
The list of surface sets can also be placed in a file, such as surface_sets.srfst:
tri faces
quad faces
and read using:
SOLAR_RADIATION_SURFACE ( "wall" ) {
   surface_sets       = Read("surface_sets.srfst")
   ...
}

The mixed topology version of the SOLAR_RADIATION_SURFACE command is preferred. This version provides support for multiple element topologies within a single instance of the command and simplifies pre-processing and post-processing. In the event that both the surface_sets and surfaces parameters are provided in the same instance of the command, the full collection of surface elements is read and a warning message is issued. Although the single and mixed topology formats of the commands can be combined, it is strongly recommended that they are not.

The side parameter specifies which side of the surface is active. If the solar radiation comes from the opposite side then the surface does not interact with this radiation, that is, the surface is completely transparent. An inward side faces towards the interior of its parent element, and an outward side faces away from the element. A value of both means that both the inward and outward sides are active. A default side is chosen based on the medium parameter of the ELEMENT_SET command. For a fluid medium, default is the same as inward, and for solid and shell media, default is the same as outward.

For example, a fluid-only thermal simulation of the interior of a car may include the effects of solar radiation falling on the roof and reflecting around on the inside with the following commands:
VOLUME_SET("interior"){
    shape                    = eight_node_brick
    elements                 = { 1, 1, 2, 3, 4, 5, 6, 7, 8 ;
                                 ... }
}
SURFACE_SET("roof"){
    shape                    = four_node_quad
    surfaces                 = { 1, 1, 1, 2, 3, 4 ;
                                 ... }
    volume_set               = "interior"
}
ELEMENT_SET( "air" ) {
    medium                   = fluid
    volume_sets              = {"interior"}
    ...
}
SOLAR_RADIATION_SURFACE( "interior side" ) {
    surface_sets             = {"roof"}
    side                     = inward
    solar_radiation_model    = "headliner cloth"
}
SOLAR_RADIATION_SURFACE( "exterior side" ) {
    surface_sets             = {"roof"}
    side                     = outward
    solar_radiation_model    = "exterior paint"
}
SOLAR_RADIATION_MODEL( "headliner cloth" ) {
    specular_transmissivity  = 0.0
    diffuse_transmissivity   = 0.0
    specular_reflectivity    = 0.05
    diffuse_reflectivity     = 0.4
}
SOLAR_RADIATION_MODEL( "exterior paint" ) {
    specular_transmissivity  = 0.0
    diffuse_transmissivity   = 0.0
    specular_reflectivity    = 0.6
    diffuse_reflectivity     = 0.1
}

The surface of the interior fluid elements that lie against the inside of the roof are split into inward and outward pointing sides. The inward pointing side models the properties of the headliner cloth, and the outward pointing side models the exterior paint on the roof. This avoids directly modeling the roof itself. However, it may be important to do so if the thermal resistance of the roof is significant.

In the roof example a both side could have been used if both solar radiation models were the same, but otherwise there is only one good way to model the roof. In other physical problems there may be a variety of ways of modeling solar radiation. If this is so, then modeling both sides of all possible surfaces is normally the most accurate model, but may be only slightly more accurate than simpler models at significantly greater cost and complexity. For example, consider modeling a glass windshield with one layer of brick elements. Since reflections occur on both sides of the glass for solar radiation coming from either direction, the most accurate model for one of these elements may look like:
VOLUME_SET("glass"){
    shape                    = eight_node_brick
    elements                 = { 1, 1, 2, 3, 4, 5, 6, 7, 8 ;
                                 ... }
}
SURFACE_SET("windshield"){
    shape                    = four_node_quad
    surfaces                 = { 1, 1, 1, 2, 3, 4 ;
                                 ... }
    volume_set               = "glass"
}
ELEMENT_SET( "glass" ) {
    medium                   = solid
    volume_sets              = {"glass"}
    ...
}
SOLAR_RADIATION_SURFACE( "both windshield surfaces" ) {
    surface_sets             = {"glass"}
    side                     = both
    solar_radiation_model    = "windshield, one surface"
}
SOLAR_RADIATION_MODEL( "windshield, one surface" ) {
    specular_transmissivity  = 0.9
    specular_reflectivity    = 0.1
}
But for thin windshields, there is little loss of accuracy by lumping reflections from both surfaces onto one as follows:
SOLAR_RADIATION_SURFACE( "lumped windshield surfaces" ) {
    ...
    side                       = both
    solar_radiation_model      = "windshield, both surfaces"
}
SOLAR_RADIATION_MODEL( "windshield, both surfaces" ) {
    specular_transmissivity    = 0.81
    specular_reflectivity      = 0.19
}
Another way to model this is to use both surfaces but only one side from each:
SOLAR_RADIATION_SURFACE( "both windshield surfaces, cheaper model" ) {
   ...
   side                  = outward
   solar_radiation_model = "windshield, both surfaces"
}

For all three of the above models there would be no solar radiation surfaces on the fluid elements on either side of the windshield. When a fluid element is adjacent to an unmodeled solid wall, such a surface would normally be created and assigned the solar radiation properties of the solid wall, as in the roof example.

All data from all SOLAR_RADIATION_SURFACE commands are preprocessed to form the solar heat flux for each of several given points in time (see the SOLAR_RADIATION command). This data is then interpolated for each time step during the simulation.

Since the solar radiation data is preprocessed, its content is written to disk. Once the problem has run, its values for all solved time steps can be translated to other formats using the AcuTrans program and other post-processing modules; see the AcuSolve Programs Reference Manual for details.