Welcome, Guest |
You have to register before you can post on our site.
|
Latest Threads |
Compiler Error for Prefer...
Forum: MYSTRAN
Last Post: Admin
02-23-2021, 06:25 PM
» Replies: 1
» Views: 17
|
Femap with Mystran
Forum: Pre/Post Processors
Last Post: SamiH.
02-18-2021, 12:05 PM
» Replies: 2
» Views: 57
|
ComLab
Forum: NASTRAN-95
Last Post: Admin
02-10-2021, 07:47 AM
» Replies: 0
» Views: 70
|
2/23/2021 UPDATE
Forum: MYSTRAN
Last Post: Admin
02-04-2021, 04:54 AM
» Replies: 1
» Views: 1,417
|
CURRENT AND ARCHIVE VERSI...
Forum: MYSTRAN
Last Post: Admin
02-04-2021, 04:54 AM
» Replies: 3
» Views: 4,934
|
pyNastran
Forum: Pre/Post Processors
Last Post: mesheb82
12-24-2020, 04:09 PM
» Replies: 4
» Views: 906
|
Successful addition of sp...
Forum: MYSTRAN
Last Post: drbillc
12-21-2020, 10:12 PM
» Replies: 0
» Views: 394
|
SOURCE CODE AND COMPILING
Forum: MYSTRAN
Last Post: Admin
12-04-2020, 03:15 AM
» Replies: 2
» Views: 3,871
|
Steps to build third part...
Forum: MYSTRAN
Last Post: ceanwang
11-16-2020, 12:46 AM
» Replies: 2
» Views: 723
|
Trying to add sparse matr...
Forum: MYSTRAN
Last Post: ceanwang
10-28-2020, 04:37 AM
» Replies: 4
» Views: 1,111
|
|
|
Compiler Error for Preferred Option - Windows |
Posted by: Admin - 02-23-2021, 06:24 PM - Forum: MYSTRAN
- Replies (1)
|
 |
[ 97%] Linking Fortran executable Binaries\mystran.exe D:/Program_Files/MYSTRAN/msys2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0\libgfortran.a(read.o)Sad.text$_gfortrani_convert_real+0xb7): relocation truncated to fit: IMAGE_REL_AMD64_REL32 against undefined symbol
strtoflt128'
D:/Program_Files/MYSTRAN/msys2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0\libgfortran.a(read.o)Sad.text$_gfortrani_convert_infnan+0xb3): relocation truncated to fit: IMAGE_REL_AMD64_REL32 against undefined symbol
strtoflt128' collect2.exe: error: ld returned 1 exit status mingw32-make[2]: [CMakeFiles\mystran.dir\build.make:23351: Binaries/mystran.exe] Error 1 mingw32-make[1]: [CMakeFiles\Makefile2:562: CMakeFiles/mystran.dir/all] Error 2 mingw32-make: *** [Makefile:148: all] Error 2
|
|
|
Femap with Mystran |
Posted by: SamiH. - 02-17-2021, 09:22 AM - Forum: Pre/Post Processors
- Replies (2)
|
 |
Hi,
I am experimenting with Mystran with Femap and would like to share and have comments on the observations, and after all would appreciate help to adjust the settings correctly. These may be sometimes Femap related questions or issues but also Mystran related. I have only done one analysis and haven't checked the Mystran documentation very carefully so that these might be more of a rookie type questions/observations.
First of all I am impressed how well the key results are in line with Simcenter Nastran results without any adjustments at all. Here's what I've done:
- opened up a random FE model consisting of plate elements, some glue contacts, and few RBE2 elements. The analysis for this had been done earlier using Simcenter Nastran.
- exported the analysis model (without any adjustments, i.e. Simcenter Nastran version)
- run it with Mystran
- imported the Femap neu file
The few things that caught my eye comparing the results:
- The deformation looks very similar by eye
- the max total translation in Simcenter Nastran was 1.883 mm and RSS translation in Mystran 1.909 mm, so no big difference (1.4 %)
- the max vonMises bot stress differs quite a lot but this is difficult to compare. See next observations.
- the result scale (contour levels) is something odd. For these translations (max 1.909 mm) the scaling is from 0 to 1.826E+10 when it should be from 0 to 1.909. Of course I can change it manually but for automatic detection it seems to have some kind of scaling issue.
- the scaling issue seems to be the problem for dynamic rotation also. When tried to rotate the model even slightest of rotation will throw the model off the screen somewhere in the space and in practice the rotation can not be done.
- the element results are shown in transparent type of way in which it is difficult to observe which element is which when front and back and all in between are in a same spot. I couldn't figure out how to change this. This is not the same transparency as in Femap but something related to the results.
- the result vectors are numbered very differently from Nastran. There is also separated results for QUADs and TRIAs which is perhaps not very necessary but inconvenient sometimes
Has anyone any ideas how to improve the performance of Mystran results in Femap related to above mentioned observations? Can I adjust something somewhere?
|
|
|
Successful addition of sparse solver SuperLU to MYSTRAN |
Posted by: drbillc - 12-21-2020, 10:12 PM - Forum: MYSTRAN
- No Replies
|
 |
