cyl.yaml (5955B)
1 # Copyright (C) CNRS 2017 2 # 3 # This program is free software: you can redistribute it and/or modify 4 # it under the terms of the GNU General Public License as published by 5 # the Free Software Foundation, either version 3 of the License, or 6 # (at your option) any later version. 7 # 8 # This program is distributed in the hope that it will be useful, 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 # GNU General Public License for more details. 12 # 13 # You should have received a copy of the GNU General Public License 14 # along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16 # TUTORIAL MICROSOL-R 17 # This YAML file describes the parabolic-trough collector and receiver systems 18 # where concentrated solar fluxes are computed with SOLSTICE. 19 # http://www.equipex-socrate.fr/equipements/microsol-r.html 20 21 ################################################################################ 22 # Sun & Atmosphere 23 ################################################################################ 24 # Only the Direct Normal Irradiation (DNI) from the sun is set. As an example 25 # here, no solar spectrum is considered, but we also could define a solar 26 # intensity spectrum. 27 - sun: &sun 28 dni: 1000 29 30 ################################################################################ 31 # Materials 32 ################################################################################ 33 - medium: &air 34 refractive_index: 1 35 extinction: 0 36 37 - medium: &glass 38 refractive_index: 1.2 39 extinction: 0.02 40 41 - medium: &vacuum 42 refractive_index: 1 43 extinction: 0 44 45 # Define a material purely absorbant (e.g. for pylons) 46 - material: &occultant 47 front: {matte: {reflectivity: 0}} 48 back: {matte: {reflectivity: 0}} 49 50 # Define a specular material for the reflectors 51 - material: &specular 52 front: {mirror: {reflectivity: 0.9, slope_error: 0}} 53 back: {matte: {reflectivity: 0.0}} 54 55 # Define a diffusely reflecting material for the receiver 56 - material: &lambertian 57 front: {matte: {reflectivity: 0.06}} 58 back: {matte: {reflectivity: 0.0}} 59 60 # Define a refractive interface between air and glass 61 - material: &refractive_out 62 front: 63 dielectric: # --> Front|Back 64 medium_i: *air # medium travelling in before hitting Front 65 medium_t: *glass # medium of refraction 66 back: 67 dielectric: # Front|Back <--- 68 medium_i: *glass # medium travelling in before hitting Back 69 medium_t: *air # medium of refraction 70 71 # Define a refractive interface between glass and vacuum 72 - material: &refractive_in 73 front: 74 dielectric: # --> Front|Back 75 medium_i: *glass # medium travelling in before hitting Front 76 medium_t: *vacuum # medium of refraction 77 back: 78 dielectric: # Front|Back <--- 79 medium_i: *vacuum # medium travelling in before hitting Back 80 medium_t: *glass # medium of refraction 81 82 ################################################################################ 83 # Geometries 84 ################################################################################ 85 # Define the geometry of the parabolic-cylinder mirror surface 86 - geometry: &reflector 87 - material: *specular 88 transform: {translation: [0, 0, 0], rotation: [0, 0, 0]} 89 parabolic-cylinder: 90 focal: 1.73 91 slices: 32 92 clip: 93 - operation: AND 94 vertices: [[-6, -2.38], [-6, 2.38], [ 6, 2.38], [ 6, -2.38]] 95 96 # Define the tube surface of the receiver 97 - geometry: &tube_steel_g 98 - material: *lambertian 99 transform: {translation: [0, 0, 0], rotation: [0, 90, 0]} 100 cylinder: 101 height: 12 102 radius: 0.07 103 slices: 128 104 stacks: 128 105 106 # Define the tube surface of the internal glass interface 107 - geometry: &tube_glass_in_g 108 - material: *refractive_in 109 transform: {translation: [0, 0, 0], rotation: [0, 90, 0]} 110 cylinder: {height: 12, radius: 0.119, slices: 256, stacks: 32 } 111 112 # Define the tube surface of the external glass interface 113 - geometry: &tube_glass_out_g 114 - material: *refractive_out 115 transform: {translation: [0, 0, 0], rotation: [0, 90, 0]} 116 cylinder: {height: 12, radius: 0.125, slices: 256, stacks: 32 } 117 118 ################################################################################ 119 # Template of the parabolic trough (includes tubes and mirror) 120 ################################################################################ 121 # Create a template to link the tracking (pivot) with the surfaces of the 122 # parabolic-trough geometry 123 - template: ¶b_trough_t 124 name: pt_pivot 125 transform: {translation: [0, 0, 0],rotation: [0, 0, 0]} 126 x_pivot: 127 target: { sun: *sun } 128 ref_point: [0, 0, 0] 129 children: 130 # Include the reflector 131 - name: pt_reflector 132 primary: 1 133 transform: { rotation: [0, 0, 0]} 134 geometry: *reflector 135 # Include the glass tube internal interface 136 - name: tube_glass_in 137 primary: 0 138 transform: { translation: [0, 0, 1.73], rotation: [0, 0, 0]} 139 geometry: *tube_glass_in_g 140 # Include the glass tube external interface 141 - name: tube_glass_out 142 primary: 0 143 transform: { translation: [0, 0, 1.73], rotation: [0, 0, 0]} 144 geometry: *tube_glass_out_g 145 # Include the receiver tube 146 - name: tube_steel 147 primary: 0 148 transform: { translation: [0, 0, 1.73], rotation: [0, 0, 0]} 149 geometry: *tube_steel_g 150 151 ################################################################################ 152 # Entities defined to appear in the scene to simulate 153 ################################################################################ 154 # Define the parabolic-trough module and locate it inside the scene 155 - entity: 156 name: parab_trough_e 157 transform: {translation: [0, 0, 0], rotation: [0, 0, 0]} 158 children: [*parab_trough_t] 159 # Define another one in another location 160 - entity: 161 name: pt_2_e 162 transform: {translation: [0, 10, 0], rotation: [0, 0, 0]} 163 children: [*parab_trough_t] 164