From: <mar...@di...> - 2015-12-18 10:51:27
|
Hi John, I didn't receive your answer back then (did just check my mails...no mail from you on that date...very strange). I need to transpose the matrix \Psi_{nm} = exp(-(a_{nm}+b_{nm}*T+c_{nm}*T^2)/T) to \tau_{mi} = \Psi_{nm} a, b and c are the interaction parameters which are stored in the modified UNIFAC + PSRK database provided by the UNIFAC Consortium (http://unifac.ddbst.de/). Later the matrix has to be multiplied with another matrix. There is an excel sheet from which one can learn how the calculations are carried out: www.egr.msu.edu/~lira/computer/EXCEL/ACTCOEFF.XLS It's quite a hassle to understand PSRK (SRK + Mathias Copeman + modified UNIFAC group contribution method) only with literature since equations/variables change quite often depending on the paper and the equation system isn't always complete. I would like to document the whole equation system and the calculation in the wiki. Could you make me an account for the wiki? A password for the svn repo would also be great! Considering the fixed physical properties database: The JSON suggestion sounds very interesting. Loïc d'Anterroches and his chemeo project (https://www.chemeo.com/) has just recently released an API for the property database also based on JSON. Maybe one could try to connect Ascend with Chemeo for receiving (online or even just downloading the whole database via the API) property data in the future. Have to dig through the whole ascend/linear folder the next days to understand how the C code interacts with ascend. I'll keep you posted how I will progess. So a wiki and svn account would be great! ;) Cheers, mark > > ------------------------------ > > Message: 4 > Date: Sun, 8 Nov 2015 11:03:05 +1100 > From: John Pye <joh...@an...> > Subject: Re: [ASCEND] PSRK Model > To: <asc...@li...> > Message-ID: <563...@an...> > Content-Type: text/plain; charset="windows-1252"; format=flowed > > Hi Mark > > That sounds great! Did you implement this as part of FPROPS, or > something new? > > I'm not immediately clear why you need matrix operations here. Perhaps > you could explain that to me. Actually, ASCEND doesn't contain a full > set of matrix operation routines -- it isn't needed in there. There is > the fairly extensive sparse matrix code, 'mtx' > (ascend/linear/mtx_basic.h for example). There is also a small dense > matrix data structure (ascend/linear/densemtx.h) with a few minor > operations provided. But if you want complete set of matrix tools, > consider blas/linpackYou can link to BLAS/LAPACK (dense) or > csparse/cxsparse (sparse), if you really need those features. We're > already linking those in ASCEND in some places, in some cases, so it's > certainly possible. > > Regarding the SQLite database idea, you will see lots of data for fluid > properties currently coded in C structs, for example > http://code.ascend4.org/ascend/trunk/models/johnpye/fprops/fluids/ammonia.c?view=markup > > These are the kinds of structures we would need to be able to encode in > database form. Certainly it's possible, but I think it's going to get > fairly complex fairly quickly. Another idea I thought of was to use XML > or some other markup language (YAML? JSON?) as the 'store' for FPROPS > data, but then to process that down to C code at compile time, so that > no complicated dependencies in the runtime code are needed. > > Another point to raise is that we recently implement TTSE routines for > FPROPS. This is still alpha, not merged to trunk, but it's an example > in > FPROPS where a *lot* of pre-calculation is required, which can > certainly > be considered for storage in a file or database. Whether SQLite is the > best option, I couldn't say. > > If you would like to add your code to a branch in our svn repo, please > me know and I can set up a password for you. > > Cheers > JP > > On 08/11/15 03:11, mar...@di... wrote: > Hi there, > I managed quite a deal for setting up a PSRK model for ascend. > > What's missing?: Transposing a matrix and multiplying two matrices. > Has somebody already written some functions for matrix algebra in C and > wrapped them? Otherwise I will beginn with that the next days by > following this HOWTO: > http://ascend4.org/Writing_ASCEND_external_relations_in_C > > When the PSRK model finally works I want to set up a SQLite database > for > all the thermodynamic and physical property data by tackling this task: > http://ascend4.org/Student_Projects#Thermophysical_properties_database > > Cheers, > mark > > > ------------------------------------------------------------------------------ > _______________________________________________ > Ascend-sim-users mailing list > Asc...@li... > https://lists.sourceforge.net/lists/listinfo/ascend-sim-users |