solstice

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

commit c54ea0372646558ff7054a292a4c157f1825fef8
parent 0c322f65c5cc20913ee329ee85adff5ff9b85215
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed, 16 Nov 2016 10:06:15 +0100

Update the input fileformat specification

Diffstat:
Mdoc/input | 66++++++++++++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 46 insertions(+), 20 deletions(-)

diff --git a/doc/input b/doc/input @@ -3,21 +3,27 @@ -------------------------------------------------------------------------------- # Declare materials - material: &lambertian - matte: { reflectivtivity: 1 } + matte: { reflectivity: 1 } - material: &mirror - mirror: { reflectivtivity: 1, roughness: 0 } + mirror: { reflectivity: 1, roughness: 0 } # Declare entities - object: &house stl: { path: "house.stl" } material: *lambertian + - object: &cylinder cylinder: { height: 5, radius: 0.5 } material: *lambertian + - object: &cylinder2 + name: cylinder2 cylinder: { height: 5, radius: 0.5 } material: *lambertian transform: { translation: [2.5, 11, 0], rotation: [90, 0, 0] } + anchors: + - { name: anchor0, position: [1, 2, 3] } + - { name: anchor1, position: [4, 5, 6] } - object: &parabol material: *mirror parabol: @@ -25,33 +31,37 @@ clip: - operation: SUB vertices: [ [1, 2, 3], [3, 4, 5], [6, 7, 8] ] -- pivot: &my_pivot - point: [0, 0, 0] - normal: [0, 1, 0] + +- instance: + name: "inst" + object: *cylinder2 # Declare a composition - node: &heliostat0 transform: { rotation: [0, 0, 0], translation: [0, 0, 0] } - entities: + geometries: - object: *cylinder children: - node: transform: { rotation: [0, 0, 0], translation: [0, 0, 0] } - entities: - - pivot: *my_pivot + pivot: + point: [0, 0, 0] + normal: [0, 1, 0] + target: { alias: self.cylinder2.anchor0 } children: - node: - entities: + geometries: - object: *cylinder - object: *cylinder2 children: - node: transform: { translation: [2.5, 11, 0], rotation: [90, 0, 0] } - entities: + geometries: - object: *parabol # Create the solar factory - instance: + name: "inst" transform: { translation: [0, 0, 0] } node : *heliostat0 - instance: @@ -78,21 +88,20 @@ [ - <item> ... ] <items> ::= - <entity> + <object> | <material> | <node> | <instance> | <sun> ---------------------------------------- -<entity> ::= - <object> | <pivot> - <object> ::= object: <shape> <material> +[ <identifier> ] [ <transform> ] +[ <anchors> ] <pivot> ::= pivot: @@ -101,9 +110,19 @@ <target> [ <transform> ] +<anchors> ::= + anchors: + - <anchor> +[ - <anchor> ... ] + +<anchor> ::= + <identifier> + position: <real3> + <target> ::= target: - position: <real3> + alias: <anchor-identifier> + | position: <real3> | direction: <real3> | <sun> @@ -193,14 +212,14 @@ ---------------------------------------- <node> ::= node: - <entities> + <geometries> | <pivot> [ <transform> ] [ <children> ] <entities> ::= - entities: - - <entity> -[ - <entity> ... ] + geometries: + - <object> +[ - <object> ... ] <children> ::= children: @@ -228,6 +247,7 @@ ---------------------------------------- instance: <node> | <object> +[ <identifier> ] [ <transform> ] ---------------------------------------- @@ -248,5 +268,11 @@ instance: <spectrum-data> ::= wavelength: REAL - data: REAL + data: REAL + +<identifier> ::= + name: STRING + +<anchor-identifier> ::= + "<identifier>.<identifier>.<identifier>"