Creation sun power tower (Sevilla) in GC- equality between angles

Hello! My plan is to create something more or less like solar power tower in Sevilla but I have no idea what kind of script I have to use to obtain dependance on incidence angle and the angle at which light is reflected (which are equal).
The solar power tower is a type of solar furnace using a tower to receive the focused sunlight. It uses an array of flat, movable mirrors (called heliostats) to focus the sun's rays upon a collector tower. What I do not know is how to create a dependance between sunlight-mirrors-tower that really make sense moving only one point- the sun.

  • Hello KasiaFretka,

    One way to think about this problem is that if the normal vector on each mirror is the bisector between the vector from the mirror to the sun and the vector from the mirror to the furnace, then you have automatically equality between incident and reflected rays. In the geometry the tower's furnace is a fixed point, and the center of each mirror is a second fixed point. With the sun's position as variable you can set up the system for one mirror, and then through replication populate a whole field of mirrors.  

    Please let me know whether you need more details.  

    HTH and Happy New Year,

        Volker

       

  • Hi Volker! Thanks for your reply! I'm sending you the skript with what I have done till now. I used a bisector between lines (sun-mirror, mirror-tower) but I think I should try your advices. I'll write to you again in case of problems if you don't mind? I would be glad to see your opinion about my idea for this problem.

    Happy  New Year for you too!

    gc.docx
  • Hi Kasia,

    Yes, your solution works very well and also provides what you can use for a next step: by placing a CoordinateSystem (for example with technique ByOriginPrimarySecondaryDirection, using point07 as Origin, line08 as PrimaryDirection, X as PrimaryAxis, line06 as SecondaryDirection and Z as SecondaryAxis), you will be able to build a mirror based on that CoordinateSystem. That mirror will then stay perpendicular to the bisector and, therefore, always align in a way that reflects the sun into the furnace.

    transaction modelChange 'Add coordinateSystem01'
    {
       node User.Objects.coordinateSystem01 Bentley.GC.Nodes.CoordinateSystem
       {
           Technique                 = 'ByOriginPrimarySecondaryDirections';
           Origin                    = line06.StartPoint;
           PrimaryDirection          = line08;
           PrimaryAxis               = AxisOption.X;
           SecondaryDirection        = line06;
           SecondaryAxis             = AxisOption.Z;
           TransformOption           = TransformOption.Orthogonal;
           GraphLocation             = {3133.89428400732, 22.7233575338264};
       }
    }

    Regards,

       Volker