I continue thinking that it’s better a condition that point to two material names: a section and a material
the condition can be transferred to elements, not only to nodes. Note CONDMESHTYPE: over body elements
CONDITION:Fiber
CONDTYPE: over lines
CONDMESHTYPE: over body elements
QUESTION:Section#MAT#(Sections)
VALUE:
QUESTION:Made_of#MAT#(Materials)
VALUE:
END CONDITION
The advantage is that is easier for the user to be applied to some entity without create every time a new material for each combination of section-material. You only need a collection of sections and materials that can be predefined if you want in your problemtype (and also can create new ones at runtime)
The #MAT# command basically provide at runtime that the field wil be filled with the name of one of the current list of materials (of a book if specified),
You must do a loop over materials to identify which material is associated with a name. Matprop(0) contain the name of the material
*if(strcmp(Matprop(0),cond(Made_of))==0)
Some more comments:
1 -The loop materials only take into account materials applied to some entities. unused materials are not listed
You must use the *NotUsed modifier to have a loop over unapplied materials (probably in your case all are unapplied)
*loop materials *NotUsed
…
*end materials
2 - Material number *matnum is a ‘local’ increasing number of the material 1,2,..n inside the loop materials, it’s not a ‘global’ identifier
3- I recommend to use the same question to identify the type of material, e.g, instead to use
QUESTION: Cemento
QUESTION: Sezione
use for all materials the same question (you can set as hidden because it is not filled by the user)
QUESTION: Type
then instead use MatProp(1), you can use the fieldname MatProp(Type)
----- Original Message -----
From: marco paccapelo
To: gidlist at gid.cimne.upc.edu
Sent: Monday, June 30, 2008 8:55 AM
Subject: RE: [GiDlist] Fiber section problem GiD/Opensees
Thanks For Your Help
with my master thesist we thought what the better way to proceed is to create the material and store them, and assign the section with the material, like that
Book: Materials
NUMBER: 1 MATERIAL: Materiale
QUESTION: Cemento
VALUE: Cemento
QUESTION: E
VALUE:
QUESTION: fpc
VALUE:
QUESTION: eps0
VALUE:
QUESTION: fp_cu
VALUE:
QUESTION: Gap
VALUE:
QUESTION: epsu
VALUE:
QUESTION: lambda
VALUE:
QUESTION: f_t
VALUE:
QUESTION: Ets
VALUE:
END MATERIAL
Book: Sections
NUMBER: 2 MATERIAL: Sezione
QUESTION: Sezione
VALUE: Sezione
QUESTION: SubdIJ
VALUE:
QUESTION: SubdJK
VALUE:
QUESTION: yI
VALUE:
QUESTION: zI
VALUE:
QUESTION: YJ
VALUE:
QUESTION: zJ
VALUE:
QUESTION: YK
VALUE:
QUESTION: zK
VALUE:
QUESTION: yL
VALUE:
QUESTION: zL
VALUE:
QUESTION: Material#MAT#(Materials)
VALUE:
END MATERIAL
but now I have some questions, because in the manual i don’t find more information about the #mat# command. i saw that if i use it in the *.cmd i can found the
number of the material (*matnum(cond…)) but i cant find the comand for the .bas file to use it because in specific case i need to obtain the number of the
Material that i store.
I prefer to assign, if possible the section like material, because it is assignedto elemens so i need the matnum of each section.
in the bas i need a thing like that
*loop materials
*if(strcmp(MatProp(1),“Sezione”)==0)
section Fiber *matnum {
patch quad [[Number of the Material stored and select with #mat#]] *MatProp(SubdIJ) *MatProp(SubdJK) *MatProp(yI) *MatProp(zI) *MatProp(YJ) *MatProp(zJ) *MatProp(YK) *MatProp(zK) *MatProp(yL) *MatProp(zL)
*endif
*end materials
enougth i thing that assign the sections like materials is better for the user, because he have the possibility to store the sections, without write every time the values.
I dont understand why is better assign the section as a condition and not as a material.
Thanks for HelP
Paccapelo Marco
Student at University Roma3, It
From: escolano at cimne.upc.edu
To: gidlist at gid.cimne.upc.edu
Subject: Re: [GiDlist] Fiber section problem GiD/Opensees
Date: Tue, 17 Jun 2008 13:48:35 +0200
A) If your section must be applied to geometric/mesh entities (you need to know the nodes/elements with this section), then I recommend you to use a condition that point to a material
It is unnecessary for this material to be assigned to any entity, see GiD help about “Tcl/Tk Extension-Custom Data Windows-Data Windows Behavior” to know how to
a to hide/disable the standard buttons to apply to entities, etc.
*.mat
BOOK: Materials
MATERIAL: Concrete
QUESTION: Tipologia
VALUE: Cemento
STATE:HIDDEN
QUESTION: E
VALUE: 3e5
QUESTION: fpc
VALUE: 50.0
QUESTION: Gap
VALUE: 32.5
END MATERIAL
… more predefined cementos…
MATERIAL: PPGap
QUESTION: Tipologia
VALUE: ElasticPPGap
STATE:HIDDEN
*MatProp(fpc) *MatProp(eps0) *MatProp(fp_cu) *MatProp(lambda) *MatProp(f_t) *MatProp(Ets)
QUESTION: fpc
VALUE: 10.0
QUESTION: eps0
VALUE: 23
QUESTION: fp_cu
VALUE: 2
QUESTION: lambda
VALUE: 6
QUESTION: f_t
VALUE: 5
QUESTION: Ets
VALUE: 8.5
END MATERIAL
*.cnd
CONDITION:Section
CONDTYPE: over lines
CONDMESHTYPE: over nodes
QUESTION:Material#MAT#
VALUE: Concrete
QUESTION: SubdIJ
VALUE: 0
QUESTION: SubdJK
VALUE: 0
QUESTION: yI
VALUE: 0
QUESTION: zI
VALUE: 0
QUESTION: YJ
VALUE: 0
QUESTION: zJ
VALUE: 0
QUESTION: YK
VALUE: 0
QUESTION: zK
VALUE: 0
QUESTION: yL
VALUE: 0
QUESTION: zL
VALUE: 0
END CONDITION
B) if section is not assigned to any entity (you don’t need to know the nodes/elements with this section), then can use for example three books of materials:
“Materials”, and “Sections” to store the physical properties and section definitions, and a third book “Combinations” that uses a combination of both
BOOK: Materials
MATERIAL: Concrete
QUESTION: Tipologia
VALUE: Cemento
STATE:HIDDEN
QUESTION: E
VALUE: 3e5
QUESTION: fpc
VALUE: 50.0
QUESTION: Gap
VALUE: 32.5
END MATERIAL
MATERIAL: PPGap
QUESTION: Tipologia
VALUE: ElasticPPGap
STATE:HIDDEN
*MatProp(fpc) *MatProp(eps0) *MatProp(fp_cu) *MatProp(lambda) *MatProp(f_t) *MatProp(Ets)
QUESTION: fpc
VALUE: 10.0
QUESTION: eps0
VALUE: 23
QUESTION: fp_cu
VALUE: 2
QUESTION: lambda
VALUE: 6
QUESTION: f_t
VALUE: 5
QUESTION: Ets
VALUE: 8.5
END MATERIAL
BOOK: Sections
MATERIAL:S1
QUESTION:Tipologia
VALUE: Section
STATE:HIDDEN
QUESTION: SubdIJ
VALUE: 0
QUESTION: SubdJK
VALUE: 0
QUESTION: yI
VALUE: 0
QUESTION: zI
VALUE: 0
QUESTION: YJ
VALUE: 0
QUESTION: zJ
VALUE: 0
QUESTION: YK
VALUE: 0
QUESTION: zK
VALUE: 0
QUESTION: yL
VALUE: 0
QUESTION: zL
VALUE: 0
END MATERIAL
BOOK: Combinations
MATERIAL:C1
QUESTION:Tipologia
VALUE: Combined
STATE:HIDDEN
QUESTION: Section#MAT#(Sections)
VALUE: S1
QUESTION: Material#MAT#(Materials)
VALUE: S1
END MATERIAL
----- Original Message -----
From: marco paccapelo
To: gidlist at gid.cimne.upc.edu
Sent: Tuesday, June 17, 2008 10:23 AM
Subject: RE: [GiDlist] Fiber section problem GiD/Opensees
Hello
i try to write better my problem:
i need to use GiD as preprocessor with Opensees.
In my case of study, I should assign to each elements a material and a section, and opensees need a
list of these and a number to indentify witch is assigned to each line in my case.
This is a part of the .bas that i wrote:
#1) Cemento
*loop materials
*if(strcmp(MatProp(1),“Cemento”)==0) *\
uniaxialMaterial Concrete *matnum *MatProp(E) *MatProp(fpc) *MatProp(Gap)
*endif
*End materials
#2) ElasticPPGap
*loop materials
*if(strcmp(MatProp(1),“ElasticPPGap”)==0) *\
uniaxialMaterial ElasticPPGap *matnum *MatProp(fpc) *MatProp(eps0) *MatProp(fp_cu) *MatProp(lambda) *MatProp(f_t) *MatProp(Ets)
*endif
*End materials
\
SECTIONS##
*loop materials
section Fiber *matnum {
patch quad *matprop(SubdIJ) *matprop(SubdJK) *matprop(yI) *matprop(zI) *matprop(YJ) *matprop(zJ) *matprop(YK) *matprop(zK) *matprop(yL) *MatProp(zL)
}
*end materials
and che resultant file TCL, the file that read Opensees is like is:
#1) Cemento
uniaxialMaterial Concrete 1 1 2 3
#2) ElasticPPGap
uniaxialMaterial ElasticPPGap 2 2 4 5 8 6 69
###Sections###
section Fiber 1 {
patch quad 1 2 3 4 5 6 7 8 9 10
}
section Fiber 2 {
patch quad 1 2 3 4 5 6 7 8 9 10
}
the file .mat is the following
Book: Muratura
NUMBER: 1 MATERIAL: Materiale
TITLE: Materiale
QUESTION: Tipologia:#CB#(Cemento,ElasticPPGap)
VALUE: Cemento
DEPENDENCIES:(Cemento,RESTORE,E,#CURRENT#,RESTORE,fpc,#CURRENT#,HIDE,eps0,#CURRENT#,HIDE,fp_cu,#CURRENT#,RESTORE,Gap,#CURRENT#,HIDE,epsu,#CURRENT#,HIDE,lambda,#CURRENT#,HIDE,f_t,#CURRENT#,HIDE,Ets,#CURRENT#)
DEPENDENCIES:(ElasticPPGap,HIDE,E,#CURRENT#,RESTORE,fpc,#CURRENT#,RESTORE,eps0,#CURRENT#,RESTORE,fp_cu,#CURRENT#,HIDE,Gap,#CURRENT#,HIDE,epsu,#CURRENT#,RESTORE,lambda,#CURRENT#,RESTORE,f_t,#CURRENT#,RESTORE,Ets,#CURRENT#)
QUESTION: E
VALUE:
QUESTION: fpc
VALUE:
QUESTION: eps0
VALUE:
QUESTION: fp_cu
VALUE:
QUESTION: Gap
VALUE:
QUESTION: epsu
VALUE:
QUESTION: lambda
VALUE:
QUESTION: f_t
VALUE:
QUESTION: Ets
VALUE:
Title: Sezione
QUESTION: SubdIJ
VALUE:
QUESTION: SubdJK
VALUE:
QUESTION: yI
VALUE:
QUESTION: zI
VALUE:
QUESTION: YJ
VALUE:
QUESTION: zJ
VALUE:
QUESTION: YK
VALUE:
QUESTION: zK
VALUE:
QUESTION: yL
VALUE:
QUESTION: zL
VALUE:
END MATERIAL
in the **.mat file there are the material end the sections, too
So, if I wants to assign the two differents materials with the same section, i need to create two section with the same data, like that example.
I put the section in the material, because is the only method that i found to create this list of the section, with the identifier number set automaticaly. Now i’m using the comand *matnum to also to idenfy the number of the section.
So, with the” Fiber Section *matnum, “ I can order the various fiber section that I had assigned
There is an other way to do that?
Thank for Your answare
Paccapelo Marco
Student at University Roma3, It
mailto marco.paccapelo at hotmail.com
\
From: escolano at cimne.upc.edu
To: gidlist at gid.cimne.upc.edu
Subject: Re: [GiDlist] Fiber section problem GiD/Opensees
Date: Mon, 16 Jun 2008 23:30:58 +0200
I don’t understand well what are you trying to do, but probably you had better using a ‘GiD condition’ instead a ‘GiD material’
You can define a condition with a field to store your section identifier, and other fields that can store the material properties (or better a field that point to a material name, that store the common material properties), e.g.
BOOK: Properties
MATERIAL: Steel
…
BOOK:Other_book
MATERIAL: Steel
…
CONDITION:Fiber
CONDTYPE: over lines
CONDMESHTYPE: over nodes
QUESTION:Section_ID
VALUE:0
QUESTION:Made_of#MAT#(Properties)
VALUE:some_material
END CONDITION
You can classify GiD materials by ‘book’, then GiD menus will show each book in separated menus.
You can use materials of a book for special purposes, for example, maybe you only want materials of the book Properties to be used in Fiber condition,
QUESTION:Made_of#MAT#(Properties) specify that only this group of materials will be show for this field at runtime.
Regards
Enrique Escolano
----- Original Message -----
From: marco paccapelo
To: gidlist at gid.cimne.upc.edu
Sent: Monday, June 16, 2008 9:27 PM
Subject: [GiDlist] Fiber section problem GiD/Opensees
Hello
I have a problem to interface GiD and Opensees wile i’m try to assign the comand Fiber Section because i Thougt to assign the fiber values with the material, but in this way i will definy some materials with the same values.
The problem is that Opensees need the number of the section ( $j ), that is differet for each type of section.
The comand that we use in tcl for Opensees is:
section Fiber $j {
SectionTag
patch quad $MP $nfp $nfp2 [expr -$l1(j)/2.0] [expr -$dpm/2.0] [expr $l1(j)/2.0] [expr -$dpm/2.0] [expr $l1(j)/2.0] [expr $dpm/2.0] [expr -$l1(j)/2.0] [expr $dpm/2.0]
Mat SubdIJ SubdJK yI zI yJ zJ yK zK yL zL
}
};
my question is if there is a different way to assign the values of the section, indipendently from material
I thought also to assign these value like conditions, but my problem is in the value $j, that is the ordinal number of the section, but i don’t know if exist a comand like *matnum for the condition.
I saw the comand #Mat#(bookName), but i don’t understand how it function. anybody have an example with this comand
Thanks for HelP
Paccapelo Marco
Student at University Roma3, It
Discover the new Windows Vista Learn more!
\
Discover the new Windows Vista Learn more!
\
Connect to the next generation of MSN Messenger Get it now!
-------------- next part --------------
An HTML attachment was scrubbed…
URL: http://listas.cimne.upc.edu/pipermail/gidlist/attachments/20080630/aa9c4cae/attachment.htm