Estimating the Photovoltaic Potential of Building Facades and Roofs Using the Industry Foundation Classes

: Photovoltaic energy generation has gained wide attention owing to its efﬁciency and environmental beneﬁts. Therefore, it has become important to accurately evaluate the photovoltaic energy generation potential of building surfaces. As the number of building ﬂoors increases, the area of the facades becomes much larger than that of the roof, providing improved potential for photovoltaic equipment installation. Conventional urban solar potential evaluation methods are usually based on light detection and ranging (LiDAR). However, LiDAR can only be used in existing buildings, and the lack of semantic information in the point cloud data generated by LiDAR makes it impossible to evaluate the photovoltaic potential of facades (including details such as windows) in detail and with accuracy. In this study, we developed a method to accurately extract facades and roofs in order to evaluate photovoltaic potential based on the Industry Foundation Classes. To verify the feasibility of this approach, we used a building from Xuzhou city, Jiangsu province, China. The simulation results indicate that, out of the total building photovoltaic installable area (8995 m 2 ), that of the facade is 8240 m 2 . The photovoltaic potential of the simulated building could reach 1054.69 MWh/year. The sensitivity studies of the grid resolution, the time interval and the computation time conﬁrmed the reasonability of the determined conditions. The method proposed offers great potential for energy planning departments and the improved utilization of buildings.