With the help of Cean Wang I was able to get the sparse solver SuperLU downloaded and compiled into 2 libraries, libsuperlu.a and libblas.a . Using these, along with the c routine: c_fortran_dgssv.o I modified MYSTRAN's LINK3 solution of the L-set displacements (from the equation KLL*UL = PL) to run using SuperLU as a sparse solver. I ran a series of test problems, for which I have known solutions, to see how SuperlU performed. The series of test problems were of a square, simply supported, thick plate under a pressure load. I ran successively larger meshes up to a maximum of 800x800 plate elements with 1,920,000 L-set degrees of freedom (DOF). SuperLU ran all of the test problems successfully up to the almost 2 million degree of freedom problem (but took an excessive amount of time for this largest DOF run). The banded solver (LAPACK) couldn't come close to running anything this large. It would have required almost 40 GB of storage for the banded KLL array LAPACK uses. LAPACK couldn't even run the smaller 500x500 mesh problem with 750,000 L-set DOF. LAPACK needed 9 GB in this case but Windows will not allocate more than 2 GB to any array
There are a number of other subroutines (approximately 10) in MYSTRAN that need to be modified to take advantage of this new sparse solver. For example, reduction of the G-set stiffness matrix, KGG, to the N-set involves eliminating the dependent DOF identified on MPC's and rigid elements. However, for the test problems mentioned above, none of these effects in the 10 additional subroutines were needed and for many problems in general the inclusion of the sparse solver that has been done for LINK3 will be sufficient. Over the next few months I will try to get the other routines reprogrammed to use SuperLU but, in the meantime, most simple statics problems will run the new sparse solver very effectively.
I will post the updated MYSTRAN, with SuperLU incorporated into LINK3, to GitHub later this week
Cean has a thread with the procedure to compile SuperLU. If anyone uses it ignore his comments on how to incorporate into MYSTRAN. Only use up to step 6 in his procedure (outlined below):
From Cean:
- Download and execute the cmake msi binary from www.cmake.org/download. This will install cmake into C:\Program Files\Cmake
- Download SuperLU as a zip file, unzip it to D:\MYSTRAN\Cmake
- Start Windows Terminal and change to D:\MYSTRAN\SuperLU (Use FreeCommander XE program is more easy to do this.)
- Configure with my w.bat script as before,
- Run make to build SuperLU
then, to test SuperLU prior to incorporating into MYSTRAN:
- After building SuperLU successfully, change to D:\MYSTRAN\SuperLU\FORTRAN
- Run make to build the FORTRAN example.
- You could look at f77_main.f to see how it is called.
|
|
|
2/23/2021 UPDATE |
Posted by: Admin - 12-20-2020, 11:50 PM - Forum: MYSTRAN
- Replies (1)
|
 |
2/23/2021 UPDATE
- Initial investigation has been done to add the differential stiffness matrix to to the shell and solid elements (to allow for Eigenvalue buckling - SOL 105). We are also considering an different shell element formulation. If you have any thoughts on this, please make a post or visit us on the Discord channel:
https://discord.gg/fUJr75H
- Version 12.1 has now been released, which fixes an error with the BUSH element.
- The MYSTRAN Benchmark Tool has been introduced in the new TestRuns ZIP. This tool assists in benchmarking new builds. A new approach replaced the old one one 2/15/2021 so you may need to download it again.
- Steve is working on the OP2 support. That will be a nice compliment to his pyNastran program.
- We identified the how to get "clean" Test Runs that don't yield ambiguous data to compare different version/compilers. We are also working on generating the Pass/Fail criteria using the MYSTRAN Benchmark Tool. This should be available by 3/15/2021.
|
|
|
Trying to add sparse matrix code to LK2/REDUCE_KFF_TO_KAA.f90 |
Posted by: ceanwang - 10-14-2020, 11:55 PM - Forum: MYSTRAN
- Replies (4)
|
 |
