Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

[FEMAP API] Nastran ModelCheck Options

Status
Not open for further replies.

crostolo

Aerospace
Apr 2, 2015
28
0
0
IT
Hi,

I'm writing a simple .bas file that does a Modal FreeFree analysis automatically. The problem is that I'm not able to print groundcheck results in the .f06 file.

In the code I've put the requests (taken by API guide)

...
feMod.NasMCheckOn = True
...
feMod.NasMCheckGrndDOFSet(0) = true
feMod.NasMCheckGrndDOFSet(1) = true
feMod.NasMCheckGrndDOFSet(2) = true
feMod.NasMCheckGrndDOFSet(3) = true
feMod.NasMCheckGrndDOFSet(4) = true
....

but they doesn't appear in the .f06 file.
If I read .dat/.bdf file indeed there isn't the voice GROUNDCHECK(SET=ALL)=YES, or similar, before the BEGIN BULK card.

I've tried to modifiy "Destination" property to Print, Print+Post etc but not solve the problem

Anyone has done something similar? Any help would be much appreciated.

Thank in advice.
Crostolo
 
Replies continue below

Recommended for you

Did you preview the output deck or check the MODELCHECK portion of the analysis manager to see if GROUNDCHECK is being written out to the deck? That would be the first place to start.

It looks to me though, that you may not be committing the data to the database. Remember that when you create an entity object, it only exists in memory, and any changes you make to it, must be committed back to the database in order to have an effect on your model. The following code works for what you're trying to do:


[pre]Sub Main
Dim App As femap.model
Set App = feFemap()

Dim fam As femap.AnalysisMgr
Set fam = App.feAnalysisMgr

fam.Get( 1 )
fam.NasMCheckOn = True
fam.NasMCheckGrndDOFSet( 0 ) = True
fam.NasMCheckGrndDOFSet( 1 ) = True
fam.NasMCheckGrndDOFSet( 2 ) = True
fam.NasMCheckGrndDOFSet( 3 ) = True
fam.NasMCheckGrndDOFSet( 4 ) = True
fam.Put( fam.ID )

End Sub[/pre]


In the line "fam.Get( 1 )", replace the value 1 with the ID of your output set.

[pre]
<snip>
ECHO = NONE
GROUNDCHECK(PRINT,SET=(G,N,N+AUTOSPC,F,A),
DATAREC=NO)=YES
DISPLACEMENT(PLOT) = ALL
</snip>
[/pre]

Regards,
Patrick
 
Hi gtae2002,
thanks for your answer.

The "problem" unfortunately still persist. If I open the analysis manager to see if GROUNDCHECK is being written in MODELCHECK portion of the analysis made only by API I see all the checkmarks in the right position. Indeed if I launch manually that analysis the .bdf is written correctly.

I try to figure out what is the problem
 
Found It!

In the complete API file I also call the Nastran Executive Control Object, to modify number of CPUs used, save folder etc...

I noticed to use GROUNDCHECK you have to specify also the version of the executive control so

...
fam.NAsExecOn = True
...
fam.NasExecVersion = 2001
...

Hope this will be helpful in the future for someone who approach femap API programming.
 
Status
Not open for further replies.
Back
Top