Introduction
The development of solar energy technology has become a research focus around the world [1,2]. Photovoltaic energy generation is an effective way to utilize solar energy, especially in distributed generation. Photovoltaic equipment can be placed on the surfaces of buildings, thereby avoiding the use of additional land resources [3,4]. However, the installation of photovoltaic equipment requires scientific, accurate and quantitative evaluation, as well as calculation of the photovoltaic energy generation potential on the building's surface.
The current photovoltaic potential analyses of buildings can be divided into buildinglevel and urban-scale levels according to the scale of the simulated building. (1) Building photovoltaic potential evaluation on an urban scale mainly relies on the statistical data of the building roof area provided by urban land planning or other departments and GIS land use data containing urban construction land information, as well as geometric/area information of the building roof extracted from high-resolution remote sensing satellite images or orthophotos to simulate the photovoltaic energy generation potential of the roof. For example, Liu et al. [5] used GIS land-use maps at 1:250,000 and extracted the building-concentrated areas, combined with meteorological data and aerial maps, to estimate the potential of available roof-mounted photovoltaic systems. Kabir et al. [6] used the QuickBird image of Dhaka city with a 0.6 m resolution to identify and calculate the potential rooftop area for photovoltaic energy production. Although these methods can be applied to evaluate the photovoltaic potential of large-scale roofs, such as those in cities, they ignore the available area of the facade that can be installed with photovoltaic panels. With 3D city models being employed in several domains beyond visualization, some scholars have proposed using them to evaluate the photovoltaic potential of building surfaces [7,8]. Hofierka and Kaňuk [9] have presented a method using a 3D city model and an open-source solar radiation tool to assess the photovoltaic potential in the Bardejov. In the studies of [10][11][12], they all used light detection and ranging (LiDAR) to generate 3D models of roofs or buildings and simulate the photovoltaic potential with the help of solar radiation models. Some scholars also proposed to use CityGML, which is a simple block model, with the level of detail 1 or level of detail 2 to quantify the photovoltaic potential on the urban and regional scale [8,13]. The method of the 3D city model can accurately extract the geometric shape of the roof to evaluate solar radiation potential, and, to a certain extent, it can roughly estimate the photovoltaic energy generation potential of the facade. Some scholars mapped the texture to the 3D city model surface [14]. In the early stage, it was generated by manual mapping of terrestrial images [15]. With the development of aerial photography technology, Grammatikopoulos et al. [16] used aerial images to perform texture mapping of 3D models to generate visually detailed and more realistic 3D city models. However, the large-scale city model itself is not refined enough, the texture cannot directly provide semantic information and it cannot be directly applied to distinguish among different building components. The windows and balconies on the facade cannot be identified and extracted [7,17]. (2) The building-scale photovoltaic potential analysis of buildings is mainly based on the fine 3D model of building surfaces obtained by laser scanning, or photogrammetry, i.e., the 3D BIM model constructed based on design parameters to conduct fine and detailed photovoltaic installation simulations on the surface of the building. Some scholars rely on LiDAR equipment or camera equipment and UAV equipment for the multi-platform, multi-view, omni-directional scanning of buildings to obtain high-precision point cloud/mesh 3D models, combined with solar radiation models and shadow occlusion models to realize the fine photovoltaic potential simulations of a building's surface [1,18,19]. LiDAR can be used to estimate the facade and allows facade resource analyses to be performed. As a movable building component on the facade, windows are independent of other facades. Therefore, it is necessary to simulate the photovoltaic potential of windows and non-window parts separately. However, the original point cloud data can only provide high-precision positioning information and do not have semantic information for components. The semantics and geometry of building components, including doors and windows, still need to be further processed via, e.g., point cloud segmentation. The segmentation accuracy is affected by point cloud density, which increases the production process and production costs. In recent years, building information modeling (BIM) has become one of the most promising developments in the architecture, engineering, construction and facility management (AEC/FM) industry [20]. The emergence of BIM makes building planning more efficient, rational and standardized [21]. At present, BIM mainly uses existing BIM software for manual drawing or conversion based on existing architectural design drawings [22] to generate a valid, complete and full-fledged semantized 3D BIM [23]. With the life cycle of the whole building, these data can accurately provide the semantic, geometric and location information of each component of the building and can accurately obtain information on various components required for the photovoltaic potential analysis. Scholars have converted BIM data into the readable format of energy simulation software, ensuring and optimizing the interoperability between BIM software and energy simulation software and realizing the photovoltaic simulation analysis of BIM in energy simulation software [24][25][26].
Currently, some energy simulation tools are available that also integrate with BIM and enable the simulation of energy generation from photovoltaic panels. Some energy simulation tools that integrate with BIM, such as Green Building Studio (GBS) [24,25], EnergyPlus [26] and IDA Indoor Climate and Energy (IDA ICE) [27], can be used. It should be noted that these tools have various functions and limitations [25]. When importing BIM files into EnergyPlus energy simulation software, it is necessary to convert BIM files into IDF files readable by energy simulation software to ensure and optimize the interoperability between BIM and energy simulation software and avoid the loss of building information in the file conversion and transfer process [26]. GBS is an analytical tool that can perform energy analysis of the whole building, but it does not provide a 3D interface [24]. IDA ICE software is used for building energy and environmental performance analysis. The software package supports IFC file import without middleware tools and can reduce data loss during the model import stage [27]. However, in IDA ICE software, it is necessary to manually specify the building components that need to be calculated and analyzed for energy simulation analysis and the user needs to manually define the shading objects and other objects surrounding the building to perform the photovoltaic simulation and analysis. Some scholars have expanded the function of existing BIM software to support photovoltaic simulation analysis. For example, Salimzadeh et al. [28,29] extracted roofs, walls and curtain walls based on the semantic and geometric information of the BIM model and used the Dynamo visual programming platform and Revit to implement photovoltaic simulation calculations. The BIM model can be used for a detailed simulation of the photovoltaic calculations of the installable photovoltaic panels of different building components, and the accuracy of this method is higher than that of the several methods previously proposed. It needs to be developed based on specific BIM tools (such as Revit). BIM data can only be exchanged through the application programming interface of the coupled BIM authoring tool, lacking certain flexibility and scalability [26,28]. However, it is very important to note that the simulation of photovoltaic potential calculation only requires the external surface of the building. Extracting the external surface of the building first is a very important step for subsequent photovoltaic simulation. If this step is absent, it greatly increases the time and costs of subsequent calculations of non-surface building information.
The urban-scale photovoltaic simulation method has large data coverage, but the simulation accuracy is not high. Among the building-scale photovoltaic simulation methods, the 3D fine model constructed based on the LiDAR method has high surface modeling accuracy. However, the original point cloud data can only provide high-precision positioning information and lack the detailed semantic and geometric information of the building components of the facade such as doors and windows. The method based on combining BIM and energy simulation software lacks flexibility and scalability. To reduce subsequent calculations, the step of building external surface extraction is very important. To address these issues, we constructed a photovoltaic energy generation potential estimation model for building external surface based on Industry Foundation Classes (IFC), which does not rely on energy simulation software and tools. IFC is an open and standardized data model which aims to achieve the interoperability of BIM software applications in the AEC/FM industry [30,31]. It is public and non-proprietary [32]. The proposed method only needs to follow the IFC data standard to achieve the extraction of the building surface information. The IFC data model can express substantial objects such as windows, walls, roofs and beams, rather than geometric elements such as points, lines and polygons in computeraided design (CAD); it can also represent abstract concepts such as space, organization and relationships. Moreover, IFC contains rich semantic and geometric information for different elements. BIM and IFC have a wide range of research prospects and applications, such as energy consumption analysis [33], GIS data conversion [34,35] and green building [36,37]. Although relevant research and applications on IFC have been carried out in the industry, practical applications to construction projects have been limited owing to inconsistencies in the BIM data sharing process and IFC standard exchange, as well as the complex data structure and the large quantity of data of the IFC. Practical IFC applications are still limited. At present, the application of IFC in building photovoltaic energy generation potential assessments remains lacking. However, based on the features and advantages of the BIM and IFC introduced above, we propose that the IFC can be used to accurately assess the photovoltaic potential of building elements, such as for the facades, roofs and even the windows contained in the facades. The key point is how to extract the building external surface and the available installation photovoltaic panel areas of facades, roofs and windows from the IFC data.
The analysis of photovoltaic generation relies on computer simulation. Many influencing factors play an important role in the photovoltaic potential of the building surface, such as the reduction in module efficiency caused by temperature rise, mismatch losses due to manufacturing tolerances and partial shading on the array and failure loss of photovoltaic modules [38,39]. This paper focuses on a detailed and accurate method of simulating the photovoltaic generation potential of the installable photovoltaic panels on the facade and roof of a building. Therefore, these influencing factors are expressed by the photoelectric conversion efficiency coefficient, so as to realize the conversion of solar radiation to the equivalent electric energy capacity.
In this study, we used a building in Xuzhou city, Jiangsu Province, China, as an experimental example to verify the feasibility of the design process. The remainder of this paper is organized as follows: Section 2 describes the method and the process of realizing refined building photovoltaic energy generation potential assessment. In Section 3, a residential building is used to verify the feasibility of the approach; the available installation areas of the roof, facade and windows are calculated and the potential for photovoltaic energy generation on the building surface is simulated. Section 4 compares different methods and their computational costs. Finally, Section 5 presents the conclusions of the study.

Methods
The first step in the accurate estimation of photovoltaic energy generation is to calculate the available installation areas of the facades and roofs. In this study, the available areas were extracted based on IFC data. Second, it is necessary to calculate the solar radiation incident on the specific geographical location of the building and the shadow occlusion produced by surrounding buildings. Finally, the photovoltaic energy generation potential can be calculated. A flow chart is shown in Figure 1.

Analysis of IFC Data
The IFC was defined using the EXPRESS data modeling language as defined by th Standard for the Exchange of Product Model Data (STEP) ISO 10303-11 [40]. EXPRESS an object-oriented description language for information data, which focuses on th description and definition of data and respective relationships; it has strong modelin capabilities. Figure 2 shows the IfcWindow and related entities using the EXPRESSdiagram. It describes the IfcWindow entity with its attributes and shows how the entiti

