Solver for Mystran

About the development of the FEM module/workbench.

Moderator: bernd

aerospaceweeb
Posts: 118
Joined: Fri Apr 09, 2021 3:26 am

Re: Solver for Mystran

Post by aerospaceweeb »

Wait a second though... It is plenty tall though.

I bet other solvers can do this with no problem right?

There's something strange about it not being able to do this.
We're working on it. Sorry for the inconvenience.
aerospaceweeb
Posts: 118
Joined: Fri Apr 09, 2021 3:26 am

Re: Solver for Mystran

Post by aerospaceweeb »

We've just confirmed that NX Nastran can solve this.
I'm upgrading this to an official bug! Congragulations Bernd, we did it!
I'll be trying to figure out why this specific combination of inputs makes such strange results, but in the mean time, just know that very large numbers in the property card like this seem to risk the solver not being able to handle it; despite the fact that it stays accurate until it just stops working, which is good I guess.
nic
Posts: 135
Joined: Thu Apr 18, 2019 1:14 pm
Location: France

Re: Solver for Mystran

Post by nic »

johnwang wrote: Sun Aug 01, 2021 12:35 pm
bernd wrote: Sun Aug 01, 2021 12:18 pm Without any FreeCAD related code?
one neu2femResult.
Probably will not make neu python viewer. Too much work.
Hi,
A bit late in the conversation, but I wrote a quite simple Neutral Parser (working on FEMAP and MYSTRAN neutral file): https://framagit.org/numenic/femap_neutral_parser. I'm quite happy with it, although I'm eagerly waiting for Steve's OP2 implementation to discard it!

I'm also working on a declarative MYSTRAN test-suite runner: https://framagit.org/numenic/mystran-validation.
aerospaceweeb
Posts: 118
Joined: Fri Apr 09, 2021 3:26 am

Re: Solver for Mystran

Post by aerospaceweeb »

Oh hey Numenic!

Good to see you here!
I hadn't thought to ask you for your neutral file parser, but I'm elated to take this opportunity to take a look.

Also! I have reason to believe that the CBAR example that Bernd was using may have been wrong in an obvious way! I need to check that I just got home one moment--
aerospaceweeb
Posts: 118
Joined: Fri Apr 09, 2021 3:26 am

Re: Solver for Mystran

Post by aerospaceweeb »

bernd wrote: Tue Aug 03, 2021 6:49 pm I have Mystran solver errors on beam analysis just because I changed cross section geometry ... Could some of the Mystran cracks around help. https://www.mystran.com/forums/showthre ... 268#pid268
Okay Bernd! I have a solution.
Here's what's wrong.

1.) The deflections are very large.
If you're ever not trusting linear analysis checks where you have very large deflections, it could be for a few reasons.
There's a subroutine in Nastran and mystran called AUTOSPC. This stands for automatic-single-point-constraint. Basically, if a node is flying away, or is not really attached to anything, mystran automatically reaches out and tries to fix it in place. It checks for this early in the solution, and tells the user when this happens in the F06 file. Here's it in your f06 file.

*INFORMATION: AUTOSPC Summary, Stage 3 after identification of AUTOSPC's to eliminate N-set DOFs with stiffness ratios < PARAM AUTOSPC_RAT

AUTOSPC_RAT = 1.000000E-06

Number of DOF's identified for AUTOSPC in component 1 = 0
Number of DOF's identified for AUTOSPC in component 2 = 1
Number of DOF's identified for AUTOSPC in component 3 = 1
Number of DOF's identified for AUTOSPC in component 4 = 0
Number of DOF's identified for AUTOSPC in component 5 = 0
Number of DOF's identified for AUTOSPC in component 6 = 0
------------
Total number of DOF's identified in this stage = 2


*INFORMATION: AUTOSPC Summary, Overall: after identification of all AUTOSPC's

AUTOSPC_RAT = 1.000000E-06

Number of DOF's identified for AUTOSPC in component 1 = 0
Number of DOF's identified for AUTOSPC in component 2 = 1
Number of DOF's identified for AUTOSPC in component 3 = 1
Number of DOF's identified for AUTOSPC in component 4 = 0
Number of DOF's identified for AUTOSPC in component 5 = 0
Number of DOF's identified for AUTOSPC in component 6 = 0
------------
Total number of DOF's identified overall = 2
2.) Sometimes, very, very rarely, you have models that can't be solved by sparse matrices. This is very, very rare, and is what I thought was going on for your model, Bernd.
This can be fixed by making mystran solve the full matrix, with a parameter called MATSPARS. Also, you can run MATSPARS when you switch from the SUPERLU sparse solver to the full BANDED solver.

