stevedoyle2 / pynastran Goto Github PK
View Code? Open in Web Editor NEWA Python-based interface tool for Nastran's file formats
License: Other
A Python-based interface tool for Nastran's file formats
License: Other
it is NOT as robust as it SHOULD be...
there are too many while try-except blocks...
also support include files while you're at it...
Original issue reported on code.google.com by mesheb82
on 20 Oct 2011 at 9:14
add card
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:21
add card
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:24
a
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:15
What is the new feature/capability that you'd like?
spc/mpc (constraint) object similar to the case control object
Why is it useful?
spcs are required from a variety of sources
List a sample API for the new functionality:
spcs = mesh.getSPCs(spcID) # gets all the SPCs referenced by the case control
deck
mpcs = mesh.getMPCs(mpcID) # gets all the MPCs referenced by the case control
deck
Any other requirements on the functionality?
make an object that has all the constraints that are unreferenced
Original issue reported on code.google.com by mesheb82
on 24 Oct 2011 at 10:29
DISP also means DISPLACEMENT...there are more...
Original issue reported on code.google.com by mesheb82
on 21 Oct 2011 at 5:28
sortCode comes from the tableCode and can have 8 different values.
Assuming a CQUAD4, there are 8 different output variables that the element can
have. For example, von mises stress may be replaced with max shear. The
outputs could go into different objects, but that would get confusing and it'd
be difficult to manage. Come up with a better idea....
Original issue reported on code.google.com by mesheb82
on 21 Nov 2011 at 1:11
skipping tables that are formatted like a GEOM1 table with buffers are
problematic. examples include GEOM1, GEOM2, DYNAMIC
Original issue reported on code.google.com by mesheb82
on 27 Nov 2011 at 11:15
What is the new feature/capability that you'd like?
read BDFs that dont have executive or case control decks without any special
user input
Any other requirements on the functionality?
some cards are in the case control deck and the bulk data deck, so just using
the name of the card isnt necessarily good enough
examples
SUPO/SUPORT/SUPORT1
SPC
LOAD
PARAM
MPC
SET
TSTEP
TSTEPNL
GUST
FREQ but not FREQUENCY
Original issue reported on code.google.com by mesheb82
on 21 Oct 2011 at 6:37
these are tied to ground(???) at 0,0,0 just set them to None
Original issue reported on code.google.com by mesheb82
on 3 Nov 2011 at 7:09
fixed in v0.2
Original issue reported on code.google.com by mesheb82
on 6 Dec 2011 at 7:36
add card
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:16
a user requested this
Original issue reported on code.google.com by mesheb82
on 21 Nov 2011 at 6:23
note that as the coord cards are required to support GRID cards, the ability to
write a point (arbitrary) or GRID card in an alternate coordinate system *(any)
must be supported.
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:28
FLFACT 751 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75
becomes
FLFACT 751 .75 .75 .75 .75 .75 .75 .75
.75 .75 .75 .75 .75 .75 0.75 .75
.75 .75 .75 .75 0.75 .75 .75 .75
.75 .75 0.75 .75 .75 .75 .75 .75
0.75 .75 .75 .75 .75 .75 .75 .75
.75
it goes from 50 entries to 40 entries
when it gets saved, it also leaves behind (which would error the BDF):
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75
+ 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75+
+ 0.75 0.75 0.75
+ 0.75 0.75 0.75
Original issue reported on code.google.com by mesheb82
on 20 Oct 2011 at 9:01
the THRU syntax is used in nastran and patran. the function should have inputs:
1. list of node IDs (or other generic IDs)
2. the maximum allowable dNode (node2-node1). default=None (unbounded)
The default would be 1, but then it's a pain to use it with patran-style syntax.
Original issue reported on code.google.com by mesheb82
on 30 Oct 2011 at 2:06
I thought the endian for Intel/AMD processors are only little endian < format
and by default read little endian format. The other assumption which may not
be true is a file created on Linux may be read on Windows (e.g. the system has
more memory), but does Nastran (or other solver) change the endian-ness
depending on the OS?
Original issue reported on code.google.com by mesheb82
on 21 Nov 2011 at 1:03
see ticket
Original issue reported on code.google.com by mesheb82
on 20 Oct 2011 at 2:05
add card
Original issue reported on code.google.com by mesheb82
on 19 Oct 2011 at 4:26
What is the new feature/capability that you'd like?
Op2 reading
desired features (tables with desired data is indicated:
- pshell stress - OES1X1
- pshell strain - OSTR1X
- pcomp stress - OES1C
- pcomp strain - OSTR1C
- displacement / temperature - OGPFB1, OQG1 (why are there 2 ???)
- spc forces - OUGV1
- heat flux / temperature gradient - OEF1X
Any other requirements on the functionality?
it *REQUIRES* little endian < format
Original issue reported on code.google.com by mesheb82
on 20 Oct 2011 at 7:27
The documentation should be put on the wiki site. This will aide users when
trying to learn about solving a FEM and the eventual person who implements the
code for the mass & stiffness matricies. The first priority is to solve
{F}=k{x} so only the stiffness matrix is currently required.
This can be put on the wiki pages under Theory_CARDNAME
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:23
This is one of those project ending bugs...not being able to commit
Short Version:
You have too much shit in a sub-directory of the project (probably stuff that
isn't/shouldn't be committed, so it takes too long and flips out.
Long Version:
http://subversion.apache.org/faq.html#secure-connection-truncated
Why am I getting an error saying "Could not read response body: Secure
connection truncated" when doing a checkout from Apache?
In short, this error is representative of a class of problems which can occur
when Apache erroneously believes that your Subversion client is no longer
tending to the network connection it has made with Apache. Other error messages
have been reported in similar circumstances, depending on whether or not SSL
was in use for the connection, or when exactly Apache decided that the
connection should be terminated.
The Subversion client tries to keep working copies in a sane state at all
times. One way it does this during checkouts is by squirreling away the
pristine versions of checked-out files until all the files and subdirectories
for a given directory have been fetched. Once all the data for a directory has
been downloaded, the client "finalizes" that directory, copying the pristine
versions of files out into the working area, diddling administrative data, and
so on. While this directory finalization is happening, the client is focused on
that task and is not tending to the checkout network stream. Sometimes —
typically in situations where a versioned directory contains an abnormally
large number of files, or a bunch of abnormally large files — the client can
spend so much time finalizing a directory (and ignoring the network stream)
that Apache thinks the client has gone away for good, so Apache terminates the
connection. When the client finally turns its attention back to the network
stream, it finds that the server has given up on the connection, and it reports
this as an error.
One workaround for this situation is to increase the amount of time Apache is
willing to wait for a client to prove it is still listening to the network
stream. You do this by adjusting upward the Apache Timeout configuration value.
You are encouraged, however, to evaluate your data set. If having a huge number
of files in a single directory is causing problems for you during checkouts,
there is some chance that it will cause additional problems elsewhere, too. If
it is possible for you to split your collection of files up into a few
subdirectories with smaller file counts, this could prove universally
beneficial.
Original issue reported on code.google.com by mesheb82
on 3 Nov 2011 at 6:29
Temperature(Initial) = 5
Temperature(LOAD) = 6
one of the cards will be lost as they are both Temperature cards. there are
probably other cards like this one...
Original issue reported on code.google.com by mesheb82
on 21 Oct 2011 at 5:25
when a bdf is read, there is global subcase data and local subcase data. they
are completely separate.
Original issue reported on code.google.com by mesheb82
on 21 Oct 2011 at 4:31
this is on many cards including SET, SPOINT, etc.
1,THRU,10,EXCLUDE,5,6,11 = 1,2,3,4,7,8,9,10,11
so EXCLUDE works on all the nodes until one that's out of range of the THRU
field
reading is definitely required, writing is less important, and *DOESNT* require
THRU, and definitely not the EXCLUDE
Original issue reported on code.google.com by mesheb82
on 21 Oct 2011 at 7:46
add card
Original issue reported on code.google.com by mesheb82
on 26 Oct 2011 at 6:06
CBEAM field 8 lists 2 defaults
early in the QRG says bit=0.0 is the default, later it says offt='GGG' is...
Original issue reported on code.google.com by mesheb82
on 3 Nov 2011 at 7:00
improve makeDocumentation.py script to:
1. find out where python is installed and update the Doxygen file
2. verify that doxygen is installed
Original issue reported on code.google.com by mesheb82
on 19 Oct 2011 at 7:07
d
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 4:44
the variables could interfere with the next table
Original issue reported on code.google.com by mesheb82
on 21 Nov 2011 at 1:17
the code needs testing
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:20
it goes in the OES table
Original issue reported on code.google.com by mesheb82
on 21 Nov 2011 at 1:04
What is the new feature/capability that you'd like?
see summary
Why is it useful?
it tells you what solution you're running
List a sample API for the new functionality:
executiveDeck = mesh.getExecutiveDeck()
# assume solution 200 made up of sol 101 and sol 103
(200) = executiveDeck.getSolution()
(101,103) = executiveDeck.getSubcaseSolutions()
executiveDeck.setSolution(200)
executiveDeck.setSubcaseSolution(144,145)
executiveDeck.addLine('ALTER,1,2,3')
Original issue reported on code.google.com by mesheb82
on 19 Oct 2011 at 8:51
OES table
Original issue reported on code.google.com by mesheb82
on 21 Nov 2011 at 1:05
add card
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:17
add card
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:25
fixed in v0.2
Original issue reported on code.google.com by mesheb82
on 6 Dec 2011 at 7:35
OES table
Original issue reported on code.google.com by mesheb82
on 21 Nov 2011 at 1:06
OES table
Original issue reported on code.google.com by mesheb82
on 21 Nov 2011 at 1:05
What is the new feature/capability that you'd like?
(1) case control editing & (2) accessing methods
Why is it useful?
1. so you can create a new case control deck (e.g. split/combine a solution
200)
2. so you can find out what the Global options are for use in Subcase 1, or 2,
etc...
List a sample API for the new functionality:
mesh.AddParameterToGlobalSubcase('ECHO = OFF')
mesh.AddParameterToGlobalSubcase('STRESS(PLOT) = ALL')
# same result
mesh.AddParameterToLocalSubcase(subcase=1,'SET 1 = 1,2,3,4,4,5,6,\n20,30')
mesh.AddParameterToLocalSubcase(subcase=1,'SET 1 = 1,2,3,4,4,5,6,20,30')
set1 = mesh.GetSubcaseParameter(subcase=0,'SET',id=1)
stress1 = mesh.GetSubcaseParameter(subcase=1,'STRESS')
NOTE:
set1 = '1,2,3,4,4,5,6,20,30'
stress1 = ( ALL,[PLOT] )
ALSO:
helps maintainability by not requiring someone to hack the case control to get
it to handle a special case
Original issue reported on code.google.com by mesheb82
on 19 Oct 2011 at 8:45
Include files can contain include files. Also BOTH bulk data and case control
decks (dunno about executive control, but probably), can contain include files.
Although not the same as Nastran, support both the Windows or Linux standard of
line endings.
Original issue reported on code.google.com by mesheb82
on 19 Oct 2011 at 2:22
What is the new feature/capability that you'd like?
(1) ability to echo deck
(2) ability to "parse" all cards in the bdf without setting any defaults
Why is it useful?
developer testing
List a sample API for the new functionality:
feature 1 - removes comment lines, *WILL* work with include files
{{{
mesh = BDF(infileName)
mesh.echoDeck(outfileName) # just set cardsToInclude to []
}}}
feature 2 - leaves the format of the card exactly the same as it came in
(preferably)
{{{
# assume cardsToInclude = [GRID, CQUAD4] and all 3 cards are interspersed
#input
GRID,1
CQUAD4,2
NEWCARDX,3
GRID,4
CQUAD4,5
NEWCARDX,6
GRID,7
CQUAD4,8
NEWCARDX,9
}}}
mesh = BDF(infileName) # has GRIDs, CQUAD4s, NEWCARDX
mesh.writeSortedDeck(outfileName)
{{{
# output
GRID,1
GRID,4
GRID,7
CQUAD4,2
CQUAD4,5
CQUAD4,8
$REJECTS
NEWCARDX,3
NEWCARDX,6
NEWCARDX,9
}}}
Original issue reported on code.google.com by mesheb82
on 20 Oct 2011 at 4:31
add card
Original issue reported on code.google.com by mesheb82
on 19 Oct 2011 at 4:26
What is the new feature/capability that you'd like?
the "knowledge" of what deck the reader just finished reading and it it found
it's ending card
Why is it useful?
supporting include files
List a sample API for the new functionality:
mesh = BDF()
('ExecutiveDeck',isDone) = mesh.read(fileName1)
('CaseControlDeck',isDone) = mesh.read(fileName2)
('BulkDataDeck',isDone) = mesh.read(fileName3)
Any other requirements on the functionality?
Original issue reported on code.google.com by mesheb82
on 20 Oct 2011 at 4:35
add card
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:25
add cards
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:26
The CONM2 is a very common card when making a beam/shell model.
The card already exists, but is not fully supported. Add all the fields of the
card.
Note that it *CAN* reference a coordinate ID and node ID.
Original issue reported on code.google.com by mesheb82
on 19 Oct 2011 at 7:02
for a first ply failure code, one property/material is "spilt" into a new one
for each element for each new degredation. This creates excessive
properties/materials. Come up with a better method to degrade
properties/materials
Original issue reported on code.google.com by mesheb82
on 6 Dec 2011 at 7:41
it's in work, but case control decks are not the same going in as coming out...
Original issue reported on code.google.com by mesheb82
on 19 Oct 2011 at 6:54
the FEM_Mesh.py file is a reasonable name if bdf.py didnt exist. bdf.py
performs mainly card field writing and a better name is probably
fieldWriter.py. This would then allow FEM_Mesh.py to be replaced with bdf.py
(rename it).
Futhermore, FEM_Mesh_helper.py is a bad name, and should be split into multiple
files. Maybe (with the existing approach (FEM_Mesh_addMethods,
FEM_Mesh_cardBuilder, etc.). This could also be changed to bdf_addMethods, etc.)
Summary:
bdf.py -> fieldWriter.py
FEM_Mesh.py -> bdf.py
FEM_Mesh_helper.py -> bdf_helper.py
bdf_helper.py -> bdf_addMethods.py, bdf_deleteMethods.py, bdf_writeMethods.py,
cardObject.py
-----------------------------
done:
bdf.py -> fieldWriter.py
FEM_Mesh_helper.py -> bdf_helper.py
bdf_helper.py -> BDF_Card.py
more to come!
Original issue reported on code.google.com by mesheb82
on 17 Oct 2011 at 5:18
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.