Skip to main content


Showing posts from 2019

Advice for Enterprising Engineers

This post fits squarely in "other thoughts" category. Some engineers asked for my advice on advancing their careers. To avoid giving bland advice, I hope these strategic view might help guide their decisions.
Be a Hero What does it mean to "Be a Hero"? It means you have to achieve something many people in the company will say is significant. It could be improving a tedious process, solving a customer issue that's been a pain in the rear for too long or introduce a tool that solves an unsolvable problem in the past. Let's call these "Hero Problems".

To be a hero, you will have to first develop an understanding of what the company needs. All companies will have their share of problems. Ask around, pay attention when coworkers say phrases like "I wish we could..." or "this is ridiculous, we should...". These offer clues on real Hero Problems.

But why? Why should this be a strategy? It is because in this framework, it is the "…

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...
*dim, c,, 10,10, 1 ! Example Matrix
enow = 0
*do, ct, 1, 10        
*do, ct2, 1, 10
        c(ct,ct2) = ct*ct2

!!! 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