Analysis of IFC Data
The IFC was defined using the EXPRESS data modeling language as defined by the Standard for the Exchange of Product Model Data (STEP) ISO 10303-11 [40]. EXPRESS is an object-oriented description language for information data, which focuses on the description and definition of data and respective relationships; it has strong modeling capabilities. Figure 2 shows the IfcWindow and related entities using the EXPRESS-G diagram. It describes the IfcWindow entity with its attributes and shows how the entities are related to each other. The attributes of the IFC entity were obtained through inheritance relationships. IfcElement is the supertype of IfcBuildingElement and IfcWindow is the subtype of IfcBuildingElement. That is, Name, Description, Representation and Object Placement were all inherited by the Window entity. These attributes allow us to use IFCs to obtain semantic information, attribute information, location information and others.

Analysis of IFC Data
The IFC was defined using the EXPRESS data modeling language as defined by the Standard for the Exchange of Product Model Data (STEP) ISO 10303-11 [40]. EXPRESS is an object-oriented description language for information data, which focuses on the description and definition of data and respective relationships; it has strong modeling capabilities. Figure 2 shows the IfcWindow and related entities using the EXPRESS-G diagram. It describes the IfcWindow entity with its attributes and shows how the entities are related to each other. The attributes of the IFC entity were obtained through inheritance relationships. IfcElement is the supertype of IfcBuildingElement and IfcWindow is the subtype of IfcBuildingElement. That is, Name, Description, Representation and Object Placement were all inherited by the Window entity. These attributes allow us to use IFCs to obtain semantic information, attribute information, location information and others.  As shown in Figure 3, the IFC model is organized in a hierarchical structure. There are two inherited attributes, Representation and ObjectPlacement, which include the geometric representation and placement of the building component (IfcWindow). These two attributes correspond to IfcProductRepresentation and IfcObjectPlacement and are subtypes of the abstract entity IfcProduct. The IfcProduct can be inherited from one or more geometric representations of all building elements in the IFC schema. IfcProductRepresentation stores the geometric shape or topology representation of a product. IfcRepresentation and its subtype IfcShapeRepresentation are inherited from IfcProductRepresentation, which defines multiple shape representations of the element. As shown in Figure 3, the IFC model is organized in a hierarchical structure. There are two inherited attributes, Representation and ObjectPlacement, which include the geometric representation and placement of the building component (IfcWindow). These two attributes correspond to IfcProductRepresentation and IfcObjectPlacement and are subtypes of the abstract entity IfcProduct. The IfcProduct can be inherited from one or more geometric representations of all building elements in the IFC schema. IfcProductRepresentation stores the geometric shape or topology representation of a product. IfcRepresentation and its subtype IfcShapeRepresentation are inherited from IfcProductRepresentation, which defines multiple shape representations of the element. In the IFC schema, the building components are organized with an IfcProject-IfcSite-IfcBuilding-IfcBuildingStorey spatial hierarchy ( Figure 4). The relative coordinates of the building components are usually used for positioning. The location of the building components is based on the coordinate system of IfcBuilding, IfcBuildingStorey and IfcSite. IfcWindow is defined as described by the ObjectPlacement (right part of Figure 3) In the IFC schema, the building components are organized with an IfcProject-IfcSite-IfcBuilding-IfcBuildingStorey spatial hierarchy ( Figure 4). The relative coordinates of the building components are usually used for positioning. The location of the building components is based on the coordinate system of IfcBuilding, IfcBuildingStorey and IfcSite. IfcWindow is defined as described by the ObjectPlacement (right part of Figure 3) and the local coordinate and reference coordinate systems are defined. The IfcObjectPlacement illustrates the definition of placement in space. The reference coordinate system is represented by the attribute PlacementRelTo and the coordinate system where IfcBuildingStorey is located is the reference coordinate system. The IfcBuildingStorey coordinate system is based on the coordinate system where IfcBuilding is located and the IfcBuilding is based on the coordinate system where IfcSite is located. The RelativePlacement is the coordinate transformation in the relative coordinate system, which defines the local coordinate system. The IfcProject is the highest level in the hierarchy and the other levels represent a subset of IfcProject, which is a project containing at least one site (IfcSite). The IfcSite mainly describes the building site and site terrain information (e.g., longitude, latitude and altitude). IfcBuilding is mainly used to describe additional information of the building, including all floor information. IfcBuildingStorey describes the information of the building floor itself, including all IfcSpace and IfcBuildingElement inside it. The additional information of IfcBuildingStorey includes IfcElevation, according to the height of the floor.  The first step of the simulation of photovoltaic energy generation potential is to determine where photovoltaic panels can be installed on the facades of the building, where photovoltaic panels cannot be installed and where there are elements (e.g., windows) that need to be considered separately. Correspondingly, the size of the installable panel area of each building element needs to be extracted, along with the heights of different floors, how to identify and label the roof and facade, and details such as windows (i.e., the relative positions of windows and the facade). As mentioned above, IFC data can provide semantic information, location information, attribute information and geometric information for all building elements. However, for a photovoltaic simulation, photovoltaic panels are only installed on external building surfaces; therefore, we only require the outer skin area of the building. As IFC data provide information about all building elements, it is necessary to extract the outer surface of the building from the whole building elements, thereby greatly reducing the subsequent calculation workload.

