Stanum
Civil/Environmental
- Mar 8, 2015
- 42
Good day everyone.
I am trying to create my own topology optimisation routine in Ansys. At the moment I am trying to implement the filter proposed by Bendose and Sigmond in their 88 line matlab code. To do so I have to create a matrix n_elem x n_elem, filled with center distances between element i and j, or if this distance exceeds r_min then this cell is filled with 0.
The problem is that this matrix can be extremely large. To solve this problem in the aforementioned work sparse matrix has been utilized. I tried to do the same, but as far as I know the only way to create sparse matrix is to transform a dense matrix into one. But to do so when matrix is big I need to keep the dense matrix outofcore.
But here is the main problem, I can not export such matrix anywhere, but not only I cannot export this matrix, but also none of the matrices produced by operating on the original one.
Here is some code example:
*DMAT, test1, d, ALLOC, 10, 10, inCORE
*DMAT, test1_1, d, ALLOC, 10, 10, outofCORE
*do,i,1,10
test1(i, i)=1
test1_1(i, i)=test1(i, i)
*enddo
*EXPORT, test1_1, mmf, topology5_test11
*EXPORT, test1, mmf, topology5_test1
*EXPORT, test1, apdl, test01, 1, 10
*EXPORT, test1_1, apdl, test01_1, 1, 10
I am trying to create my own topology optimisation routine in Ansys. At the moment I am trying to implement the filter proposed by Bendose and Sigmond in their 88 line matlab code. To do so I have to create a matrix n_elem x n_elem, filled with center distances between element i and j, or if this distance exceeds r_min then this cell is filled with 0.
The problem is that this matrix can be extremely large. To solve this problem in the aforementioned work sparse matrix has been utilized. I tried to do the same, but as far as I know the only way to create sparse matrix is to transform a dense matrix into one. But to do so when matrix is big I need to keep the dense matrix outofcore.
But here is the main problem, I can not export such matrix anywhere, but not only I cannot export this matrix, but also none of the matrices produced by operating on the original one.
Here is some code example:
*DMAT, test1, d, ALLOC, 10, 10, inCORE
*DMAT, test1_1, d, ALLOC, 10, 10, outofCORE
*do,i,1,10
test1(i, i)=1
test1_1(i, i)=test1(i, i)
*enddo
*EXPORT, test1_1, mmf, topology5_test11
*EXPORT, test1, mmf, topology5_test1
*EXPORT, test1, apdl, test01, 1, 10
*EXPORT, test1_1, apdl, test01_1, 1, 10