Skip to main content

Posts

Showing posts from 2019

Matrix Transfer between MATLAB and Ansys

Matrix Transfer*
Reading and writing matrix or arrays to MATLAB and back can be painstaking as described by SimuTech in a well written article using *TREAD or *VREAD. Wouldn't it be great to have someone else do the heavy lifting for you on formatting etc?

Fortunately there is a Matrix Market format sponsored by NIST that is also supported by Ansys and Matlab. There are two very useful MATLAB functions created just for this purpose:

mmread.m  for reading in the Market Matrix file into MATLABmmwrite.m for writing the matrix into a Matrix Market file
Writing Matrix or Arrays from Ansys to be Read by MATLAB
In Ansys...
/prep7
*dim, c,, 10,10, 1 ! Example Matrix
enow = 0
*do, ct, 1, 10        
*do, ct2, 1, 10
        c(ct,ct2) = ct*ct2
*enddo    
*enddo    

!!! Writes out Matrix to matlab
*dmat, exportmatrix, D, import, APDL, c ! export to matrix file
*export, exportmatrix, mmf, mytemp.mtx

In MATLAB, the command is simply...
c = mmread('mytemp.mtx'); % mmread.m must is in working directory