Determination of Building External Surface and Photovoltaic Installation Area
The IFC data used in this study were calculated and stored in the form of triangular patches, each with its own attribute ID annotation. In our method for extracting the exterior surface of the building, we divide the building components into two parts, floor slab and non-floor slab. (1) The selection criterion of the outer surface of non-floor building components is that the normal direction of the IFC triangular patch is perpendicular to the x-and y-plane and there is only one surface adjacent to the external space; then, the triangular patch is retained as the triangle of the outer surface patches and given an ID. (2) The outer surface of the floor slab is determined through the normal direction of the triangular surface of the floor slab, which is parallel to the x-and y-plane, and then retaining the triangular surface, which is the outer surface of the slab facade. The remaining triangular patches are the upper and lower slabs. The selection criterion of the The first step of the simulation of photovoltaic energy generation potential is to determine where photovoltaic panels can be installed on the facades of the building, where photovoltaic panels cannot be installed and where there are elements (e.g., windows) that need to be considered separately. Correspondingly, the size of the installable panel area of each building element needs to be extracted, along with the heights of different floors, how to identify and label the roof and facade, and details such as windows (i.e., the relative positions of windows and the facade). As mentioned above, IFC data can provide semantic information, location information, attribute information and geometric information for all building elements. However, for a photovoltaic simulation, photovoltaic panels are only installed on external building surfaces; therefore, we only require the outer skin area of the building. As IFC data provide information about all building elements, it is necessary to extract the outer surface of the building from the whole building elements, thereby greatly reducing the subsequent calculation workload.

Determination of Building External Surface and Photovoltaic Installation Area
The IFC data used in this study were calculated and stored in the form of triangular patches, each with its own attribute ID annotation. In our method for extracting the exterior surface of the building, we divide the building components into two parts, floor slab and non-floor slab. (1) The selection criterion of the outer surface of non-floor building components is that the normal direction of the IFC triangular patch is perpendicular to the xand y-plane and there is only one surface adjacent to the external space; then, the triangular patch is retained as the triangle of the outer surface patches and given an ID. (2) The outer surface of the floor slab is determined through the normal direction of the triangular surface of the floor slab, which is parallel to the x-and y-plane, and then retaining the triangular surface, which is the outer surface of the slab facade. The remaining triangular patches are the upper and lower slabs. The selection criterion of the upper outer surface of each floor is the difference between the two-dimensional current floor and the two-dimensional upper floor. The selection criterion of the lower outer surface of the floor is the difference between the two-dimensional current floor and the two-dimensional lower floor. In the same way, the selected triangular patch records the ID of the original component of the triangular patch. Then, we aggregate all triangular patches together according to ID. Through the above process, the exterior surface information with semantic information of all building components of the entire IFC model is obtained. Extracting the outer surface of the building greatly reduces the subsequent workload (e.g., shadow occlusion calculations). Figure 5a represents the IFC data of a floor and Figure 5b shows a schematic diagram after obtaining the external surface of the building. To simulate the size of the mounting area and placement of the photovoltaic panels on the outer surface of a building, the grid is used to simulate the mounting of the photovoltaic panels, the grid resolution is used as the size of a photovoltaic panel and the grid center point is used as the position to mount the photovoltaic panels. The mounting of the photovoltaic panels can be simplified as the discretization placement of the grid center points on the building surface. Grid center point as the simplest geometric form is directly used in the simulation of the geometric center of the photovoltaic panel, which can ensure calculation accuracy and simplify the subsequent solar radiation calculation.  To simulate the size of the mounting area and placement of the photovoltaic panels on the outer surface of a building, the grid is used to simulate the mounting of the photovoltaic panels, the grid resolution is used as the size of a photovoltaic panel and the grid center point is used as the position to mount the photovoltaic panels. The mounting of the photovoltaic panels can be simplified as the discretization placement of the grid center points on the building surface. Grid center point as the simplest geometric form is directly used in the simulation of the geometric center of the photovoltaic panel, which can ensure calculation accuracy and simplify the subsequent solar radiation calculation. The position of the grid center point is obtained based on the constructed contour line. The previously obtained facades are orthogonally projected from the top view to obtain the two-dimensional contour line corresponding to each floor. The IFC floor height for all floors is obtained as the height of the two-dimensional contour line. The positions of the grid center points are arranged based on these contour lines. The grid center points are divided into those on the facade and those on the horizontal plane.
The grid center points on the building facades are obtained as follows: For an n-story building B, the ith floor is represented by C i (G i , F i , H i ), where G i represents the twodimensional contour of the floor (i.e., the top-view projection of the facade), F i represents the height of the floor from the ground and H i represents the height of the current floor from the top surface of the floor slab to the ceiling (including the ceiling thickness). As shown in Figure 6, we traverse the contour set B = {C i |i ∈ n, n = 0} of the building floors and merge all floors with the same two-dimensional contour shape from the sth floor to the tth floor. The following set is obtained: where F k = Min(F i ) represents the lowest ground height in the set and H k = Sum(H i ) represents the accumulation of floor heights in the set. the height of the floor from the ground and Hi represents the height of the current floor from the top surface of the floor slab to the ceiling (including the ceiling thickness). As shown in Figure 6, we traverse the contour set = { | ∈ , ≠ 0} of the building floors and merge all floors with the same two-dimensional contour shape from the sth floor to the tth floor. The following set is obtained: = {( , , , )| = , = { , + 1, + 2, … }}, where = ( ) represents the lowest ground height in the set and = ( ) represents the accumulation of floor heights in the set. For any two-dimensional contour line, G k = P kj x j , y j , F k j = 1, 2, . . . represents an ordered set of nodes that form the contour line and P kj P kj+1 represents a line segment composed of two adjacent nodes. As shown in Figure 7, the drawing direction of P kj P kj+1 can be expressed by The unit vector in the vertical direction can be represented by → v 0 = (0, 0, 1). Then, the set of grid center points in the space of the P kj P kj+1 segment is P kje f P kje f = P kj where e and f are both natural numbers. This method is used to loop through all contour line segments, ultimately producing the grid center points on the building facade. For any two-dimensional contour line, = { ( , , )| = 1,2, … } represents an ordered set of nodes that form the contour line and +1 represents a line segment composed of two adjacent nodes. As shown in Figure 7, the drawing direction of   The grid center points in the plane can be obtained as follows: As shown in Figure 9 for the merged floor set , with the same two-dimensional contour, there are floor sets and +1 with upper and lower floors. Their corresponding contour lines and +1 have an intersection or inclusion relation in two-dimensional space and the surrounding areas are and +1 , respectively. A Boolean subtraction is performed on and +1 and the result of the operation is the two-dimensional geometry of the roof (if is the highest floor, the surroundings of are considered the two-dimensional geometry of the roof). We move the calculated two-dimensional geometry to height + to obtain the roof plane . The grid center points in the plane can be obtained as follows: As shown in Figure 9 for the merged floor set S k , with the same two-dimensional contour, there are floor sets S k and S k+1 with upper and lower floors. Their corresponding contour lines G k and G k+1 have an intersection or inclusion relation in two-dimensional space and the surrounding areas are A k and A k+1 , respectively. A Boolean subtraction is performed on A k and A k+1 and the result of the operation is the two-dimensional geometry of the roof (if G k is the highest floor, the surroundings of G k are considered the two-dimensional geometry of the roof). We move the calculated two-dimensional geometry to height F k + H k to obtain the roof plane R k . The grid center points in the plane can be obtained as follows: As shown in Figure 9 for the merged floor set , with the same two-dimensional contour, there are floor sets and +1 with upper and lower floors. Their corresponding contour lines and +1 have an intersection or inclusion relation in two-dimensional space and the surrounding areas are and +1 , respectively. A Boolean subtraction is performed on and +1 and the result of the operation is the two-dimensional geometry of the roof (if is the highest floor, the surroundings of are considered the two-dimensional geometry of the roof). We move the calculated two-dimensional geometry to height + to obtain the roof plane . The minimum outer rectangle for the top-view projection of building B is calculated and a point mesh is constructed at l intervals, as shown in Figure 10a. The center points corresponding to grids completely covered by are selected as the grid center points, as shown in Figure 10b, and + is used as the height of these grid center points. Through the above method, grid center points on the building roof plane that can completely accommodate l × l photovoltaic panels are obtained, as shown in Figure 10c. The minimum outer rectangle for the top-view projection of building B is calculated and a point mesh is constructed at l intervals, as shown in Figure 10a. The center points corresponding to grids completely covered by R k are selected as the grid center points, as shown in Figure 10b, and F k + H k is used as the height of these grid center points. Through the above method, grid center points on the building roof plane that can completely accommodate l × l photovoltaic panels are obtained, as shown in Figure 10c. The minimum outer rectangle for the top-view projection of building B is calculated and a point mesh is constructed at l intervals, as shown in Figure 10a. The center points corresponding to grids completely covered by are selected as the grid center points, as shown in Figure 10b, and + is used as the height of these grid center points. Through the above method, grid center points on the building roof plane that can completely accommodate l × l photovoltaic panels are obtained, as shown in Figure 10c. The grid center points on the facades and on the roof are combined to obtain a collection of grid center points on the surface of the building (Figure 11). The grid center points on the facades and on the roof are combined to obtain a collection of grid center points on the surface of the building (Figure 11).
(c) Figure 10. Construction of grid center points on a roof plane: (a) fishnet and respective center points; (b) grid completely covered by the roof plane and respective center points (blue highlighted area); and (c) grid center points on the roof planes.
The grid center points on the facades and on the roof are combined to obtain a collection of grid center points on the surface of the building (Figure 11). To apply the simulation to a real scenario, the simulated building needs to be converted to a real geographic location. Therefore, coordinate transformation is required. We implemented coordinate transformation based on a powerful geographical information system (GIS) tool called ArcGIS; C# and ArcEngine SDK were used to convert the required information into Shapefile, which was imported to ArcGIS. In ArcGIS, the similarity transformation was used to move the target to a real georeferenced position, ensuring that the orientations of all sides of the building were consistent with the real conditions and that the surrounding scenes were correct.
Through the extraction of the external surface, the construction of contour lines and the setting of grid center points, the actual positions and area of the photovoltaic panels' technical potential on facades and roofs can be obtained.