Here's the bdf with both changes made to it.

Code: Select all

SOL 101
CEND
ECHO = NONE
SUBCASE 1
    DISPLACEMENT = ALL
    LOAD = 1
    SPC = 1
    SPCFORCES = ALL
    STRESS = ALL
    SUBTITLE = Default
BEGIN BULK
PARAM,MATSPARS,N
PARAM,SOLLIB,BANDED
PARAM,AUTOSPC,N
GRID           1              0.    500.    500.
GRID           2           8000.    500.    500.
CBAR     1       1       1       2       0.0     0.0     1.0
PBARL          1       1             BAR
            400.   1400.      0.
MAT1           1 210000.              .3
$LOADS
LOAD           1      1.      1.       2
FORCE          2       2        9000000.      0.      0.     1.
$SPCs
SPCADD         1       2
SPC1           2  123456       1
ENDDATA
Terribly sorry this took me a full day to figure out. This should have been far easier and more obvious to me.
My apologies.

- Aero
nic
Posts: 135
Joined: Thu Apr 18, 2019 1:14 pm
Location: France

Re: Solver for Mystran

Post by nic »

aerospaceweeb wrote: Thu Aug 05, 2021 3:25 am

Okay Bernd! I have a solution.
Here's what's wrong.


2.) Sometimes, very, very rarely, you have models that can't be solved by sparse matrices. This is very, very rare, and is what I thought was going on for your model, Bernd.
This can be fixed by making mystran solve the full matrix, with a parameter called MATSPARS. Also, you can run MATSPARS when you switch from the SUPERLU sparse solver to the full BANDED solver.

Here's the bdf with both changes made to it.

- Aero
Hi Aero,

Wow, nice option (MATSPARS)! This even does not exist in NX-NASTRAN, as far as I know.

Additionally, testing (and working) with MYSTRAN for a couple of months now, my personal thought is that it is one of the major FEM solver in open-source world. I'm essentially working with structural elements (bars, beams, cbushes and RBE) and there is no alternative i'm aware of! There are still some rough edges though, the major one being outputs formats. Neutral is good, but op2 will be better. (HDF5 would have even be better to me regarding accessibility).
nic
Posts: 135
Joined: Thu Apr 18, 2019 1:14 pm
Location: France

Re: Solver for Mystran

Post by nic »

aerospaceweeb wrote: Thu Aug 05, 2021 2:36 am I hadn't thought to ask you for your neutral file parser, but I'm elated to take this opportunity to take a look.
Do not hesitate to provide a feedback.

The testing framework (which make use of this neutral parser and use of Steve's pyNastran OP2 reader to automatically compare results) may deserve a look. Maybe it could be used to support Bill for development and unify the Mystran community testing efforts. Let me know your thoughts. (Still struggling for now to understand my CBUSH bug... hehe).
mesheb82
Posts: 9
Joined: Tue Jul 27, 2021 4:18 am

Re: Solver for Mystran

Post by mesheb82 »

I don't know the license on the NEU parser, but I have no problem incorporating it into pyNastran if it's BSD-3.

Also, the best way I've found to validate OP2s is to just write it to an F06 and diff it. The headers make it a lot easier to compare. Another good strategy is to have a reader/writer combo and you just compare those two. Those should be exact other than NaNs, which thankfully are rare.
nic
Posts: 135
Joined: Thu Apr 18, 2019 1:14 pm
Location: France

Re: Solver for Mystran

Post by nic »

mesheb82 wrote: Thu Aug 05, 2021 3:53 pm I don't know the license on the NEU parser, but I have no problem incorporating it into pyNastran if it's BSD-3.

Also, the best way I've found to validate OP2s is to just write it to an F06 and diff it. The headers make it a lot easier to compare. Another good strategy is to have a reader/writer combo and you just compare those two. Those should be exact other than NaNs, which thankfully are rare.
I put MIT license, which I think is a very permissive one, but I can change it if required.

For the validation of Mystran, I use the pyNastran's OP2 writer to read the reference results as outputed by NX, and compare them with the Mystran's F06 output.
aerospaceweeb
Posts: 118
Joined: Fri Apr 09, 2021 3:26 am

Re: Solver for Mystran

Post by aerospaceweeb »

A CBUSH elementbug has just been resolved.
There's now nothing standing between mystran and completion of its testing framework.

Bernd, if you were waiting for that bug to be completed, wait no longer!
Post Reply