Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

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

Print this item

  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?

Print this item

  ComLab
Posted by: Admin - 02-10-2021, 07:47 AM - Forum: NASTRAN-95 - No Replies

FYI, there is a NASTRAN-95 build by Harry Schaeffer called ComLab. While it is not free, it is low cost. And I believe Harry made a lot of improvements compared to NASTRAN-95.

https://github.com/nasa/NASTRAN-95/issues/5

https://www.mystran.com/misc/CML.pdf

Print this item

  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:

  1. Download and execute the cmake msi binary from www.cmake.org/download. This will install cmake into C:\Program Files\Cmake
  2. Download SuperLU as a zip file, unzip it to D:\MYSTRAN\Cmake
  3. Start Windows Terminal and change to D:\MYSTRAN\SuperLU (Use FreeCommander XE program is more easy to do this.)
  4. Configure with my w.bat script as before,
  5. Run make to build SuperLU
then, to test SuperLU prior to incorporating into MYSTRAN:
  1. After building SuperLU successfully, change to D:\MYSTRAN\SuperLU\FORTRAN
  2. Run make to build the FORTRAN example.
  3. You could look at f77_main.f to see how it is called.

Print this item

  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.

Print this item

  Steps to build third party package under Windows 10
Posted by: ceanwang - 11-13-2020, 11:46 PM - Forum: MYSTRAN - Replies (2)

Hi,

Take building SuperLU as an example.

First you need to install these two packages:
1. cmake https://cmake.org/
2. gnu for Windows https://sourceforge.net/projects/mingw-w64/

And add their bin folders into Windows PATH. Then you can start to build SuperLU. 

1. Download from https://github.com/xiaoyeli/superlu
    On that page, click  Code, select Download ZIP
2. Unzip it into D:\MYSTRAN\superlu-master folder
3. Copy w.bat (see attached) into D:\MYSTRAN\superlu-master (Rename the attached w.txt as w.bat)
4. On lower left corner of Windows desktop, inside the search area, type CMD, then press Enter key to start cmd.exe - the windows terminal. 
5. Change to D:\MYSTRAN\superlu-master folder
6. Type w in the windows terminal command line, then press Enter key to run w.bat  It will find the tools needed to build SuperLU. It will generate  a  D:\MYSTRAN\superlu-master\Build_win10 folder and changed into that folder.
7. Type make, then press Enter key to build SuperLU.



Attached Files
.txt   w.txt (Size: 325 bytes / Downloads: 3)
Print this item

  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.

Print this item

  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.

Print this item

  hfcMystran - Pre/Post processing for Mystran
Posted by: ceanwang - 09-25-2020, 01:36 AM - Forum: Pre/Post Processors - Replies (1)

Hi,

The project is at https://github.com/ceanwang/hfcMystran

Some case photos could be seen from here:
https://forum.freecadweb.org/viewtopic.php?f=18&t=46171

Regards,

Cean

Print this item

  Sparse Solver Notes
Posted by: Admin - 09-07-2020, 07:39 PM - Forum: MYSTRAN - No Replies

This thread is in-work, but provides some basic information about to implement a sparse solver to MYSTRAN.

----------------------
MYSTRAN Information
----------------------

In the following link, there are notes for how to incorporate a sparse solver. PaStiX seems to be best option for this. More information about PaStiX will be added later.

https://mystran.com/notes/Sparse_Solver_Notes_1.1.pdf

----------------------
SuperLU
----------------------
We previously were going to add the PaStiX sparse solver. However, we opted for the SuperLU sparse solver instead, partially due to convenience. 11.3 now contains the SuperLU sparse solver. At a later date, we may add an option to use PaStiX or another sparse solver (this would be in addition to the SuperLU option).

----------------------
PaStiX Information
----------------------
http://pastix.gforge.inria.fr/files/README-txt.html

https://www.labri.fr/perso/ramet/

https://gitlab.inria.fr/solverstack/pastix

https://gforge.inria.fr/forum/forum.php?...oup_id=186

Print this item