[TRNSYS-users] Changing a parameter to input in components
Jaime Gonzalez Rodriguez
gonzalezro.jaime at gmail.com
Mon Jul 12 17:05:12 PDT 2010
I forgot to change something in your code, now it's all right =)
On 13 July 2010 02:03, Jaime Gonzalez Rodriguez
<gonzalezro.jaime at gmail.com>wrote:
> well, you just have to find the code of the type you wanna change, for
> instance type212.for or whatever...then, as David said you have to change
> the parameter to input, I'll do it in the code that you pasted before so
> that you can see an example, anyway my trnsys function library seems to be
> kind of different to yours, but this should work.
>
> Other topic is how to recompile it, I guess you should create a project and
> set the right options to the compiler, you've got two options.
>
> 1. Copy the options of the project that trnsys created for you with the
> type you have built before, those options should be the same
>
> 2. Create a new component, create the .tmf with the number of parameters,
> inputs and outputs that you want, and then copy and paste the code, be
> carefull with this, don't paste the part where you define the number of
> parameters or the part with the type number, just the core of the code, I
> mean, the part where you carry out the calculations.
>
> I preffer the option 2 because I am too lazy to fight with windows
> compilers, but the first option might be better.
>
>
> When I started programming types I didn't remember much about fortran cuz I
> was programming C and other languages (mostly matlab which is the easiest)
> for a long time and I had forgotten almost everything from university, it
> was a nice exercise to read a code of a type and try to understand
> everything. If I were you I'd try so.
>
>
> Regards and good luck with fortran =)
>
>
>
>
> -------------------------------------------------------------------------------------------------------------------------------------------------------
>
> !Do All of the "Very First Call of the Simulation Manipulations" Here
>
> If(getIsFirstCallofSimulation()) Then
>
>
>
> !Tell the TRNSYS Engine How This Type Works
>
> !Call SetNumberofParameters(1) !The
> number of parameters that the the model wants
>
> Call SetNumberofParameters(0) !The
> number of parameters that the the model wants
>
> !Call SetNumberofInputs(1) !The
> number of inputs that the the model wants
>
> Call SetNumberofInputs(2) !The
> number of inputs that the the model wants
>
> Call SetNumberofDerivatives(0) !The number
> of derivatives that the the model wants
>
> Call SetNumberofOutputs(1) !The
> number of outputs that the the model produces
>
> Call SetIterationMode(1)
> !An indicator for the iteration mode (default=1). Refer
> to section 8.4.3.5 of the documentation for more details.
>
> Call
> SetNumberStoredVariables(0,0) !The number of static
> variables that the model wants stored in the global storage array and the
> number of dynamic variables that the model wants stored in the global
> storage array
>
> Call SetNumberofDiscreteControls(0)
> !The number of discrete control functions set by this model (a value greater
> than zero requires the user to use Solver 1: Powell's method)
>
>
>
> Return
>
>
>
> EndIf
>
>
> !-----------------------------------------------------------------------------------------------------------------------
>
>
>
>
> !-----------------------------------------------------------------------------------------------------------------------
>
> !Do All of the First Timestep Manipulations Here - There Are No Iterations
> at the Intial Time
>
> If (getIsFirstTimestep()) Then
>
> !par = getParameterValue(1) I comment this line cuz u won't need it
> anymore
>
>
>
>
>
> inp1 = GetInputValue(1)
>
> inp2 = GetInputValue(2)
>
>
>
>
>
> !Check the Parameters for Problems (#,ErrorType,Text)
>
> !Sample Code: If( PAR1 <= 0.) Call FoundBadParameter(1,'Fatal','The
> first parameter provided to this model is not acceptable.')
>
>
>
> !Set the Initial Values of the Outputs (#,Value)
>
> Call SetOutputValue(1, 0) ! opt
>
>
>
>
>
> !If Needed, Set the Initial Values of the Static Storage Variables
> (#,Value)
>
> !Sample Code: SetStaticArrayValue(1,0.d0)
>
>
>
> !If Needed, Set the Initial Values of the Dynamic Storage Variables
> (#,Value)
>
> !Sample Code: Call SetDynamicArrayValueThisIteration(1,20.d0)
>
>
>
> !If Needed, Set the Initial Values of the Discrete Controllers (#,Value)
>
> !Sample Code for Controller 1 Set to Off: Call
> SetDesiredDiscreteControlState(1,0)
>
>
>
> Return
>
>
>
> EndIf
>
>
> !-----------------------------------------------------------------------------------------------------------------------
>
>
>
>
> !-----------------------------------------------------------------------------------------------------------------------
>
> !ReRead the Parameters if Another Unit of This Type Has Been Called Last
>
> If(getIsReReadParameters()) Then
>
> !Read in the Values of the Parameters from the
> Input File
>
> !par = getParameterValue(1) Since you don't have parameters you won't
> need this neither
>
>
>
>
>
> EndIf
>
>
> !-----------------------------------------------------------------------------------------------------------------------
>
>
>
> !Read the Inputs
>
> inp1 = GetInputValue(1)
>
> inp2 = GetInputValue(2)
>
>
>
>
>
> !Check the Inputs for Problems (#,ErrorType,Text)
>
> !Sample Code: If( IN1 <= 0.) Call FoundBadInput(1,'Fatal','The
> first input provided to this model is not acceptable.')
>
>
>
> If(ErrorFound()) Return
>
>
>
> ! finally where you calculated the value of the formula you should
> change PAR1 for IN2
> OUT1=IN1+IN2
> ! DON'T FORGET TO ADD THE DECLARATION OF THE VARIABLE IN2 AND DELETE THE
> DECLARATION OF PAR1
> ! Note: As far as you declare the variables you can call them with any
> name you want, it does not have to be
> Double IN1
> Double IN2
> it could be
> Double SPAINWORLDCHAMPIONS
> Double whatever
>
>
>
>
>
> On 12 July 2010 21:04, Mehdi Shahrestani <mahdishahrestani at yahoo.com>wrote:
>
>> Dear David
>>
>>
>>
>> Thanks for your reply
>>
>> To be honest I try to change the script but I don’t know how I can
>> recompile the edited file.
>>
>> I was wondering if you could give me some hints about recompiling an
>> edited fortran file.
>>
>>
>>
>> Regards
>>
>> Mehdi Shahrestani
>>
>>
>>
>>
>>
>>
>> ------------------------------
>>
>> *From:* David Bradley [mailto:bradley at tess-inc.com]
>> *Sent:* 12 July 2010 18:16
>> *To:* mehdi
>> *Cc:* trnsys-users at cae.wisc.edu
>> *Subject:* Re: [TRNSYS-users] Changing a parameter to input in components
>>
>>
>>
>> Mehdi,
>> In addition to changing the proforma, you also need to modify and
>> recompile the Fortran code of the Type and change the number of parameters
>> and inputs that it expecting to be passed.
>> Best,
>> David
>>
>>
>> On 7/11/2010 17:37, mehdi wrote:
>>
>> Hello everybody
>>
>>
>>
>> I have a question about changing a “Parameter” into “Input” in components.
>>
>>
>>
>> For example in a pipe component, I have changed one of parameters to input
>> (in Performa) but after run there were two errors mentioned that
>>
>> There is one missed parameter and one more than normal input.
>>
>>
>>
>> I think there should be a way to solve such a problem.
>>
>> I was wondering if anybody could give some advice.
>>
>>
>>
>> Regards
>>
>> Mehdi Shahrestani
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>> TRNSYS-users mailing list
>>
>> TRNSYS-users at cae.wisc.edu
>>
>> https://www-old.cae.wisc.edu/mailman/listinfo/trnsys-users
>>
>>
>>
>>
>>
>> --
>>
>> ***************************
>>
>> David BRADLEY
>>
>> Principal
>>
>> Thermal Energy Systems Specialists, LLC
>>
>> 22 North Carroll Street - suite 370
>>
>> Madison, WI 53703 USA
>>
>>
>>
>> P:+1.608.274.2577
>>
>> F:+1.608.278.1475
>>
>> bradley at tess-inc.com
>>
>>
>>
>> http://www.tess-inc.com
>>
>> http://www.trnsys.com
>>
>>
>> _______________________________________________
>> TRNSYS-users mailing list
>> TRNSYS-users at cae.wisc.edu
>> https://www-old.cae.wisc.edu/mailman/listinfo/trnsys-users
>>
>>
>
>
> --
> Jaime. González Rodríguez
>
--
Jaime. González Rodríguez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.onebuilding.org/pipermail/trnsys-users-onebuilding.org/attachments/20100713/b0371431/attachment-0005.htm>
More information about the TRNSYS-users
mailing list