Photovoltaic Energy Simulation Calculation
The estimation of potential photovoltaic energy generation is closely related to the amount of radiation reaching the studied surfaces. Various scholars have proposed empirical models to predict the amount of radiation on a certain point of the Earth's To apply the simulation to a real scenario, the simulated building needs to be converted to a real geographic location. Therefore, coordinate transformation is required. We implemented coordinate transformation based on a powerful geographical information system (GIS) tool called ArcGIS; C# and ArcEngine SDK were used to convert the required information into Shapefile, which was imported to ArcGIS. In ArcGIS, the similarity transformation was used to move the target to a real georeferenced position, ensuring that the orientations of all sides of the building were consistent with the real conditions and that the surrounding scenes were correct.
Through the extraction of the external surface, the construction of contour lines and the setting of grid center points, the actual positions and area of the photovoltaic panels' technical potential on facades and roofs can be obtained.

Photovoltaic Energy Simulation Calculation
The estimation of potential photovoltaic energy generation is closely related to the amount of radiation reaching the studied surfaces. Various scholars have proposed empirical models to predict the amount of radiation on a certain point of the Earth's surface and on inclined surfaces [41][42][43][44][45][46][47][48][49][50]. In this study, the solar radiation irradiated on the surface of the building was calculated based on the work of Carl [51] and Perez et al. [50]. The amount of solar radiation received at a certain point was calculated as: I t = I b + I d + I r , where I t is the total solar radiation and I b , I d and I r represent direct, diffuse and ground-reflected radiation, respectively. The isotropic model was used for the solar radiation evaluation [48,51]. Due to the complex reflections between the building and the impact of the reflective radiation on urban areas being negligible, as in [52][53][54], only the ground-reflected radiation was considered.
First, I b was calculated as I b = I 0 τ a τ b cos i, where I 0 is the solar flux outside the atmosphere, in W/m 2 [48,55,56]; τ a represents the atmospheric clearness index [57,58]; τ b is the atmospheric transmittance for beam radiation [56]; and i is the angle between the normal to the surface and the direction to the sun, in degrees [48].
Here, S 0 is the solar constant, which was 1367 W/m 2 in this model [55], and N is the day (N was 1 on January 1 and 365 on December 31).
where A is 0.75, C is 3.4 and B is the total cloud amount in Okta [57].
Here, α represents the solar altitude angle (in degrees), being zero at sunrise and sunset and reaching its maximum at solar noon [48,56].
Then, I d was calculated as follows: where τ d is the radiation diffusion coefficient [48,60]; β is the tilt angle of the surface, in degrees [48]; and α s is the azimuth angle of the surface, also in degrees [48]. Then, Subsequently, I r was calculated as where r represents the ground albedo, set as 0.2 in this model [60,61], and τ r is the reflectance transmittance [60].
The analysis needs to consider whether the surface of the building receives solar radiation, which is related to many factors, including the location of the building, surrounding environment and location of the sun. The position of the sun at a specific moment can be calculated from angles such as the solar altitude angle listed in the above equations. The exposure (or lack thereof) of a certain point of the building to sunlight was determined as shown in Figure 12. The position of the sun was calculated for times t 1 and t 2 . At t 1 , a ray from the surface of the building points to the position of the sun at time t 1 . The analysis determined whether the ray intersected with buildings or the environment's triangular patches. As time t 1 was intersected, it was sheltered and the sun could not reach the selected point on the building surface. For the same reason, time t 2 was evaluated. moment can be calculated from angles such as the solar altitude angle listed in the above equations. The exposure (or lack thereof) of a certain point of the building to sunlight was determined as shown in Figure 12. The position of the sun was calculated for times t1 and t2. At t1, a ray from the surface of the building points to the position of the sun at time t1. The analysis determined whether the ray intersected with buildings or the environment's triangular patches. As time t1 was intersected, it was sheltered and the sun could not reach the selected point on the building surface. For the same reason, time t2 was evaluated. Therefore, to calculate the amount of solar radiation at a point on the building surface, the analysis must consider whether the point is sheltered by shadows. To calculate the amount of solar radiation over a period of time, integration was used, as shown in Equation (11). When a point on the building surface is shadowed, there is no direct radiation, but there is diffuse and ground-reflected radiation.
In Equation (11), a period of time is represented by T [Start, End] and H represents the amount of solar radiation received at a point within a period of time.
where EPV represents photovoltaic energy generation, in MWh; η is the average efficiency of the photovoltaic system, which was set to 0.2 [62,63]; Sa is the available area for the photovoltaic panel; and Ht is the total solar radiation in the available area over a period of time.

