Difference between revisions of "Contrib:Dbpatankar/HT1"
Dbpatankar (Talk | contribs) (→How to extract a value from a table using python) |
Dbpatankar (Talk | contribs) (→How to extract a value from a table using python) |
||
Line 131: | Line 131: | ||
2. Now extract this table into a variable say VAR, by | 2. Now extract this table into a variable say VAR, by | ||
VAR = TBL.EXTR_TABLE(); | VAR = TBL.EXTR_TABLE(); | ||
− | 3. This variable VAR will have many attributes, 'values' attribute is the one which is of our interest for this case. | + | 3. This variable VAR will have many attributes, '''values''' attribute is the one which is of our interest for this case. |
VAR.values() is actually a python dictionary. For the above table, VAR.values() will look like : | VAR.values() is actually a python dictionary. For the above table, VAR.values() will look like : | ||
VAR.values() = {'NOEUD': ['N64 ', 'N113 ....],'COOR_X':[1.19......],'COOR_Y':[........],'COOR_Z':[.........],'DX':[........],'DY'[........],'DZ':[.........]} | VAR.values() = {'NOEUD': ['N64 ', 'N113 ....],'COOR_X':[1.19......],'COOR_Y':[........],'COOR_Z':[.........],'DX':[........],'DY'[........],'DZ':[.........]} | ||
− | Now I will call 'NOEUD', 'COOR_X', 'COOR_Y', 'COOR_Z', 'DX', 'DY', 'DZ' as fields of the table. | + | Now I will call 'NOEUD', 'COOR_X', 'COOR_Y', 'COOR_Z', 'DX', 'DY', 'DZ' as '''fields''' of the table. |
Note : Actual table will contain many other 'fields' such as 'INTITUTE', 'RESU',...... | Note : Actual table will contain many other 'fields' such as 'INTITUTE', 'RESU',...... | ||
4. Now if I want to access DZ component of node N425 then, | 4. Now if I want to access DZ component of node N425 then, |
Latest revision as of 13:52, 11 April 2011
How to extract a value from a table using python
Say you performed some calculation with your model and extracted your results in a table using POST_RELEVE_T. Lets say that table is named TBL.
This table is table of coordinate points and displacement values at nodes.
The table is something like :
NOEUD | COOR_X | COOR_Y | COOR_Z | DX | DY | DZ |
---|---|---|---|---|---|---|
N64 | 1.19966E+00 | -1.15865E-05 | -1.63838E-03 | 1.81394E-03 | -2.07795E-03 | 1.04842E-02 |
N113 | 1.49962E+00 | -1.11233E-05 | -2.36240E-03 | 2.05956E-03 | -3.07869E-03 | 1.53553E-02 |
N159 | 9.11231E-23 | 1.27977E-22 | -1.81301E-23 | 0.00000E+00 | 0.00000E+00 | 0.00000E+00 |
N270 | 2.69957E+00 | -1.25319E-05 | -5.68127E-03 | 2.48677E-03 | -7.80872E-03 | 3.84270E-02 |
N346 | 1.79960E+00 | -1.15171E-05 | -3.14862E-03 | 2.24653E-03 | -4.18034E-03 | 2.07363E-02 |
N372 | 2.09958E+00 | -1.14958E-05 | -3.97566E-03 | 2.37691E-03 | -5.36016E-03 | 2.64737E-02 |
N425 | 8.99711E-01 | -1.07778E-05 | -1.00118E-03 | 1.51058E-03 | -1.22664E-03 | 6.28355E-03 |
N461 | 2.99957E+00 | -1.31310E-05 | -6.54018E-03 | 2.50928E-03 | -9.04506E-03 | 4.44634E-02 |
N500 | 2.39957E+00 | -1.20486E-05 | -4.82397E-03 | 2.44765E-03 | -6.57507E-03 | 3.24065E-02 |
N770 | 5.99787E-01 | -1.29910E-05 | -4.84976E-04 | 1.07209E-03 | -5.34566E-04 | 2.96552E-03 |
N851 | 2.99877E-01 | -1.43431E-05 | -1.34048E-04 | 6.04560E-04 | -7.56027E-05 | 7.79659E-04 |
Task : To extract DZ value at node N425.
1. Create a table using POST_RELEVE_T having required values(as shown above). Say that table is TBL.
TBL = POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION', # For Extraction of values INTITULE=Nodal Displacements[m], # Name of the table in .resu file RESULTAT=RESU, # The result from which values will be extracted(STAT_NON_LINE) NOM_CHAM=('DEPL',), # Field to extract. DEPL = Displacements NOM_CMP=('DX','DY','DZ',), # Components of DISP to extract GROUP_NO='DISP', # Extract only for nodes of group DISP NUME_ORDRE=10, # STAT_NON_LINE calculates for 10 INST. I want only last INST PAGINATION=('INTITULE', # PAGINATION helps in formatting the table 'RESU', # instead of explaining it, I will suggest you to run the code twice, 'NOM_CHAM', # first with PAGINATION and then by commenting the PAGINATION block 'NUME_ORDRE', # and check the resulting table in .resu file for both the cases. 'INST', 'ABSC_CURV',), ), ), );
2. Now extract this table into a variable say VAR, by
VAR = TBL.EXTR_TABLE();
3. This variable VAR will have many attributes, values attribute is the one which is of our interest for this case.
VAR.values() is actually a python dictionary. For the above table, VAR.values() will look like :
VAR.values() = {'NOEUD': ['N64 ', 'N113 ....],'COOR_X':[1.19......],'COOR_Y':[........],'COOR_Z':[.........],'DX':[........],'DY'[........],'DZ':[.........]}
Now I will call 'NOEUD', 'COOR_X', 'COOR_Y', 'COOR_Z', 'DX', 'DY', 'DZ' as fields of the table. Note : Actual table will contain many other 'fields' such as 'INTITUTE', 'RESU',......
4. Now if I want to access DZ component of node N425 then,
(VAR.values().['DZ'])[6]; This will give me value 6.28355E-03, which is what I want.
5. So now I can assign any variable name to it :
myvar = (VAR.values().['field'])[index]; will do the necessary trick.
6. Now one can use for loop in python and assign every single DZ value to different variables(if one wishes so).