Ask Your Question

txc's profile - activity

2019-05-03 01:37:30 -0500 received badge  Famous Question (source)
2019-04-29 22:51:13 -0500 answered a question Call a external .dll from the fortran user model

I am assuming you have the external dll and also the fortran code that was used to compile this dll (say we name this dll A). What you can do in your fortran code is call the subroutines that are in the dll A. Say the dll A has a subroutine called plcmodel(mc,slot), you can in your fortran code, call this subroutine plcmodel with proper arguments defined. You can then use the environment manager to compile both the fortran codes into one dll say dsusr.dll and then share with whoever you want to.

If you only have the dll A and not the fortran code that was used to compile the dll A, then you can't do what you intend to. However if you have the object file, you can do the above.

If you want to know which subroutines are called in the dll A, you can use a free software called dependency Walker that tells you what subroutines are exported in the dll.

2019-04-24 08:53:40 -0500 received badge  Notable Question (source)
2019-04-22 23:37:27 -0500 received badge  Popular Question (source)
2019-04-22 15:49:06 -0500 asked a question User written model with internal integration method

I am trying to write a simple exciter model, eg the SEXS model with my own integration method (internal solver) without using any states and dstates in my model.(I have already written it using the traditional way of using the elementary blocks method). However, now, I don't want to use PSS/E's internal integration routine, rather use my own method, like the forward Euler method for example. I want to use vars to store the state variables information. Does anyone have a working example. Any help will be much appreciated.

2019-03-13 07:45:12 -0500 answered a question Turbine Load Controller Models

Pmwset is the supervisory control input and is stored in the lcref array. Pref0 is probably the initial power reference.

Now as you update the lcref to a set point calculated by the agc, the supervisory control is implemented. Some governor models like ggov1 has the pmwset stored in a variable, like var(l+6) in case of ggov1, other governor models dont. So you have to use the lcfb1 in conjunction with your governor model, say like ieeeg1, pidgov, you can make use of this load controller model to take advantage of this functionality.

2019-03-05 21:52:06 -0500 commented answer "Connection Tables Full" when running dyre for dynamic simulation

Psse education version only allows 1 relay model. You can't add more than 1 relay model

2019-03-05 21:41:50 -0500 commented answer How to ramp the value of exciter output voltage in dynamic simulation?

User exciter models are pretty straightforward to write, in this case will just have to manipulate your efd in mode 3 as per your needs

2019-03-05 21:38:57 -0500 commented question Uresolved external symbol error when compiling an UDM

It looks like that the subroutine of spstry2 has two arguments of 4 bits each, the compiler complains for having 16 bits, so change your argument to spstry2(m,j,k,l) where the arguments are starting indexes for icons, cons, states and vars. Recompile with these changes should work

2019-03-05 21:32:27 -0500 commented answer Model writing and Create User DLL

You can send me your email Id to and I will be more than glad to help with your questions

2019-03-05 21:28:52 -0500 commented answer Model writing and Create User DLL

Instead of using lpdev use the DBUF statement which writes into a buffer and format statements. So if you need to put the value of state(k), your code should be like this Write (DBUF01,107) state(k) Format statement would be 107 FORMAT(F12.4)

2019-02-25 12:01:40 -0500 answered a question configure or write my own user model of power system stabilizer in PSS/E

Sure, let me know what are you looking at modifying in the existing stabilizer model. Would be willing to help if you are interested in writing an user model for a stabilizer.

2018-12-25 22:16:22 -0500 commented answer PV and WTG Step Change

Now for changing p and q set points, you can write a model to change the wpcmd, wqcmd which will give you the desired response

2018-12-25 22:16:22 -0500 received badge  Commentator
2018-12-22 18:15:09 -0500 commented answer Do anyone know how to use DCLF in psse?

This means that the dclf blows up while making the assumptions going from ac solution to the DC solution. Check your ac solution and see if you get a correctly solved case. See if there any mismatches.

2018-12-22 18:11:41 -0500 answered a question PV and WTG Step Change

Take a look at the VARs available in the reeca, reecb, reecc models. Changing those VARs can be used to stimulate a step change for getting response for the renewable models. If the VARs are not available, you can always write a machine model that changes the wpcmd, wqcmd to get your desired simulation response.

2018-12-16 16:41:53 -0500 commented answer UDM with vars and states equal to zero during dynamic simulation

Alternatively, have IC = 2 and you could write your logic for getting your stability index in the TEntry part of your model code. Hope this helps

2018-12-16 15:22:34 -0500 commented answer UDM with vars and states equal to zero during dynamic simulation

Several other changes are required in your model. I would suggest you taking the advanced model writing course from PTI It is really helpful

2018-12-16 15:20:28 -0500 commented answer UDM with vars and states equal to zero during dynamic simulation

Also it depends on the type of model you are writing. I believe it's not a current injection model. So you will not need to write the tentry of your model so your IT in the dyre record will be 0 I believe