Extraction of Available Installation Areas of the Building
This study used the building planning and design drawings (two-dimensional CAD electronic drawings) provided by the Xinyi City Natural Resources and Planning Bureau  Therefore, to calculate the amount of solar radiation at a point on the building surface, the analysis must consider whether the point is sheltered by shadows. To calculate the amount of solar radiation over a period of time, integration was used, as shown in Equation (11). When a point on the building surface is shadowed, there is no direct radiation, but there is diffuse and ground-reflected radiation.
In Equation (11), a period of time is represented by T [Start, End] and H represents the amount of solar radiation received at a point within a period of time.
where E PV represents photovoltaic energy generation, in MWh; η is the average efficiency of the photovoltaic system, which was set to 0.2 [62,63]; S a is the available area for the photovoltaic panel; and H t is the total solar radiation in the available area over a period of time.

Extraction of Available Installation Areas of the Building
This study used the building planning and design drawings (two-dimensional CAD electronic drawings) provided by the Xinyi City Natural Resources and Planning Bureau as the original data ( Figure 13). The main analysis of the building comprised the use of a self-developed CAD-based 3D modeling program to generate an IFC-based BIM model of the building with detailed building component information. To simplify the calculation, the surrounding building models relied on building block models constructed by building footprints and building heights.
We selected a residential building in Xuzhou city, Jiangsu Province, China, as the object for the simulation experiment ( Figure 14). The approximate location of the building was 118. as the original data ( Figure 13). The main analysis of the building comprised the use of a self-developed CAD-based 3D modeling program to generate an IFC-based BIM model of the building with detailed building component information. To simplify the calculation, the surrounding building models relied on building block models constructed by building footprints and building heights. We selected a residential building in Xuzhou city, Jiangsu Province, China, as the object for the simulation experiment ( Figure 14). The approximate location of the building was 118.35 E and 34.37 N. The simulated building covered an area of 836 m 2 and a height of 91 m. The facade orientations were 10.635° east-north, 10.635° north-west, 10.635° west-south and 10.635° south-east. There were 14 residential buildings around it; the three-dimensional models of these surrounding buildings played a key role when performing shadow occlusion calculations on simulated buildings. After the extraction of the external surface, the extracted area included the facade (excluding windows), windows and roof of the building. According to the method described in Section 2.2, the grid center points of the facades and roofs were generated. We needed to take into account the size of each photovoltaic panel represented by each  We selected a residential building in Xuzhou city, Jiangsu Province, China, as the object for the simulation experiment ( Figure 14). The approximate location of the building was 118.35 E and 34.37 N. The simulated building covered an area of 836 m 2 and a height of 91 m. The facade orientations were 10.635° east-north, 10.635° north-west, 10.635° west-south and 10.635° south-east. There were 14 residential buildings around it; the three-dimensional models of these surrounding buildings played a key role when performing shadow occlusion calculations on simulated buildings. After the extraction of the external surface, the extracted area included the facade (excluding windows), windows and roof of the building. According to the method described in Section 2.2, the grid center points of the facades and roofs were generated. We needed to take into account the size of each photovoltaic panel represented by each After the extraction of the external surface, the extracted area included the facade (excluding windows), windows and roof of the building. According to the method described in Section 2.2, the grid center points of the facades and roofs were generated. We needed to take into account the size of each photovoltaic panel represented by each grid center point for the calculation accuracy and the calculation time. Carneiro et al. [64] set the resolution of flat and tilted rooftops and facades to 0.25 m 2 ; the higher the resolution, the larger the time required for the calculation. Hofierka and Zlocha [46] set the voxel to 2.5 m, which reduced the calculation time but also decreased the accuracy. Some scholars have defined the spatial resolution of rooftops and facades as 1 m 2 [10,42,52]. Based on previous studies and considering photovoltaic panels of approximately 1 m 2 , the grid center points were set at 1 m intervals. All grid center points at less than 1 m interval were deleted. As such, the number of grid center points represented the number of photovoltaic panels. The statistics describing the area of each building element are shown in Table 1.  Table 1 lists the actual area of each building element of the simulated building, the area of each building element extracted by IFC, the available area for installing photovoltaic panels and the proportion of the area of each building element that can accommodate photovoltaic panels to the total area of each building element. The actual area of each building element was the same as the area of each building element extracted by IFC. The actual area of the entire building was 20,909.64 m 2 , but the actual available area of the entire building for photovoltaic panel installation was only 8995 m 2 . The roof utilization rate was the highest, reaching 96.36%. The proportion of installable area on the facades (excluding windows) was relatively low, only 38.27%. Owing to the screening of areas for photovoltaic panels, the available installation area was smaller than the area of each building element. This was particularly reflected in the facade. Constructing the grid center points of the facade relied on contour lines and the construction of grid center points was not carried out for line segments of <1 m. Here, the outline of the building had a large number of line segments of <1 m. The windows in the facade were treated separately. Therefore, the installation of photovoltaic panels on windows in the facade and the installation of photovoltaic panels on the facades (excluding the windows) should meet the requirement of excluding areas with length <1 m. Therefore, the suitable area represented by the number of grid center points constructed was smaller than the total area of building elements. However, although the proportion of the suitable area of the facade was not high, the area was much larger than that of the roof and, considering these constraints, could better meet the building's energy demand.

