honeybee.radiance.material package

Submodules

honeybee.radiance.material.antimatter module

Radiance Antimatter Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Antimatter

class honeybee.radiance.material.antimatter.Antimatter(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Antimatter Material.

Antimatter is a material that can “subtract” volumes from other volumes. A ray passing into an antimatter object becomes blind to all the specified modifiers:

mod antimatter id N mod1 mod2 .. modN 0 0

The first modifier will also be used to shade the area leaving the antimatter volume and entering the regular volume. If mod1 is void, the antimatter volume is completely invisible. Antimatter does not work properly with the material type “trans”, and multiple antimatter surfaces should be disjoint. The viewpoint must be outside all volumes concerned for a correct rendering.

honeybee.radiance.material.ashik2 module

Radiance Ashik2 Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Ashik2

class honeybee.radiance.material.ashik2.Ashik2(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Ashik2 Material.

Ashik2 is the anisotropic reflectance model by Ashikhmin & Shirley. The string arguments are the same as for plastic2, but the real arguments have additional flexibility to specify the specular color. Also, rather than roughness, specular power is used, which has no physical meaning other than larger numbers are equivalent to a smoother surface.

mod ashik2 id 4+ ux uy uz funcfile transform 0 8 dred dgrn dblu sred sgrn sblu u-power v-power

honeybee.radiance.material.brtdfunc module

Radiance BRTDfunc Material.

http://radsite.lbl.gov/radiance/refer/ray.html#BRTDfunc

class honeybee.radiance.material.brtdfunc.BRTDfunc(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance BRTDfunc Material.

The material BRTDfunc gives the maximum flexibility over surface reflectance and transmittance, providing for spectrally-dependent specular rays and reflectance and transmittance distribution functions.

mod BRTDfunc id 10+ rrefl grefl brefl

rtrns gtrns btrns rbrtd gbrtd bbrtd funcfile transform

0 9+ rfdif gfdif bfdif

rbdif gbdif bbdif rtdif gtdif btdif A10 ..

The variables rrefl, grefl and brefl specify the color coefficients for the ideal specular (mirror) reflection of the surface. The variables rtrns, gtrns and btrns specify the color coefficients for the ideal specular transmission. The functions rbrtd, gbrtd and bbrtd take the direction to the incident light (and its solid angle) and compute the color coefficients for the directional diffuse part of reflection and transmission. As a special case, three identical values of ‘0’ may be given in place of these function names to indicate no directional diffuse component.

Unlike most other material types, the surface normal is not altered to face the incoming ray. Thus, functions and variables must pay attention to the orientation of the surface and make adjustments appropriately. However, the special variables for the perturbed dot product and surface normal, RdotP, NxP, NyP and NzP are reoriented as if the ray hit the front surface for convenience.

A diffuse reflection component may be given for the front side with rfdif, gfdif and bfdif for the front side of the surface or rbdif, gbdif and bbdif for the back side. The diffuse transmittance (must be the same for both sides by physical law) is given by rtdif, gtdif and btdif. A pattern will modify these diffuse scattering values, and will be available through the special variables CrP, CgP and CbP.

Care must be taken when using this material type to produce a physically valid reflection model. The reflectance functions should be bidirectional, and under no circumstances should the sum of reflected diffuse, transmitted diffuse, reflected specular, transmitted specular and the integrated directional diffuse component be greater than one.

honeybee.radiance.material.bsdf module

Radiance BSDF Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Glass

class honeybee.radiance.material.bsdf.BSDF(xmlfile, name=None, up_orientation=None, thickness=None, modifier='void')[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance BSDF material.

xmlfile

Path to an xml file. Data will not be cached in memory.

up_orientation

(x, y ,z) vector that sets the hemisphere that the BSDF material faces. For materials that are symmetrical about the HBSrf plane (like non-angled venitian blinds), this can be any vector that is not perfectly normal to the HBSrf. For asymmetrical materials like angled veneitan blinds, this variable should be coordinated with the direction the HBSrfs are facing. The default is set to (0.01, 0.01, 1.00), which should hopefully not be perpendicular to any typical HBSrf.

thickness

Optional number to set the thickness of the BSDF material. (default: 0).

modifier

Material modifier (Default: “void”).

angle_basis

XML file angle basis.

Klems full, Klems half, Klems Quarter or tensor tree

classmethod from_file(xmlfile)[source]
classmethod from_json(json_data)[source]

Make radiance material from json {

“modifier”: “”, // material modifier (Default: “void”) “type”: “custom”, // Material type “base_type”: “type”, // Material type “name”: “”, // Material Name “values”: {} // values

}

classmethod from_string(material_string, modifier=None)[source]

Create a Radiance material from a string.

If the material has a modifier the modifier material should also be part of the string or should be provided using modifier argument.

to_json()[source]

honeybee.radiance.material.dielectric module

Radiance Dielectric Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Dielectric

class honeybee.radiance.material.dielectric.Dielectric(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Dielectric Material.

A dielectric material is transparent, and it refracts light as well as reflecting it. Its behavior is determined by the index of refraction and transmission coefficient in each wavelength band per unit length. Common glass has a index of refraction (n) around 1.5, and a transmission coefficient of roughly 0.92 over an inch. An additional number, the Hartmann constant, describes how the index of refraction changes as a function of wavelength. It is usually zero. (A pattern modifies only the refracted value.)

mod dielectric id 0 0 5 rtn gtn btn n hc

honeybee.radiance.material.glass module

Radiance Glass Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Glass

class honeybee.radiance.material.glass.Glass(name, r_transmittance=0.0, g_transmittance=0.0, b_transmittance=0.0, refraction_index=1.52, modifier='void')[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance glass material.

average_transmittance

Calculate average transmittance.

b_transmittance = None

Transmittance for blue. The value should be between 0 and 1 (Default – 0).

classmethod by_single_trans_value(name, rgb_transmittance=0, refraction_index=1.52, modifier='void')[source]

Create glass material with single transmittance value.

name

Material name as a string. Do not use white space and special character.

rgb_transmittance

Transmittance for red, green and blue. The value should be between 0 and 1 (Default: 0).

refraction

Index of refraction. 1.52 for glass and 1.4 for ETFE (Default: 1.52).

modifier

Material modifier (Default: “void”).

Usage:
glassMaterial = Glass.by_single_trans_value(“generic glass”, .65) print(glassMaterial)
classmethod from_json(rec_json)[source]

Make radiance material from json {

“name”: “”, // Material Name “r_transmittance”: float, // Transmittance for red “g_transmittance”: float, // Transmittance for green “b_transmittance”: float, // Transmittance for blue “refraction”: float, // Index of refraction “modifier”: “” // material modifier (Default: “void”)

}

classmethod from_string(material_string, modifier=None)[source]

Create a Radiance material from a string.

If the material has a modifier the modifier material should also be part of the string or should be provided using modifier argument.

g_transmittance = None

Transmittance for green. The value should be between 0 and 1 (Default – 0).

static get_transmissivity(transmittance)[source]

Calculate transmissivity based on transmittance value.

“Transmissivity is the amount of light not absorbed in one traversal of the material. Transmittance – the value usually measured - is the total light transmitted through the pane including multiple reflections.”

r_transmittance = None

Transmittance for red. The value should be between 0 and 1 (Default – 0).

refraction_index = None

Index of refraction. 1.52 for glass and 1.4 for ETFE (Default – 1.52).

to_json()[source]

Translate radiance material to json {

“type”: “glass”, // Material type “name”: “”, // Material Name “r_transmittance”: float, // Transmittance for red “g_transmittance”: float, // Transmittance for green “b_transmittance”: float, // Transmittance for blue “refraction_index”: float, // Index of refraction “modifier”: “” // material modifier (Default: “void”)

}

honeybee.radiance.material.glow module

Radiance Glow Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Glow

class honeybee.radiance.material.glow.Glow(name, red=0.0, green=0.0, blue=0.0, max_radius=0.0, modifier='void')[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Create glow material.

name

Material name as a string. The name should not have whitespaces or special characters.

red

A positive value for the Red channel of the glow (default: 0).

green

A positive value for the Green channel of the glow (default: 0).

blue

A positive value for the Blue channel of the glow (default: 0).

max_radius

a maximum radius for shadow testing (default: 0). If maxrad is zero, then the surface will never be tested for shadow, although it may participate in an interreflection calculation. If maxrad is negative, then the surface will never contribute to scene illumination. Glow sources will never illuminate objects on the other side of an illum surface. This provides a convenient way to illuminate local light fixture geometry without overlighting nearby objects.

blue = None

A positive value for the Blue channel of the glow

classmethod from_json(rec_json)[source]

Make radiance material from json {

“name”: “”, // Material Name “red”: float, // A positive value for the Red channel of the glow “green”: float, // A positive value for the Green channel of the glow “blue”: float, // A positive value for the Blue channel of the glow “radius”: float // Maximum radius for shadow testing

}

classmethod from_string(material_string, modifier=None)[source]

Create a Radiance material from a string.

If the material has a modifier the modifier material should also be partof the string or should be provided using modifier argument.

green = None

A positive value for the Green channel of the glow

max_radius = None

Maximum radius for shadow testing

red = None

A positive value for the Red channel of the glow

to_json()[source]

Translate radiance material to json {

“type”: “glow”, // Material type “name”: “”, // Material Name “red”: float, // A positive value for the Red channel of the glow “green”: float, // A positive value for the Green channel of the glow “blue”: float, // A positive value for the Blue channel of the glow “radius”: float // Maximum radius for shadow testing

}

class honeybee.radiance.material.glow.WhiteGlow(name='white_glow')[source]

Bases: honeybee.radiance.material.glow.Glow

A white glow material.

Use this material for multi-phase daylight studies.

honeybee.radiance.material.illum module

Radiance Illum Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Illum

class honeybee.radiance.material.illum.Illum(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Illum Material.

Illum is used for secondary light sources with broad distributions. A secondary light source is treated like any other light source, except when viewed directly. It then acts like it is made of a different material (indicated by the string argument), or becomes invisible (if no string argument is given, or the argument is “void”). Secondary sources are useful when modeling windows or brightly illuminated surfaces.

mod illum id 1 material 0 3 red green blue

honeybee.radiance.material.interface module

Radiance Interface Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Interface

class honeybee.radiance.material.interface.Interface(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Interface Material.

An interface is a boundary between two dielectrics. The first transmission coefficient and refractive index are for the inside; the second ones are for the outside. Ordinary dielectrics are surrounded by a vacuum (1 1 1 1).

mod interface id 0 0 8 rtn1 gtn1 btn1 n1 rtn2 gtn2 btn2 n2

honeybee.radiance.material.light module

Radiance Light Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Light

class honeybee.radiance.material.light.Light(name, red=0.0, green=0.0, blue=0.0, modifier='void')[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

blue = None

A positive value for the Blue channel of the light

classmethod by_single_reflect_value(name, rgb=0, modifier='void')[source]

Create light material with single value.

name

Material name as a string. Do not use white space and special character.

rgb

Input for red, green and blue. The value should be between 0 and 1 (Default: 0).

modifier

Material modifier (Default: “void”).

Usage:
sample_light = Light.by_single_reflect_value(“sample_light”, 1) print(sample_light)
classmethod from_json(rec_json)[source]

Make radiance material from json {

“name”: “”, // Material Name “red”: float, // A positive value for the Red channel of the glow “green”: float, // A positive value for the Green channel of the glow “blue”: float, // A positive value for the Blue channel of the glow “radius”: float // Maximum radius for shadow testing

}

classmethod from_string(material_string, modifier=None)[source]

Create a Radiance material from a string.

If the material has a modifier the modifier material should also be partof the string or should be provided using modifier argument.

green = None

A positive value for the Green channel of the light

red = None

A positive value for the Red channel of the light

to_json()[source]

Translate radiance material to json {

“modifier”: modifier, “type”: “light”, // Material type “name”: “”, // Material Name “red”: float, // A positive value for the Red channel of the glow “green”: float, // A positive value for the Green channel of the glow “blue”: float // A positive value for the Blue channel of the glow

}

honeybee.radiance.material.materialbase module

Base Radiance Material class (e.g plastic, glass, etc.).

http://radsite.lbl.gov/radiance/refer/ray.html#Materials

class honeybee.radiance.material.materialbase.RadianceMaterial(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.primitive.Primitive

Base class for Radiance materials.

isRadianceMaterial

Indicate that this object is a Radiance Material.

honeybee.radiance.material.metal module

Radiance Metal Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Metal

class honeybee.radiance.material.metal.Metal(name, r_reflectance=0, g_reflectance=0, b_reflectance=0, specularity=0.9, roughness=0, modifier='void')[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance metal material.

average_reflectance

Calculate average reflectance of metal material.

b_reflectance = None

Reflectance for blue. The value should be between 0 and 1 (Default – 0).

classmethod by_single_reflect_value(name, rgb_reflectance=0, specularity=0, roughness=0, modifier='void')[source]

Create metal material with single reflectance value.

name

Material name as a string. Do not use white space and special character.

rgb_reflectance

Reflectance for red, green and blue. The value should be between 0 and 1 (Default: 0).

specularity

Fraction of specularity. Specularity fractions greater than 0.1 are not realistic (Default: 0).

roughness

Roughness is specified as the rms slope of surface facets. A value of 0 corresponds to a perfectly smooth surface, and a value of 1 would be a very rough surface. Roughness values greater than 0.2 are not very realistic. (Default: 0).

modifier

Material modifier (Default: “void”).

Usage:
wallMaterial = Metal.by_single_reflect_value(“generic wall”, .55) print(wallMaterial)
classmethod from_json(rec_json)[source]

Make radiance material from json {

“modifier”: modifier, “type”: “metal”, // Material type “name”: “”, // Material Name “r_reflectance”: float, // Reflectance for red “g_reflectance”: float, // Reflectance for green “b_reflectance”: float, // Reflectance for blue “specularity”: float, // Material specularity “roughness”: float // Material roughness

}

classmethod from_string(material_string, modifier=None)[source]

Create a Radiance material from a string.

If the material has a modifier the modifier material should also be partof the string or should be provided using modifier argument.

g_reflectance = None

Reflectance for green. The value should be between 0 and 1 (Default – 0).

r_reflectance = None

Reflectance for red. The value should be between 0 and 1 (Default – 0).

roughness = None

Roughness is specified as the rms slope of surface facets. A value of 0 corresponds to a perfectly smooth surface, and a value of 1 would be a very rough surface. Roughness values greater than 0.2 are not very realistic. (Default: 0).

specularity = None

Fraction of specularity. Specularity fractions greater than 0.1 are not realistic (Default: 0.9).

to_json()[source]

Translate radiance material to json {

“type”: “metal”, // Material type “name”: “”, // Material Name “r_reflectance”: float, // Reflectance for red “g_reflectance”: float, // Reflectance for green “b_reflectance”: float, // Reflectance for blue “specularity”: float, // Material specularity “roughness”: float // Material roughness

}

honeybee.radiance.material.metal2 module

Radiance Metal2 Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Metal2

class honeybee.radiance.material.metal2.Metal2(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Metal2 Material.

Metal2 is the same as plastic2, except that the highlights are modified by the material color.

honeybee.radiance.material.metdata module

Radiance Metdata Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Metdata

class honeybee.radiance.material.metdata.Metdata(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Metdata Material.

As metfunc is to plasfunc, metdata is to plasdata. Metdata takes the same arguments as plasdata, but the specular component is modified by the given material color.

honeybee.radiance.material.metfunc module

Radiance Metfunc Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Metfunc

class honeybee.radiance.material.metfunc.Metfunc(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Metfunc Material.

Metfunc is identical to plasfunc and takes the same arguments, but the specular component is multiplied also by the material color.

honeybee.radiance.material.mirror module

Radiance Mirror Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Mirror

class honeybee.radiance.material.mirror.Mirror(name, r_reflectance=0.95, g_reflectance=0.95, b_reflectance=0.95, modifier='void')[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance mirror material.

average_reflectance

Calculate average reflectance of mirror material.

b_reflectance = None

Reflectance for blue. The value should be between 0 and 1 (Default – 0).

classmethod by_single_reflect_value(name, rgb_reflectance=0, modifier='void')[source]

Create mirror material with single reflectance value.

name

Material name as a string. Do not use white space and special character.

rgb_reflectance

Reflectance for red, green and blue. The value should be between 0 and 1 (Default: 0).

modifier

Material modifier (Default: “void”).

Usage:
wallMaterial = Mirror.by_single_reflect_value(“generic wall”, .55) print(wallMaterial)
classmethod from_json(rec_json)[source]

Make radiance material from json {

“type”: “mirror”, // Material type “name”: “”, // Material Name “r_reflectance”: float, // Reflectance for red “g_reflectance”: float, // Reflectance for green “b_reflectance”: float, // Reflectance for blue “modifier”: modifier

}

classmethod from_string(material_string, modifier=None)[source]

Create a Radiance material from a string.

If the material has a modifier the modifier material should also be partof the string or should be provided using modifier argument.

g_reflectance = None

Reflectance for green. The value should be between 0 and 1 (Default – 0).

r_reflectance = None

Reflectance for red. The value should be between 0 and 1 (Default – 0).

to_json()[source]

Translate radiance material to json {

“modifier”: modifier, “type”: “mirror”, // Material type “name”: “”, // Material Name “r_reflectance”: float, // Reflectance for red “g_reflectance”: float, // Reflectance for green “b_reflectance”: float // Reflectance for blue

}

honeybee.radiance.material.mist module

Radiance Mist Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Mist

class honeybee.radiance.material.mist.Mist(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Mist Material.

Mist is a virtual material used to delineate a volume of participating atmosphere. A list of important light sources may be given, along with an extinction coefficient, scattering albedo and scattering eccentricity parameter. The light sources named by the string argument list will be tested for scattering within the volume. Sources are identified by name, and virtual light sources may be indicated by giving the relaying object followed by ‘>’ followed by the source, i.e:

3 source1 mirror1>source10 mirror2>mirror1>source3

Normally, only one source is given per mist material, and there is an upper limit of 32 to the total number of active scattering sources. The extinction coefficient, if given, is added the the global coefficient set on the command line. Extinction is in units of 1/distance (distance based on the world coordinates), and indicates the proportional loss of radiance over one unit distance. The scattering albedo, if present, will override the global setting within the volume. An albedo of 0 0 0 means a perfectly absorbing medium, and an albedo of 1 1 1 means a perfectly scattering medium (no absorption). The scattering eccentricity parameter will likewise override the global setting if it is present. Scattering eccentricity indicates how much scattered light favors the forward direction, as fit by the Henyey-Greenstein function:

P(theta) = (1 - g*g) / (1 + g*g - 2*g*cos(theta))^1.5

A perfectly isotropic scattering medium has a g parameter of 0, and a highly directional material has a g parameter close to 1. Fits to the g parameter may be found along with typical extinction coefficients and scattering albedos for various atmospheres and cloud types in USGS meteorological tables. (A pattern will be applied to the extinction values.)

mod mist id N src1 src2 .. srcN 0 0|3|6|7 [ rext gext bext [ ralb galb balb [ g ] ] ]

There are two usual uses of the mist type. One is to surround a beam from a spotlight or laser so that it is visible during rendering. For this application, it is important to use a cone (or cylinder) that is long enough and wide enough to contain the important visible portion. Light source photometry and intervening objects will have the desired effect, and crossing beams will result in additive scattering. For this application, it is best to leave off the real arguments, and use the global rendering parameters to control the atmosphere. The second application is to model clouds or other localized media. Complex boundary geometry may be used to give shape to a uniform medium, so long as the boundary encloses a proper volume. Alternatively, a pattern may be used to set the line integral value through the cloud for a ray entering or exiting a point in a given direction. For this application, it is best if cloud volumes do not overlap each other, and opaque objects contained within them may not be illuminated correctly unless the line integrals consider enclosed geometry.

honeybee.radiance.material.plasdata module

Radiance Plasdata Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Plasdata

class honeybee.radiance.material.plasdata.Plasdata(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Plasdata Material.

Plasdata is used for arbitrary BRDF’s that are most conveniently given as interpolated data. The arguments to this material are the data file and coordinate index functions, as well as a function to optionally modify the data values.

mod plasdata id 3+n+

func datafile funcfile x1 x2 .. xn transform

0 4+ red green blue spec A5 ..

The coordinate indices (x1, x2, etc.) are themselves functions of the x, y and z direction to the incident light, plus the solid angle subtended by the light source (usually ignored). The data function (func) takes five variables, the interpolated value from the n-dimensional data file, followed by the x, y and z direction to the incident light and the solid angle of the source. The light source direction and size may of course be ignored by the function.

honeybee.radiance.material.plasfunc module

Radiance Plasfunc Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Plasfunc

class honeybee.radiance.material.plasfunc.Plasfunc(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Plasfunc Material.

Plasfunc in used for the procedural definition of plastic-like materials with arbitrary bidirectional reflectance distribution functions (BRDF’s). The arguments to this material include the color and specularity, as well as the function defining the specular distribution and the auxiliary file where it may be found.

mod plasfunc id 2+ refl funcfile transform 0 4+ red green blue spec A5 ..

The function refl takes four arguments, the x, y and z direction towards the incident light, and the solid angle subtended by the source. The solid angle is provided to facilitate averaging, and is usually ignored. The refl function should integrate to 1 over the projected hemisphere to maintain energy balance. At least four real arguments must be given, and these are made available along with any additional values to the reflectance function. Currently, only the contribution from direct light sources is considered in the specular calculation. As in most material types, the surface normal is always altered to face the incoming ray.

honeybee.radiance.material.plastic module

Radiance Plastic Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Plastic

class honeybee.radiance.material.plastic.BlackMaterial(name='black', r_reflectance=0.0, g_reflectance=0.0, b_reflectance=0.0, specularity=0.0, roughness=0.0, modifier='void')[source]

Bases: honeybee.radiance.material.plastic.Plastic

Radiance black plastic material.

class honeybee.radiance.material.plastic.Plastic(name, r_reflectance=0.0, g_reflectance=0.0, b_reflectance=0.0, specularity=0.0, roughness=0.0, modifier='void')[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance plastic material.

average_reflectance

Calculate average reflectance of plastic material.

b_reflectance = None

Reflectance for blue. The value should be between 0 and 1 (Default – 0).

classmethod by_single_reflect_value(name, rgb_reflectance=0.0, specularity=0.0, roughness=0.0, modifier='void')[source]

Create plastic material with single reflectance value.

name

Material name as a string. Do not use white space and special character

rgb_reflectance

Reflectance for red, green and blue. The value should be between 0 and 1 (Default: 0).

specularity

Fraction of specularity. Specularity fractions greater than 0.1 are not realistic (Default: 0).

roughness

Roughness is specified as the rms slope of surface facets. A value of 0 corresponds to a perfectly smooth surface, and a value of 1 would be a very rough surface. Roughness values greater than 0.2 are not very realistic. (Default: 0).

modifier

Material modifier (Default: “void”).

Usage:
wallMaterial = Plastic.by_single_reflect_value(“generic wall”, .55) print(wallMaterial)
classmethod from_json(rec_json)[source]

Make radiance material from json {

“modifier”: {} or void, // Material modifier “type”: “plastic”, // Material type “name”: “”, // Material Name “r_reflectance”: float, // Reflectance for red “g_reflectance”: float, // Reflectance for green “b_reflectance”: float, // Reflectance for blue “specularity”: float, // Material specularity “roughness”: float // Material roughness

}

classmethod from_string(material_string, modifier=None)[source]

Create a Radiance material from a string.

If the material has a modifier the modifier material should also be partof the string or should be provided using modifier argument.

g_reflectance = None

Reflectance for green. The value should be between 0 and 1 (Default – 0).

r_reflectance = None

Reflectance for red. The value should be between 0 and 1 (Default – 0).

roughness = None

Roughness is specified as the rms slope of surface facets. A value of 0 corresponds to a perfectly smooth surface, and a value of 1 would be a very rough surface. Roughness values greater than 0.2 are not very realistic. (Default: 0).

specularity = None

Fraction of specularity. Specularity fractions greater than 0.1 are not realistic (Default: 0).

to_json()[source]

Translate radiance material to json {

“type”: “plastic”, // Material type “name”: “”, // Material Name “r_reflectance”: float, // Reflectance for red “g_reflectance”: float, // Reflectance for green “b_reflectance”: float, // Reflectance for blue “specularity”: float, // Material specularity “roughness”: float // Material roughness

}

honeybee.radiance.material.plastic2 module

Radiance Plastic2 Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Plastic2

class honeybee.radiance.material.plastic2.Plastic2(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Plastic2 Material.

Plastic2 is similar to plastic, but with anisotropic roughness. This means that highlights in the surface will appear elliptical rather than round. The orientation of the anisotropy is determined by the unnormalized direction vector ux uy uz. These three expressions (separated by white space) are evaluated in the context of the function file funcfile. If no function file is required (i.e., no special variables or functions are required), a period (`.’) may be given in its place. (See the discussion of Function Files in the Auxiliary Files section). The urough value defines the roughness along the u vector given projected onto the surface. The vrough value defines the roughness perpendicular to this vector. Note that the highlight will be narrower in the direction of the smaller roughness value. Roughness values of zero are not allowed for efficiency reasons since the behavior would be the same as regular plastic in that case.

mod plastic2 id 4+ ux uy uz funcfile transform 0 6 red green blue spec urough vrough

honeybee.radiance.material.prism1 module

Radiance Prism1 Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Prism1

class honeybee.radiance.material.prism1.Prism1(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Prism1 Material.

The prism1 material is for general light redirection from prismatic glazings, generating virtual light sources. It can only be used to modify a planar surface (i.e., a polygon or disk) and should not result in either light concentration or scattering. The new direction of the ray can be on either side of the material, and the definitions must have the correct bidirectional properties to work properly with virtual light sources. The arguments give the coefficient for the redirected light and its direction.

mod prism1 id 5+ coef dx dy dz funcfile transform 0 n A1 A2 .. An

The new direction variables dx, dy and dz need not produce a normalized vector. For convenience, the variables DxA, DyA and DzA are defined as the normalized direction to the target light source.

honeybee.radiance.material.prism2 module

Radiance Prism2 Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Prism2

class honeybee.radiance.material.prism2.Prism2(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Prism2 Material.

The material prism2 is identical to prism1 except that it provides for two ray redirections rather than one.

mod prism2 id 9+ coef1 dx1 dy1 dz1 coef2 dx2 dy2 dz2 funcfile transform 0 n A1 A2 .. An

honeybee.radiance.material.spotlight module

Radiance Spotlight Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Spotlight

class honeybee.radiance.material.spotlight.Spotlight(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Spotlight Material.

Spotlight is used for self-luminous surfaces having directed output. As well as radiance, the full cone angle (in degrees) and orientation (output direction) vector are given. The length of the orientation vector is the distance of the effective focus behind the source center (i.e., the focal length).

mod spotlight id 0 0 7 red green blue angle xdir ydir zdir

honeybee.radiance.material.trans module

Radiance Trans Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Trans https://radiance-online.org//community/workshops/2010-freiburg/PDF/DavidMead.pdf

class honeybee.radiance.material.trans.Trans(name, r_reflectance=0.0, g_reflectance=0.0, b_reflectance=0.0, specularity=0.0, roughness=0.0, transmitted_diff=0.0, transmitted_spec=0.0, modifier='void')[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance translucent material.

average_reflectance

Calculate average reflectance of trans material.

b_reflectance = None

Reflectance for blue. The value should be between 0 and 1 (Default – 0).

classmethod by_single_reflect_value(name, rgb_reflectance=0.0, specularity=0.0, roughness=0.0, transmitted_diff=0.0, transmitted_spec=0.0, modifier='void')[source]

Create trans material with single reflectance value.

name

Material name as a string. Do not use white space and special character

rgb_reflectance

Reflectance for red, green and blue. The value should be between 0 and 1 (Default: 0).

specularity

Fraction of specularity. Specularity fractions greater than 0.1 are not realistic (Default: 0).

roughness

Roughness is specified as the rms slope of surface facets. A value of 0 corresponds to a perfectly smooth surface, and a value of 1 would be a very rough surface. Roughness values greater than 0.2 are not very realistic. (Default: 0).

transmitted_diff

The transmitted diffuse component is the fraction of transmitted light that is transmitted diffusely in as scattering fashion.

transmitted_spec

The transmitted specular component is the fraction of transmitted light that is not diffusely scattered.

modifier

Material modifier (Default: “void”).

Usage:
wallMaterial = trans.by_single_reflect_value(“generic wall”, .55) print(wallMaterial)
classmethod from_json(rec_json)[source]

Make radiance material from json {

“modifier”: {} or void, // Material modifier “type”: “trans”, // Material type “name”: “”, // Material Name “r_reflectance”: float, // Reflectance for red “g_reflectance”: float, // Reflectance for green “b_reflectance”: float, // Reflectance for blue “specularity”: float, // Material specularity “roughness”: float, // Material roughness “transmitted_diff”: float, “transmitted_spec”: float

}

classmethod from_reflected_spacularity(name, r_reflectance=0.0, g_reflectance=0.0, b_reflectance=0.0, reflected_spacularity=0.0, roughness=0.0, transmitted_diff=0.0, transmitted_spec=0.0, modifier='void')[source]

Create trans material from reflected spacularityself.

See: https://radiance-online.org//community/workshops/2010-freiburg/PDF/DavidMead.pdf

name

Material name as a string. Do not use white space and special character.

r_reflectance

Reflectance for red. The value should be between 0 and 1 (Default: 0).

g_reflectance

Reflectance for green. The value should be between 0 and 1 (Default: 0).

b_reflectance

Reflectance for blue. The value should be between 0 and 1 (Default: 0).

reflected_spacularity

Fraction of reflected spacular. The reflected specularity of common uncoated glass is around .06, Matte = min 0, Satin = suggested max 0.07 (Default: 0).

roughness

Roughness is specified as the rms slope of surface facets. A value of 0 corresponds to a perfectly smooth surface, and a value of 1 would be a very rough surface. Roughness values greater than 0.2 are not very realistic. (Default: 0).

transmitted_diff

The transmitted diffuse component is the fraction of transmitted light that is transmitted diffusely in as scattering fashion.

transmitted_spec

The transmitted specular component is the fraction of transmitted light that is not diffusely scattered.

modifier

Material modifier (Default: “void”).

classmethod from_string(material_string, modifier=None)[source]

Create a Radiance material from a string.

If the material has a modifier the modifier material should also be partof the string or should be provided using modifier argument.

g_reflectance = None

Reflectance for green. The value should be between 0 and 1 (Default – 0).

r_reflectance = None

Reflectance for red. The value should be between 0 and 1 (Default – 0).

roughness = None

Roughness is specified as the rms slope of surface facets. A value of 0 corresponds to a perfectly smooth surface, and a value of 1 would be a very rough surface. Roughness values greater than 0.2 are not very realistic. (Default: 0).

specular_sampling_threshold

Specular sampling threshold (-st).

specularity = None

Fraction of specularity. Specularity fractions greater than 0.1 are not realistic (Default: 0).

to_json()[source]

Translate radiance material to json {

“type”: “trans”, // Material type “name”: “”, // Material Name “r_reflectance”: float, // Reflectance for red “g_reflectance”: float, // Reflectance for green “b_reflectance”: float, // Reflectance for blue “specularity”: float, // Material specularity “roughness”: float, // Material roughness “transmitted_diff”: float, “transmitted_spec”: float

}

transmitted_diff = None
transmitted_spec = None

honeybee.radiance.material.trans2 module

Radiance Trans2 Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Trans2

class honeybee.radiance.material.trans2.Trans2(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Trans2 Material.

Trans2 is the anisotropic version of trans. The string arguments are the same as for plastic2, and the real arguments are the same as for trans but with an additional roughness value.

mod trans2 id 4+ ux uy uz funcfile transform 0 8 red green blue spec urough vrough trans tspec

honeybee.radiance.material.transdata module

Radiance Transdata Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Transdata

class honeybee.radiance.material.transdata.Transdata(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Transdata Material.

Transdata is like plasdata but the specification includes transmittance as well as reflectance. The parameters are as follows.

mod transdata id 3+n+

func datafile funcfile x1 x2 .. xn transform

0 6+ red green blue rspec trans tspec A7 ..

honeybee.radiance.material.transfunc module

Radiance Transfunc Material.

http://radsite.lbl.gov/radiance/refer/ray.html#Transfunc

class honeybee.radiance.material.transfunc.Transfunc(name, modifier=None, values=None, is_opaque=None)[source]

Bases: honeybee.radiance.material.materialbase.RadianceMaterial

Radiance Transfunc Material.

Transfunc is similar to plasfunc but with an arbitrary bidirectional transmittance distribution as well as a reflectance distribution. Both reflectance and transmittance are specified with the same function.

mod transfunc id 2+ brtd funcfile transform 0 6+ red green blue rspec trans tspec A7 ..

Where trans is the total light transmitted and tspec is the non-Lambertian fraction of transmitted light. The function brtd should integrate to 1 over each projected hemisphere.

Module contents

Radiance Materials.