2018-12-16 15:17:19 -0500 commented answer UDM with vars and states equal to zero during dynamic simulation

By j = strtcct(1,slot) K = strtcct(2,slot) etc The dyre record for your model will be like MINS, ‘USRMSC’, ‘MYMODEL’, IC, IT NI, NC, NS, NV, ICON data, CON data / IC will be 512 for mins type model. Mins no will be a unique no like what you use for vtgtpat, frqtpat models

2018-12-16 15:14:43 -0500 commented answer UDM with vars and states equal to zero during dynamic simulation

You have to then write it as a miscellaneous model or what is called as a mins model. The argument of these models as mins, slot. These type of models dont require an equipment to be connected in power flow. Now get the icons, cons, cars, states starting locations

2018-12-15 23:28:35 -0500 commented answer UDM with vars and states equal to zero during dynamic simulation

Next, the arguments of your model should be IB, SLOT, where IB is the bus index to where machine is connected. Slot is the array location of table index. IB = NUMTRM(MC), MC is machine index. Secondly j,k,l,m should be defined as j=strtin(1,slot), k=strtin(2,slot), l=strtin(3,slot), M=strtin(4,slot)

2018-12-15 23:24:50 -0500 commented answer UDM with vars and states equal to zero during dynamic simulation

A lot of stuff needs to change in your model. Firstly it is not clear what is the model category? Is it a machine model? Or a bus based model? If it's a machine model then the bus should have an equipment connected to it.

2018-12-15 23:21:35 -0500 received badge  Enthusiast
2018-12-13 21:06:31 -0500 answered a question UDM with vars and states equal to zero during dynamic simulation

Can you see the model getting loaded in the gui? If your mode 8 is corrected properly double click the model and you should see the cons and icons description. Is your dyre record correct? Is mode 5, 6 coded? Try to do a docu and see the output in the progress. Is the dye record of your model correct? I can help in correcting your model code if you are willing to share the fortran code

2018-12-13 13:18:44 -0500 received badge  Teacher (source)
2018-11-30 19:25:35 -0500 commented question Bus net MW injection or extraction - Through flow

You can write a simple bus other model and call the flow1 function and assign the MW and MVAr flow to VARs in your model. You will be able to get the flows in the line. For Flow1 function, take a look at model documentation

2018-11-30 19:15:01 -0500 answered a question Offshore Wind not converged

Try to use the second generation renewable model like regcau1, reecau1 instead of the wt4g and wt4e which have inherent network non convergence issues. The regc model has an angle smoothing ability which might help. You are correct in changing the dynamic simulation parameters. Other thing you can do is turn on the convergence monitor and see the bus which creates the non convergence. Please note however that if you have just some non convergence messages, it's not a big deal. Only if you have sustained non convergence messages, then you might not be able to trust your results.

2018-11-30 19:09:43 -0500 answered a question Equivalent Grid Representation for Dynamic Analysis

Not sure what you are trying to accomplish, however if you want to simulate an equivalent grid representation, you can use the classical generator GENCLS ith high inertia by using a dye record like 99999 'Gencls' 1 999.0 0.0. / Assuming you a generator modeled at bus 99999 in load flow

2018-11-30 18:51:43 -0500 answered a question How to sum parallel line / transformers power flows using python code?

If you want to get the MW, MVAr flows, you can write a simple bus other model in Fortran and call the FLOW1 function. You can see the details of the FLOW1 function in the Models documentation. Assign the MW, MVAr flows to VARs and extract them.

2018-11-30 18:46:39 -0500 answered a question Do anyone know how to use DCLF in psse?

NaN is a PSS/E way of telling the user that the output is junk or Not a Number. Could you elaborate what you are exactly trying to accomplish

2018-11-30 18:45:21 -0500 answered a question User defined model code in different fortran files

Wha you could do is break down your user written fortran code into multiple subroutines and then go ahead and create the dll. You can simply create just one dll for all the different fortran .for files. By clicking on Show Progress in Environment manger, and using a text editor eg: notepad++ or ultraedit, the Environment manager shall be able to tell you exactly which line is your code incorrect

2018-11-30 18:40:51 -0500 received badge  Editor (source)
2018-11-30 18:34:03 -0500 answered a question ¿what does it mean the line code INCLUDE COMON4.INS in the PSS/E user written model examples ?? also , what is BADMID?

You will have to compile your fortran code using the Environment manager to create a dsusr.dll. What you should do you in open the Environment manager, select the installed PSS/E version and select the place where your fortran files are in your computer. Once you do that, you will need to click compile + create dll. Depending on your code, Environment manager will create a dsusr.dll for you. However, you will have to install Intel Visual Fortran compiler with shell which will compile your fortran code. The easiest way to see if you have the compiler is to create a dsusr.dll from conect.flx and conet.flx which is available in the PSSE example folder in this location c:\programs86\pti\psse\example