Grasshopper

[LADYBUG] 라이노 그래스호퍼 - 일사량 Radiation 계산하기 2/3

wwrww 2021. 6. 1. 08:37

1. 일사가 무엇인지, 2. 일사를 구하는 전반적인 레이디버그 컴포넌트 흐름에 대해 알아본 저번 포스트에 이어서 이번 포스트에서는 개별 컴포넌트에 대한 내용을 다뤄보도록 하겠다.

(이전 포스트: https://ollykim.tistory.com/71)

 

[LADYBUG] 라이노 그래스호퍼 - 일사량 Radiation 계산하기 1/2

epw 파일이 준비되었다면, 이제 실제 환경 시뮬레이션을 돌릴 차례이다. 레이디버그는 다양한 시뮬레이션을 돌릴 수 있는 컴포넌트를 제공하지만, 먼저 살펴볼 컴포넌트는 Incident radiation이라는

ollykim.tistory.com

 

3. 개별 컴포넌트의 이해

Chunk 1. Import EPW

Import EPW, 클릭하여 확대하세요.

그래스호퍼 내장 File path 컴포넌트에 Import EPW 파일을 물리면 위 사진과 같이 컴포넌트가 Epw. csv 파일을 형식에 맞게 읽어준다. 레이디버그에서 사용하는 것은 이 텍스트 정보이다. 따라서 계산 결과의 소스 데이터가 어떻게 생겼는지 궁금하다면 import EPW 컴포넌트의 output을 패널에 연결에 확인하면 된다. 가장 대표적으로 location, direct normal radiation, diffuse horizontal radiation, total sky cover 항목을 살펴보자.

 

Location은 지역정보, direct normal radiation 은 직달일사, diffuse horizontal radiation 은 산란일사, total sky cover은 하늘이 가려진 정도를 나타낸다. 먼저 Location에 연결한 패널을 읽어보면, 도시 이름, 위도, 경도, 시간대와 고도를 확인할 수 있다. 그러나 나머지 세 정보를 연결한 패널에서는 제목과 값의 개수에 대한 정보밖에 나오지 않는다. 이는 오른쪽에 떠있는 레이디버그의 다른 컴포넌트, LB Deconstruct data 컴포넌트를 활용해서 분해할 수 있다. 예를 들어 LB deconstruct data와 직달일사 데이터를 가지고 있는 direct normal radiation을 연결하면 아래와 같다.

Using deconstruct data reading raw epw data, 클릭하여 확대하세요.

위 이미지와 같이 LB deconstruct data 를 이용하면 좀 전에는 보이지 않았던 epw 파일의 원천 데이터에 접근할 수 있다. 나머지 Diffuse horizontal radiation, Total sky cover 도 같은 방식으로 데이터를 볼 수 있다.

 

Chunk 2. Analysis period

분석할 기간을 설정하는 것은 궁금한 주제에 따라 신중하게 결정해야 하는 항목이다. 1년 내내의 일사 총량이 궁금하다면 1월 1일부터 12월 31일 0시부터 23시 전체를 분석하겠지만, 하지와 동지의 일사량 비교가 필요하다면, 6월 21 혹은 6월, 12월 21일 혹은 12월 일사 데이터를 각각 분석하여 비교할 것이다. 이처럼, 분석기간은 구하고자 하는 목표에 맞춰 설정한다. 레이디버그에서 분석 기간을 만들어주는 컴포넌트는 Analysis period라는 컴포넌트이다.

Analysis period, 클릭하여 확대하세요.

컴포넌트에 시작하는 월, 일, 시간, 끝나는 월, 일, 시간을 숫자로 넣어주면, Analysis period 컴포넌트에서는 이를 0과 양의 정수 하나로 바꿔준다. 위 그림에서 hoys 와 dates를 비교하면 된다. 여기서 hoys는 hours of days이며 1년 365일에 하루 24시간을 곱한 8,760을 날짜당 한 시간 단위로 값을 할당해준 것이다. 이미지로 확인해보면, 1월 1일 5시가 "5"라는 값으로 할당된 것을 볼 수 있다.

 

Chunk 3. Cumulative sky matrix

Cumulative sky matrix는 가상의 천구를 만들고, epw 기상 데이터의 위치(location), 직달일사(direact rad), 산란일사(diffuse rad) 정보를 이용하여 천구의 각 부분(레이디버그에서는 path라는 용어를 사용한다)에 일사량을 측정하는 컴포넌트이다. 컴포넌트 설명란을 자세히 뜯어보면 Radiance의 gendaymtx 함수를 이용한다고 나와있는데, Radiance는 마찬가지로 광학의 속성들을 시뮬레이션할 수 있는데 미국 로렌스 버클리 연구소(LBNL)가 개발한 툴인데, 오픈소스이다 보니 많은 시뮬레이션들이 해당 Radiacne를 기반으로 만들어져 있다. 레이디버그에서 사용한 gendaymtx 함수는 아래 링크를 확인하면 된다.

 

http://www.radiance-online.org/learning/documentation/manual-pages/pdfs/gendaymtx.pdf

Cumulative Sky Matrix, 클릭하여 확대하세요.

추가로 필요한 핵심 정보로는 분석 시간과 기간을 설정하는 hoys 와 천구를 나누는 밀도를 뜻하는 high_density 가 있다. hoys 컴포넌트는 저번에 다루었으니, 밀도에 대해서만 이야기하자면, 기본 패치 밀도는 Tragenga이지만 불리언을 True로 바꿔주면 Reinhart 밀도로도 변경 가능하다.

 

 

Chunk 4. Incident radiation

가상의 천구에서 각 패치에 대한 일사량을 분석했다면, 건물에 도달하는 일사량을 구할 수 있게 해주는 컴포넌트가 incident radiation 컴포넌트이다. 분석한 천구 모델과 주변 context 를 input으로 넣어 가려지는 부분을 제외한 대상 건물에 도달하는 일사량을 구할 수 있게 해 준다.

Incident Radiation, 클릭하여 확대하세요.

 

  • grid size는 분석 메쉬 면을 자르는 그리드의 크기를 나타내는 것으로 자잘할수록 당연히 계산 속도가 느려진다.
  • offest distance는 분석하는 메쉬 면을 대상 건물의 면에서 얼마만큼 띄울지를 결정한다. 
  • legend parameter는 분석 결과를 보여주는 범례를 라이노 뷰포트 상에 띄워주는 컴포넌트이다.
    legend parameter input 없이도 계산이 되지만, 의도에 맞게 계산 결과를 보여주기 위해서는 legend parameter 컴포넌트에서 범례를 작성한다.

Deconstruct Matrix, 클릭하여 확대하세요.

아웃풋의 데이터들은 다양한 형태로 재가공하여 모델링의 요소로 사용할 수도 있고, 데이터를 시각화하기 위한 자료로 사용할 수 있는데, 특히 1.2 버전에서는 계산 결과를 행렬로도 뜯어서 확인할 수 있게 해 주는데, 레이디버그의 Deconstruct matrix 컴포넌트를 사용한다.

 

Chunk 5. Legend parameters

Legend Parameters

데이터를 어떻게 보여줄지에 따라서 최대, 최솟값을 정하고, 데이터를 건물에 어떤 컬러로 맵핑할지는 그라디언트를 사용해 바꿀 수 있다. 직접 만든 그라디언트를 사용할 수도 있으나 주로 레이디버그 기본 그라디언트인 LB Color range를 사용한다. 레전드의 크기나 텍스트의 크기, 뷰포트 상에서의 위치도 이 컴포넌트에서 조절 가능하다.