Hi,
Trying to use SuperLU sparse solver which is from https://github.com/xiaoyeli/superlu
First: Inputs for SuperLU are:
Code: !NROW=n=400
!NCOL=n=400
!NNZERO=nnz=1920
!values
!rowind - row index
!colptr - column pointer
Have to map MYSTRAN's I_KOO, J_KOO, KOO to these.
Second: Output for SuperLU is b(i), i=1,n after solving. Need to map this b(i) to what MYSTRAN is called.
Help is appreciated.
Cheers
Cean
The code is like this:
Existing Banded:
Code: IF (SOLLIB == 'BANDED ') THEN ! Use LAPACK
KOO_SDIA = 0
EQUIL_KOO = 'N'
INFO = 0
CALL SYM_MAT_DECOMP_LAPACK ( SUBR_NAME, 'KOO', 'O ', NDOFO, NTERM_KOO, I_KOO, J_KOO, KOO, 'Y', KOORAT, EQUIL_KOO, &
RCONDK, DEB_PRT, EQUED, KOO_SDIA, K_INORM, RCOND, KOO_SCALE_FACS, INFO )
Newly added Sparse:
Code: ELSE IF (SOLLIB == 'SPARSE ') THEN
! Add sparse matrix code here to decompose matrix KOO
!use SuperLU subroutine hbcode1(nrow, ncol, nnzero, values, rowind, colptr)
!call hbcode1(n, n, nnz, values, rowind, colptr)
!NROW=n=400
!NCOL=n=400
!NNZERO=nnz=1920
!values
!rowind - row index
!colptr - column pointer
nrhs = 1
ldb = n
do i = 1, n
b(i) = 1
enddo
! First, factorize the matrix. The factors are stored in *factors* handle.
iopt = 1
call c_fortran_dgssv( iopt, n, nnz, nrhs, values, rowind, colptr,
$ b, ldb, factors, info )
if (info .eq. 0) then
write (*,*) 'Factorization succeeded'
else
write(*,*) 'INFO from factorization = ', info
endif
! Second, solve the system using the existing factors.
iopt = 2
call c_fortran_dgssv( iopt, n, nnz, nrhs, values, rowind, colptr,
$ b, ldb, factors, info )
if (info .eq. 0) then
write (*,*) 'Solve succeeded'
write (*,*) (b(i), i=1, 10)
else
write(*,*) 'INFO from triangular solve = ', info
endif
! Last, free the storage allocated inside SuperLU
iopt = 3
call c_fortran_dgssv( iopt, n, nnz, nrhs, values, rowind, colptr,
$ b, ldb, factors, info )
Here is SuperLU's test data g20.rua
https://github.com/xiaoyeli/superlu/blob...LE/g20.rua
It has 400 rows, 400 columns and 1920 none zero values. The data is arrange as COLPTR, ROWIND and VALUES.
|
|
|
pyNastran |
Posted by: mesheb82 - 09-28-2020, 08:08 PM - Forum: Pre/Post Processors
- Replies (4)
|
 |
I'm the developer of pyNastran, which you can find out about over at:
- https://github.com/SteveDoyle2/pyNastran
I've added support for Mystran (the BDF and for the GUI). You can flag the deck as a Mystran file by putting the following on the first line of your BDF:
$ pyNastran: version=mystran
If you just use the standard install, you won't have mystran support, but if you install from git (see the install guide), you will.
- https://pynastran-git.readthedocs.io/en/...rom-source
There's probably still a few PARAMs that I'm not validating, so bug me over at:
- https://github.com/SteveDoyle2/pyNastran/issues
if you find something wrong.
Also, an FYI, it's a bit stricter than Mystran (there's an embedded blank), so a card like:
SPC1, 1, 12 34, 42
is invalid, but:
SPC1, 1, 1234, 42
is fine. That's just per the MSC/NX Nastran documentation, which I try to follow as best as I can.
|
|
|
|