RF Channel Modeler Custom 3D Tileset Materials

You can add custom material options to the RF Channel Modeler and assign them to 3D tilesets in an analysis configuration. To do this, add a file named rfcm_materials.json to the STK scenario directory. The RF Channel Modeler detects this file, reads it, and adds the custom material types to the Material drop-down menu for each Selected Tileset in the Facet Tileset tab of an analysis configuration. The RF Channel Modeler also detects changes to the file and automatically loads them.

Materials JSON file description

The custom materials file uses the JSON format, where the materials are listed in a JSON array of objects. The materials JSON object has two properties or attributes:

  • “Type” is a string that contains the type or name of material. This is the name you will see in the Material drop-down menu.
  • “Properties” is a string that contains the material’s properties. The Properties string is encoded as “MATERIAL CONFIG”.

You can specify “MATERIAL” as one of the following strings:

  • “PEC” (perfect electrical conductor) represents a perfect metal surface with infinite conductivity. It has no additional configuration values.
  • “Absorber” implements a perfect electromagnetic absorber. Incident rays are absorbed by surfaces with this material, with no reflection or transmission of rays.

    Backscattering from perfect electromagnetic absorbers is not zero! Absorbers generate finite but weak backward scattering relative to the incident ray. While nonintuitive, it is entirely consistent with electromagnetic theory. Perfect absorbers work by producing strong forward scattering relative to the incident rays in order to yield a deep shadow in the total field (incident + scattered) beyond the absorbing surface. This strong forward scattering is created by equivalent currents painted on the absorber coating due to the incident ray fields. Since these currents properly radiate in all directions, perfect electromagnetic absorbers also generate finite scattering in the backward direction relative to the incident ray. The finite backscattering is much weaker than would occur with a highly reflective coating such as PEC, but it is not zero.

  • “DielectricLayers” may contain two or more layers. The CONFIG string for layers are separated by a space, with each layer encoded as a comma-delimited set of configuration parameters:

    “thickness,relEpsReal,relEpsImag,relMuReal,relMuImag,conductivity”

    Thickness is in mm, and conductivity is in S/m and >= 0. The quantity relEps is a unitless relative permittivity with a real component > 0 and imaginary component <= 0. The quantity relMu is a unitless relative permeability with a real component > 0 and imaginary component <= 0. The order of the layers matters. Layers read first are closer to the interface upon which the ray is incident. All dielectric layers have one and only one backing layer of infinite thickness. The backing layer is flagged by setting thickness t < 0. It must be the final layer in the sequence of described layers. The RF Channel Modeler will ignore any layers described after the backing layer. The backing layer can be characterized by its dielectric properties (formatted as above) or be expressed as “VACUUM” or “PEC”. Penetrable materials allow rays to transmit through as well as reflect. Transmitted rays will only be launched and traced if the backing layer is “VACUUM”, which is also the default if you do not provide a backing layer. You can specify half-space materials, such as to represent road surface, Earth, tires, or a building exterior, by a dielectric backing layer with no layers above it.

Here are some “DielectricLayers” examples:

A single 4 mm layer of glass:

"DielectricLayers 4.0,6.5,0.0,1.0,0.0,0.0000325 VACUUM"

A single infinite (half-space) layer of asphalt:

"DielectricLayers -1,3.18,-0.1,1.0,0.0,0.0"

Two 1 mm layers of plastic, backed by PEC metal:

"DielectricLayers 1.0,2.0,0.0,1.0,0.0,0.0 1.0,3.0,0.0,1.0,0.0,0.0 PEC"

Materials file example

Here is an example of a complete rfcm_materials.json file.

[
{
"Type":"Custom Metal", 
"Properties":"PEC"
},
{
"Type":"Custom Absorber",
"Properties":"Absorber"
},
{
"Type":"Custom Glass",
"Properties":"DielectricLayers 4.0,6.5,0.0,1.0,0.0,0.0000325 VACUUM"
},
{
"Type":"Custom Asphalt",
"Properties":"DielectricLayers -1,3.18,-0.1,1.0,0.0,0.0"
}
]