Estimation of Photovoltaic Energy Generation Potential
To calculate the solar radiation, the input parameters included the latitude and longitude coordinates of the simulated location, the slope and aspect of each external surface of the building, time, atmospheric clearness index, solar position, presence of shadows and other factors. These parameters were obtained through the equations and relevant data presented in Section 2.3. The atmospheric clearness index was calculated using cloud data and the cloud data used in this study were based on MODIS data [65]. The total cloud amount data used in this study are a product of Terra Satellite's standard monthly average of the total cloud amount data of level 3. Accordingly, the cloud data for a given month were obtained. Figure 15 shows the solar radiation from the roof. Figure 15 compares the direct and diffuse radiation changes during the spring equinox (21 March).
The photovoltaic generation of the building was simulated based on the calculation formula for photovoltaic energy generation (see Equation (12) in Section 2.3), available installation area of the extracted building elements, calculation results of solar radiation and shadow occlusion generated by surrounding buildings or self-occlusion. The results are shown in Figure 16, while the statistical results are given in Table 2. The total cloud amount data used in this study are a product of Terra Satellite's standard monthly average of the total cloud amount data of level 3. Accordingly, the cloud data for a given month were obtained. Figure 15 shows the solar radiation from the roof. Figure  15 compares the direct and diffuse radiation changes during the spring equinox (21 March). The photovoltaic generation of the building was simulated based on the calculation formula for photovoltaic energy generation (see Equation (12) in Section 2.3), available installation area of the extracted building elements, calculation results of solar radiation and shadow occlusion generated by surrounding buildings or self-occlusion. The results are shown in Figure 16, while the statistical results are given in Table 2. The total cloud amount data used in this study are a product of Terra Satellite's standard monthly average of the total cloud amount data of level 3. Accordingly, the cloud data for a given month were obtained. Figure 15 shows the solar radiation from the roof. Figure  15 compares the direct and diffuse radiation changes during the spring equinox (21 March). The photovoltaic generation of the building was simulated based on the calculation formula for photovoltaic energy generation (see Equation (12) in Section 2.3), available installation area of the extracted building elements, calculation results of solar radiation and shadow occlusion generated by surrounding buildings or self-occlusion. The results are shown in Figure 16, while the statistical results are given in Table 2.    As shown in Figure 16, regardless of the season, the energy generation in the roof was the highest, followed by the south-facing facade (including windows) and then the eastand west-facing facades. However, the roof area was small and the energy generation of the facades gradually increased with floor height. The windows also had great potential. The highest energy generation potential was in summer, followed by spring and finally the autumn and winter seasons. The technical photovoltaic energy generation potential of the building was 1054.69 MWh/year. The photovoltaic energy generation in April and July was found to be the highest, followed by March and September; the lowest generation was found in the winter months. In general, the potential for photovoltaic generation was significant for all months. This indicates that the utilization of solar energy for photovoltaic energy generation at the given location was feasible. Figure 17 shows the available facade and roof areas of the building simulated in this study and the photovoltaic energy generation in different time periods. The available area of the facades (excluding windows) was much larger than that of the roofs. The photovoltaic energy generation of the facades (excluding windows) for different time periods was also much larger than that of the roofs. The installation of photovoltaic panels on the windows would increase the energy generation of the facade even more. Our results confirm that the photovoltaic energy generation potential of the facades was huge; therefore, the evaluation of the available facade area should play an important role in photovoltaic simulation. east-and west-facing facades. However, the roof area was small and the energy generation of the facades gradually increased with floor height. The windows also had great potential. The highest energy generation potential was in summer, followed by spring and finally the autumn and winter seasons. The technical photovoltaic energy generation potential of the building was 1054.69 MWh/year. The photovoltaic energy generation in April and July was found to be the highest, followed by March and September; the lowest generation was found in the winter months. In general, the potential for photovoltaic generation was significant for all months. This indicates that the utilization of solar energy for photovoltaic energy generation at the given location was feasible. Figure 17 shows the available facade and roof areas of the building simulated in this study and the photovoltaic energy generation in different time periods. The available area of the facades (excluding windows) was much larger than that of the roofs. The photovoltaic energy generation of the facades (excluding windows) for different time periods was also much larger than that of the roofs. The installation of photovoltaic panels on the windows would increase the energy generation of the facade even more. Our results confirm that the photovoltaic energy generation potential of the facades was huge; therefore, the evaluation of the available facade area should play an important role in photovoltaic simulation.  Figure 18a shows the IFC data used in this study. When discretizing continuous surfaces, the points where photovoltaic equipment cannot be installed can be identified,  Figure 18a shows the IFC data used in this study. When discretizing continuous surfaces, the points where photovoltaic equipment cannot be installed can be identified, which leads to high accuracy. With the continuous promotion and application of BIM and IFC standards, data acquisition will become easier. In contrast, Figure 18b shows a stretched three-dimensional model of the building through the base/footprint and floor height. This method of technical solar potential estimation is simple and requires a small amount of calculation, but it is not highly accurate. There is only a fuzzy outline without detailed information on windows and roofs. Moreover, if no photovoltaic panels are installed on the windows, the error is large. Figure 18c shows a high-definition image of a simulated building. The raster satellite image has a high resolution, yet requires few calculations; however, only the outline of the roof can be extracted from the image. Therefore, the satellite method is only applicable to estimate the photovoltaic potential of the roofs of large buildings. Moreover, it is difficult to estimate the potential of the building facade. Figure 18d shows a three-dimensional reconstruction method based on point cloud data. The point cloud density determines the accuracy of this method; if the density is large, the computational costs are high. However, there are errors in the boundary reconstruction. Among the four methods (Table 3), the one proposed in this study (Figure 18a) can accurately evaluate the photovoltaic potential of building facades and roofs. The direct extruding and point-cloud-based methods can extract facades and roofs, but neither yields detailed information, particularly in terms of windows. amount of calculation, but it is not highly accurate. There is only a fuzzy outline without detailed information on windows and roofs. Moreover, if no photovoltaic panels are installed on the windows, the error is large. Figure 18c shows a high-definition image of a simulated building. The raster satellite image has a high resolution, yet requires few calculations; however, only the outline of the roof can be extracted from the image. Therefore, the satellite method is only applicable to estimate the photovoltaic potential of the roofs of large buildings. Moreover, it is difficult to estimate the potential of the building facade. Figure 18d shows a three-dimensional reconstruction method based on point cloud data. The point cloud density determines the accuracy of this method; if the density is large, the computational costs are high. However, there are errors in the boundary reconstruction. Among the four methods (Table 3), the one proposed in this study ( Figure 18a) can accurately evaluate the photovoltaic potential of building facades and roofs. The direct extruding and point-cloud-based methods can extract facades and roofs, but neither yields detailed information, particularly in terms of windows.

