[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TRNSYS-users] [TRNSYS_users] GenOpt for cost's optimization



Hi Elise,
I'm beginning to work with GenOpt as well, so I'm not sure if I will be able to help but I'll try...

I believe in order to vary the window size, you should vary as well the wall size that contains it...

For example (Just to explain the concept):
If you have a wall area of 10m^2 and you want to have a window that is 2m^2 and then 4m^2 and then 6m^2... In this case, the wall area should be 10-2 = 8m^2 and consequently 6m^2 and 4m^2, right?
So in this case, you need to define a function that relates both window and wall area ratios... Let's call the wall variable %wall%.. In this case would be:
 %wall% = 10 - %window%

Below you can see the code I used:

In the .bui file:

*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*  Z o n e  GF_01  /  A i r n o d e  GF_01
*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ZONE GF_01
AIRNODE GF_01
WALL  =WE_M       : SURF=  1 : AREA=        12 : EXTERNAL : ORI=NORTH : FSKY=0.5
WALL  =WE_M       : SURF=  3 : AREA=        24 : EXTERNAL : ORI=WEST : FSKY=0.5
WALL  =WE_M       : SURF=  4 : AREA=       %aWall% : EXTERNAL : ORI=SOUTH : FSKY=0.5
WINDOW=WIN        : SURF=  5 : AREA=       %aWin% : EXTERNAL : ORI=SOUTH : FSKY=0.5 : ESHADE=INPUT 1*SHADE
WALL  =WI_L       : SURF=  6 : AREA=        24 : ADJACENT=GF_02 : FRONT
WALL  =SE_L       : SURF=  7 : AREA=        32 : BOUNDARY=INPUT 1*TEMP_GROUND
WALL  =SI_L       : SURF=145 : AREA=        32 : ADJACENT=1F_01 : FRONT
 REGIME
 GAIN        = PERS_ISO01 : SCALE= SCHEDULE 2*OCC_BEDR
 GAIN        = LIGHT01_01 : SCALE= 1
 VENTILATION = VENT0.5
 CAPACITANCE = 115.2   : VOLUME= 96      : TINITIAL= 20      : PHINITIAL= 50      : WCAPR= 1

In the optimization commands .txt file I wrote

Vary {
    Parameter {
        Name    = aWin;
        Ini     = 1;
        Values  = " 7.2, 5.4 , 3 ";
        Type    = SET;
    }

    Function { 
        Name = aWall
        Function = "subtract( 12, %aWin% )";
    }

}

I hope this helped... Let me know if it worked well for you!

All the best,
Amr Alaaeldin


On Fri, Aug 1, 2014 at 6:50 PM, Elise Bernard <e.bernard54@gmail.com> wrote:
Hi,

I'm working on the cost's optimization of a building with one termical zone using GenOpt with Trnsys17. This cost's optimization has to take into account the energetic consumption of the building and the construction's cost. I would like to use a logical function (if condition) to define a cost in function of the choice of the window.
I tried to define my function in the ObjectiveFunctionLocation using this java code
Name1= Cost; Function1="if (%window% == 2006) {1 }else {2}";
But it seems that it doesn't work this way. Could you explain me how to handle my problem ?
Thank you

Elise

_______________________________________________
TRNSYS-users mailing list
TRNSYS-users@lists.onebuilding.org
http://lists.onebuilding.org/listinfo.cgi/trnsys-users-onebuilding.org




--
--
Amr Alaaeldin Elesawy

PhD Student | Building Engineering
Department of Architecture, Built Environment and Construction Engineering (A.B.C.)
Politecnico di Mil
ano, Italy
+39 327 056 0018