solstice

Compute collected power and efficiencies of a solar plant
git clone git://git.meso-star.com/solstice.git
Log | Files | Refs | README | LICENSE

beam_down.yaml (3283B)


      1 # Debug/solstice -D 90,90 -R ../yaml/beam_down_receiver.yaml ../yaml/beam_down.yaml
      2 # Debug/solstice -D 90,90 -r pos=-100,-100,50:tgt=0,0,50:up=0,0,1:img=1000x800 -o ../yaml/beam_down.ppm -f ../yaml/beam_down.yaml
      3 #
      4 # 1 10000
      5 # tower.receptor 14   465.464 0.00509812 -1 -1   0 0 -1 -1   0 0 -1 -1   34.5362 0.00509812 -1 -1   0.930847 1.01954e-05 -1 -1
      6 # 0 0
      7 # 0 0
      8 # --- Sun direction: -3.7494e-33 -6.12323e-17 -1
      9 
     10 - sun: &sun { dni: 1 }
     11 
     12 - material: &mirror { mirror: { reflectivity: 1, slope_error: 0 } }
     13 - material: &black { matte: { reflectivity: 0 } }
     14 - material: &virtual { virtual: }
     15 
     16 - template: &hyperbol
     17     name: hyperbol
     18     primary: 0
     19     geometry: 
     20     - hyperbol: 
     21         focals: &hyperbol_focals { real: 100, image: 20 }
     22         clip:
     23         - operation: AND
     24           #vertices: [[-25, -25], [-25, 25], [25, 25], [25, -25]]
     25           vertices: [[-5, 0], [20, -10], [35, 0], [20, 10]]
     26       material: { front: *mirror, back: *virtual }
     27     anchors: 
     28     - name: image_point
     29       hyperboloid_image_focals: *hyperbol_focals
     30        
     31 - geometry: &target
     32   - plane:
     33       clip:
     34       - operation: AND
     35         vertices: [[-2.5, -2.5], [-2.5, 2.5], [2.5, 2.5], [2.5, -2.5]]
     36         #vertices: [[-1, -1], [-1, 1], [1, 1], [1, -1]]
     37         #vertices: [[-.5, -.5], [-.5, .5], [.5, .5], [.5, -.5]]
     38         #vertices: [[-.1, -.1], [-.1, .1], [.1, .1], [.1, -.1]]
     39     material: *black
     40    
     41 - geometry: &primary150
     42   - parabol:
     43       focal: 150
     44       clip:
     45       - operation: AND
     46         vertices: [[-5, -5], [-5, 5], [5, 5], [5, -5]]
     47         #vertices: [[-3, -3], [-3, 3], [3, 3], [3, -3]]
     48         #vertices: [[-2, -2], [-2, 2], [2, 2], [2, -2]]
     49         #vertices: [[-1, -1], [-1, 1], [1, 1], [1, -1]]
     50         #vertices: [[-.01, -.01], [-.01, .01], [.01, .01], [.01, -.01]]
     51     material: *mirror
     52 
     53 - template: &temp_heliostat150
     54     name: "temp-heliostat150"
     55     primary: 0
     56     geometry: 
     57     - cylinder: { radius: 0.3, height: 10 } 
     58       transform: { translation: [0, 0, 5] }
     59       material: *black
     60     children:
     61     - name: "pivot"
     62       transform: { translation: [0, 0, 10] }
     63       zx_pivot:
     64         spacing: 1
     65         target: { anchor: tower.secondary.hyperbol.image_point }
     66       children:
     67       - name: "reflector"
     68         transform: { rotation: [-90, 0, 0] }
     69         primary: 1
     70         geometry: *primary150
     71 
     72 - entity:
     73     name: "tower"
     74     children:
     75     - name: secondary
     76       children: [ *hyperbol ]
     77       transform: { translation: [ 0, 0, 100 ] }
     78     - name: receptor
     79       geometry: *target
     80       primary: 0
     81     - name: "building"
     82       primary: 0
     83       geometry: 
     84       - cylinder: { radius: 1, height: 110 } 
     85         transform: { translation: [-4, 0, 55] }
     86         material: *black
     87 
     88 - entity:
     89     name: "heliostat1"
     90     transform: { translation: [100, -30, 0] }
     91     children: [ *temp_heliostat150 ]
     92 - entity:
     93     name: "heliostat2"
     94     transform: { translation: [101, -15, 0] }
     95     children: [ *temp_heliostat150 ]
     96 - entity:
     97     name: "heliostat3"
     98     transform: { translation: [102, 0, 0] }
     99     children: [ *temp_heliostat150 ]
    100 - entity:
    101     name: "heliostat4"
    102     transform: { translation: [101, 15, 0] }
    103     children: [ *temp_heliostat150 ]
    104 - entity:
    105     name: "heliostat5"
    106     transform: { translation: [100, 30, 0] }
    107     children: [ *temp_heliostat150 ]
    108