Relationship between Calculation Time and Accuracy
The photovoltaic energy generation data for 12 months were computed by four virtual machines, which analyzed data from 3 months each at the same time. The processor of each machine was an Intel(R) Xeon(R) Silver 4116 CPU (2.10 GHz, 8 processor), with 16 GB of RAM; a Windows server 2016 datacenter operator system was used. The maximum calculation time was 16.73 h; we chose the maximum time as that required for the calculations.
The estimated time consumption was calculated based on two perspectives. First, the time spent at different grid resolutions was calculated; then, the time spent at different time intervals was calculated (Figure 19a,b, respectively). The results show that a longer calculation time is required for a higher grid resolution or shorter time interval. In this study, the grid resolution was set to 1 m and the integration time interval was set to 5 min. We used different settings for the grid resolution and integration time intervals, respectively, choosing grid resolutions of 1, 1.5 and 2 m and integration time intervals of 5, 10, 30, 60 and 120 min to draw the curve (different building styles have different results). The grid resolution and the integration time interval values selected in this study are near the inflection points of the computational cost curve, which indicates that the settings were reasonable. As the grid resolution is consistent with the size of the photovoltaic panel, it can be adjusted according to the simulated size of the photovoltaic panel to adapt to the actual situation. The smaller the temporal resolution, the higher the accuracy of the calculated solar radiation. For studying the total amount of solar radiation in different periods, the integration time interval can be adjusted appropriately. For example, to study hourly or daily solar radiation, the integration time could be set to an interval of 1 min or less. If a higher discrete interval or shorter integration time interval is required, the time required for the calculation is longer.

Conclusions
We propose the use of IFC data to accurately assess the potential of photovoltaic energy generation on building facades and roofs. The proposed process of evaluating the potential of photovoltaic energy generation includes the extraction of the exterior surface of the building, the construction of contour lines, the setting of the grid resolution, the calculation of solar radiation, the analysis of shadow occlusion and the final evaluation of the photovoltaic energy generation potential. The advantage of this method is that it can achieve detailed photovoltaic potential assessment of different components (roof, facade, windows, etc.) on the building surface. It does not depend on specific software/tools and has good flexibility and scalability. Considering that only the external building surface is required for photovoltaic potential evaluation, it is very important to extract the building surface first to reduce subsequent calculations and time costs. The method was verified by application to a real building; maximum energy generation occurred in summer followed by spring, with the simulated photovoltaic energy generation of the building reaching 1054.69 MWh/year. The correlations between the time consumed for the calculations and the grid resolutions and integration time were analyzed to establish settings that guarantee the accuracy and efficiency of the algorithm.
Factors such as temperature loss, mismatch losses and failure loss of photovoltaic modules have an important impact on the potential of photovoltaic energy generation systems. This study simply calculated the photoelectric conversion efficiency coefficient. These influencing factors still need further research and discussion in future work. After optimization and improvement in a later stage, it can be considered for integration into existing BIM energy simulation software.