voxcity.simulator.solar.radiation

Stage 2: Physics - convert geometry to irradiance.

Functions

get_direct_solar_irradiance_map(voxcity, ...[, show_plot])

Compute horizontal direct irradiance map (W/m²) with tree transmittance.

get_diffuse_solar_irradiance_map(voxcity[, ...])

Compute diffuse horizontal irradiance map (W/m²) using SVF.

get_global_solar_irradiance_map(voxcity, ...[, show_plot])

Combine direct and diffuse horizontal irradiance (W/m²).

compute_solar_irradiance_for_all_faces(face_centers, ...)

Numba kernel: compute per-face direct/diffuse/global (W/m²) using generic ray tracer.

compute_solar_irradiance_for_all_faces_masked(...)

compute_cumulative_solar_irradiance_faces_masked_timeseries(...)

get_building_solar_irradiance(voxcity, ...)

Compute per-face direct/diffuse/global (W/m²) on a building mesh with SVF.

Module Contents

voxcity.simulator.solar.radiation.get_direct_solar_irradiance_map(voxcity: voxcity.models.VoxCity, azimuth_degrees_ori, elevation_degrees, direct_normal_irradiance, show_plot=False, **kwargs)[source]

Compute horizontal direct irradiance map (W/m²) with tree transmittance.

voxcity.simulator.solar.radiation.get_diffuse_solar_irradiance_map(voxcity: voxcity.models.VoxCity, diffuse_irradiance=1.0, show_plot=False, **kwargs)[source]

Compute diffuse horizontal irradiance map (W/m²) using SVF.

voxcity.simulator.solar.radiation.get_global_solar_irradiance_map(voxcity: voxcity.models.VoxCity, azimuth_degrees_ori, elevation_degrees, direct_normal_irradiance, diffuse_irradiance, show_plot=False, **kwargs)[source]

Combine direct and diffuse horizontal irradiance (W/m²).

voxcity.simulator.solar.radiation.compute_solar_irradiance_for_all_faces(face_centers, face_normals, face_svf, sun_direction, direct_normal_irradiance, diffuse_irradiance, voxel_data, meshsize, tree_k, tree_lad, hit_values, inclusion_mode, grid_bounds_real, boundary_epsilon)[source]

Numba kernel: compute per-face direct/diffuse/global (W/m²) using generic ray tracer.

voxcity.simulator.solar.radiation.compute_solar_irradiance_for_all_faces_masked(face_centers, face_normals, face_svf, sun_direction, direct_normal_irradiance, diffuse_irradiance, vox_is_tree, vox_is_opaque, meshsize, att, x_min, y_min, z_min, x_max, y_max, z_max, boundary_epsilon)[source]
voxcity.simulator.solar.radiation.compute_cumulative_solar_irradiance_faces_masked_timeseries(face_centers, face_normals, face_svf, sun_dirs_arr, DNI_arr, DHI_arr, vox_is_tree, vox_is_opaque, meshsize, att, x_min, y_min, z_min, x_max, y_max, z_max, boundary_epsilon, t_start, t_end, time_step_hours)[source]
voxcity.simulator.solar.radiation.get_building_solar_irradiance(voxcity: voxcity.models.VoxCity, building_svf_mesh, azimuth_degrees, elevation_degrees, direct_normal_irradiance, diffuse_irradiance, **kwargs)[source]

Compute per-face direct/diffuse/global (W/m²) on a building mesh with SVF.