[quote=mhscott post_id=117319 time=1603304689 user_id=27]
404 error on the github link. Is the repo private?
I'm sorry, I made the repository public. Please tell me if you are able to download the code.
It's my first time using GitHub.
regards!
Search found 18 matches
- Wed Oct 21, 2020 6:19 pm
- Forum: OpenSees.exe Users
- Topic: Brick Infill
- Replies: 9
- Views: 6740
- Mon Oct 19, 2020 5:07 pm
- Forum: OpenSees.exe Users
- Topic: Brick Infill
- Replies: 9
- Views: 6740
Re: Brick Infill
[quote=mhscott post_id=117192 time=1602691252 user_id=27]
It would be great if you made the source code available via GitHub. dll's are bound not to work.
[/quote]
Here is the code for the element and the material.
Please cite my work if you use the code...
https://github.com/gtorrisi77/Masonry.git
It would be great if you made the source code available via GitHub. dll's are bound not to work.
[/quote]
Here is the code for the element and the material.
Please cite my work if you use the code...
https://github.com/gtorrisi77/Masonry.git
- Wed Oct 14, 2020 7:58 am
- Forum: OpenSees.exe Users
- Topic: Brick Infill
- Replies: 9
- Views: 6740
Re: Brick Infill
Send me an email to
gonzalotorrisi@gmail.com
I have developed a masonry panel element and masonry material with Crisafulli's hysteretic cicle. I will send you the two .dll and some examples.
gonzalotorrisi@gmail.com
I have developed a masonry panel element and masonry material with Crisafulli's hysteretic cicle. I will send you the two .dll and some examples.
- Thu Oct 08, 2020 4:09 am
- Forum: Framework
- Topic: compilation problem
- Replies: 1
- Views: 9639
Re: compilation problem
I have changed the file Domain.cpp for the version 2.5 in the Core directory and it compiled ok, so I think the problem is this file or a missing file related to it.
- Wed Oct 07, 2020 10:06 am
- Forum: OpenSees.exe Users
- Topic: Version 3.2.X
- Replies: 1
- Views: 2071
Version 3.2.X
Dear Community:
I cant find the changelog or new features for version 3.2. I'm using version 2.5 and I don't know the changes since that version.
Does anyone knows the main features of the new version of OpenSees?
Thanks and regards
G.
I cant find the changelog or new features for version 3.2. I'm using version 2.5 and I don't know the changes since that version.
Does anyone knows the main features of the new version of OpenSees?
Thanks and regards
G.
- Wed Oct 07, 2020 3:38 am
- Forum: Framework
- Topic: compilation problem
- Replies: 1
- Views: 9639
compilation problem
Dear community members
I have sucessfully compiled my own materials and elements in VS2010 for Opensees 2.5, now I'm tryin to compile the
same elements and materials for version 3.0 and 3.2 and I have some problems.
I have followed all the instructions in the .txt file and I can't find the error
I have tried witn incremental link yes and no and I have no success
Error 2 error LNK2019: unresolved external symbol "void __cdecl OPS_printCrdTransf(class OPS_Stream &,int)" (?OPS_printCrdTransf@@YAXAAVOPS_Stream@@H@Z) referenced in function "public: virtual void __thiscall Domain::Print(class OPS_Stream &,int)" (?Print@Domain@@UAEXAAVOPS_Stream@@H@Z) C:\opensees\3\material\cpp\Masonpan12\Masonpan12\Domain.obj Masonpan12
Error 3 error LNK2019: unresolved external symbol "void __cdecl OPS_printSectionForceDeformation(class OPS_Stream &,int)" (?OPS_printSectionForceDeformation@@YAXAAVOPS_Stream@@H@Z) referenced in function "public: virtual void __thiscall Domain::Print(class OPS_Stream &,int)" (?Print@Domain@@UAEXAAVOPS_Stream@@H@Z) C:\opensees\3\material\cpp\Masonpan12\Masonpan12\Domain.obj Masonpan12
The element is Masonpan12
I have installed tcl 8.5 because the compiled version of Opensees 3.2 runs ok with it.
Do you have any idea about this kind of problem?
thanks and regards
I have sucessfully compiled my own materials and elements in VS2010 for Opensees 2.5, now I'm tryin to compile the
same elements and materials for version 3.0 and 3.2 and I have some problems.
I have followed all the instructions in the .txt file and I can't find the error
I have tried witn incremental link yes and no and I have no success
Error 2 error LNK2019: unresolved external symbol "void __cdecl OPS_printCrdTransf(class OPS_Stream &,int)" (?OPS_printCrdTransf@@YAXAAVOPS_Stream@@H@Z) referenced in function "public: virtual void __thiscall Domain::Print(class OPS_Stream &,int)" (?Print@Domain@@UAEXAAVOPS_Stream@@H@Z) C:\opensees\3\material\cpp\Masonpan12\Masonpan12\Domain.obj Masonpan12
Error 3 error LNK2019: unresolved external symbol "void __cdecl OPS_printSectionForceDeformation(class OPS_Stream &,int)" (?OPS_printSectionForceDeformation@@YAXAAVOPS_Stream@@H@Z) referenced in function "public: virtual void __thiscall Domain::Print(class OPS_Stream &,int)" (?Print@Domain@@UAEXAAVOPS_Stream@@H@Z) C:\opensees\3\material\cpp\Masonpan12\Masonpan12\Domain.obj Masonpan12
The element is Masonpan12
I have installed tcl 8.5 because the compiled version of Opensees 3.2 runs ok with it.
Do you have any idea about this kind of problem?
thanks and regards
- Fri Feb 10, 2017 10:08 am
- Forum: Framework
- Topic: Is there a way to make the material call the element
- Replies: 4
- Views: 6051
Re: Is there a way to make the material call the element
Hi baozai ,
Did you have success with your implementation?
I'm doing something similar with my element and material, I need to change the backbone curve depending on the stress level on the element. Do you have your code to share and see how you did it?
Thank you very much.
GST.
Did you have success with your implementation?
I'm doing something similar with my element and material, I need to change the backbone curve depending on the stress level on the element. Do you have your code to share and see how you did it?
Thank you very much.
GST.
- Mon May 02, 2016 12:05 pm
- Forum: Framework
- Topic: Giberson beam model
- Replies: 0
- Views: 2471
Giberson beam model
Dear All,
Does anyone has implemented the Giberson one component beam model in to OpenSees?
Thanks!
Does anyone has implemented the Giberson one component beam model in to OpenSees?
Thanks!
- Wed Jun 10, 2015 1:31 pm
- Forum: Framework
- Topic: Problem with new element
- Replies: 1
- Views: 2887
Problem with new element
Dear Frank,
I'm adding a new element but get errors when compiling.
I have read the guide to add a new element in C ++, the guide to compile and source code of several elements (truss2D.cpp, FourNodeQuad.cpp, ZeroLength.cpp, etc) to write the new element that has 6 materials. Still, I do not succeed to compile the code.
I can send you the file and .cpp .h to tell me that I'm wrong?
I could compile a new material but not the new element.
The file is not complex, but is long to copy here.
Some errors are:
Error 1 error C2440: '=' : cannot convert from 'UniaxialMaterial **' to 'UniaxialMaterial *'
Error 9 error C2601: 'MasonPan::commitState' : local function definitions are illegal
Error 5 error C2601: 'MasonPan::getExternalNodes' : local function definitions are illegal
Error 14 error C2601: 'MasonPan::getInitialStiff' : local function definitions are illegal Error 6 error C2601: 'MasonPan::getNodePtrs' : local function definitions are illegal
Error 7 error C2601: 'MasonPan::getNumDOF' : local function definitions are illegal
Error 13 error C2601: 'MasonPan::getTangentStiff' : local function definitions are illegal
Error 10 error C2601: 'MasonPan::revertToLastCommit' : local function definitions are illegal
Error 11 error C2601: 'MasonPan::revertToStart' : local function definitions are illegal
Error 8 error C2601: 'MasonPan::setDomain' : local function definitions are illegal
Error 3 error C2678: binary '==' : no operator found which takes a left-hand operand of type 'UniaxialMaterial' (or there is no acceptable conversion)
25 IntelliSense: expected a ';'
50 IntelliSense: identifier "end10Ptr" is undefined ---------------- [b]//end10Ptr and others are defined!!!!!!!![/b]
53 IntelliSense: identifier "end11Ptr" is undefined
60 IntelliSense: identifier "Nd1" is undefined
52 IntelliSense: identifier "Nd10" is undefined
Thank you very much for your help and time!!
Gonzalo
I'm adding a new element but get errors when compiling.
I have read the guide to add a new element in C ++, the guide to compile and source code of several elements (truss2D.cpp, FourNodeQuad.cpp, ZeroLength.cpp, etc) to write the new element that has 6 materials. Still, I do not succeed to compile the code.
I can send you the file and .cpp .h to tell me that I'm wrong?
I could compile a new material but not the new element.
The file is not complex, but is long to copy here.
Some errors are:
Error 1 error C2440: '=' : cannot convert from 'UniaxialMaterial **' to 'UniaxialMaterial *'
Error 9 error C2601: 'MasonPan::commitState' : local function definitions are illegal
Error 5 error C2601: 'MasonPan::getExternalNodes' : local function definitions are illegal
Error 14 error C2601: 'MasonPan::getInitialStiff' : local function definitions are illegal Error 6 error C2601: 'MasonPan::getNodePtrs' : local function definitions are illegal
Error 7 error C2601: 'MasonPan::getNumDOF' : local function definitions are illegal
Error 13 error C2601: 'MasonPan::getTangentStiff' : local function definitions are illegal
Error 10 error C2601: 'MasonPan::revertToLastCommit' : local function definitions are illegal
Error 11 error C2601: 'MasonPan::revertToStart' : local function definitions are illegal
Error 8 error C2601: 'MasonPan::setDomain' : local function definitions are illegal
Error 3 error C2678: binary '==' : no operator found which takes a left-hand operand of type 'UniaxialMaterial' (or there is no acceptable conversion)
25 IntelliSense: expected a ';'
50 IntelliSense: identifier "end10Ptr" is undefined ---------------- [b]//end10Ptr and others are defined!!!!!!!![/b]
53 IntelliSense: identifier "end11Ptr" is undefined
60 IntelliSense: identifier "Nd1" is undefined
52 IntelliSense: identifier "Nd10" is undefined
Thank you very much for your help and time!!
Gonzalo
- Thu May 28, 2015 8:32 am
- Forum: Documentation
- Topic: Shear spring material model
- Replies: 2
- Views: 5282
Re: Shear spring material model
Hi,
Could you please share the modified material source code?
Thank you in advance!
G. Torrisi
Could you please share the modified material source code?
Thank you in advance!
G. Torrisi
- Tue Apr 21, 2015 3:38 am
- Forum: Framework
- Topic: New complex element
- Replies: 2
- Views: 3690
Re: New complex element
Thank you Frank, it was very helpfull! The next time I will post the .h file too.
- Thu Apr 16, 2015 12:35 pm
- Forum: Framework
- Topic: New complex element
- Replies: 2
- Views: 3690
New complex element
Dear Frank,
First of all, I'm not a Objet Oriented Programmer, so I'm writing my own element routine by myself, based on the examples in the source code and reading some books about OOP.
I'm trying to implement a new element with 7 sub elements. The first 6 subelements uses the material #1 and the last element use the material #2.
I wanted to know if this part of the code is correct or if there is a simpler way to do it.
Thank you very much for your time and patience.
Best regards,
Gonzalo
int matID1 = iData[13];
UniaxialMaterial *theMaterial = OPS_GetUniaxialMaterial(matID1);
int matID2 = iData[14];
UniaxialMaterial *theMaterial2 = OPS_GetUniaxialMaterial(matID2);
if (theMaterial == 0) {
opserr << "WARNING material with tag " << matID1 << "not found for element " << eleTag << endln;
return 0;
}
if (theMaterial2 == 0) {
opserr << "WARNING material with tag " << matID2 << "not found for element " << eleTag << endln;
return 0;
}
// now create the Panel and add it to the Domain
thePanel = new MasonPan(eleTag, iData[1], iData[2], iData[3], iData[4], iData[5], iData[6], iData[7], iData[8], iData[9], iData[10], iData[11], iData[12], *theMaterial, *theMaterial2, dData[0], dData[1], dData[2], dData[3], dData[4], dData[5], dData[6]);
if (thePanel == 0) {
opserr << "WARNING ran out of memory creating element with tag " << eleTag << endln;
delete [] theMaterial;
delete [] theMaterial2;
return 0;
}
return thePanel;
}
// typical constructor
MasonPan::MasonPan(int tag,
int Nd1, int Nd2, int Nd3, int Nd4, int Nd5, int Nd6,
int Nd7, int Nd8, int Nd9, int Nd10, int Nd11, int Nd12,
UniaxialMaterial &theMat, UniaxialMaterial &theMat2,
double a1, double a2, double d1, double d2, double thick,
double w1,double wr)
:Element(tag, 0),
externalNodes(12),
trans(1,24), L(0.0), A1(a1),A2(a2),D1(d1), D2(d2), TH(thick), W1(w1), WR(wr),
L1(0.0),L2(0.0),L3(0.0),L4(0.0),L5(0.0),L6(0.0)
{
// get a copy of the material object for our own use
// theMaterial = theMat.getCopy();
//if (theMaterial == 0) {
// opserr << "FATAL MassonPan::MasonPan() - out of memory, could not get a copy of the Material\n";
// exit(-1);
// }
// allocate memory for numMaterials1d uniaxial material models
theMaterial = new UniaxialMaterial* [6];
theMaterial2= new UniaxialMaterial
if ( theMaterial == 0 ) {
opserr << "FATAL MasonPan::MasonPan - failed to create a 1d material or direction array\n";
exit(-1);
}
// get a copy of the material and check we obtained a valid copy
for (int i=0; i<6; i++) {
theMaterial[i] = theMat[i]->getCopy();
if (theMaterial[i] == 0) {
opserr << "FATAL MasonPan::MasonPan - failed to get a copy of material " <<theMat[i]->getTag() << endln;
exit(-1);
}
}
theMaterial2= theMat2->getCopy;
First of all, I'm not a Objet Oriented Programmer, so I'm writing my own element routine by myself, based on the examples in the source code and reading some books about OOP.
I'm trying to implement a new element with 7 sub elements. The first 6 subelements uses the material #1 and the last element use the material #2.
I wanted to know if this part of the code is correct or if there is a simpler way to do it.
Thank you very much for your time and patience.
Best regards,
Gonzalo
int matID1 = iData[13];
UniaxialMaterial *theMaterial = OPS_GetUniaxialMaterial(matID1);
int matID2 = iData[14];
UniaxialMaterial *theMaterial2 = OPS_GetUniaxialMaterial(matID2);
if (theMaterial == 0) {
opserr << "WARNING material with tag " << matID1 << "not found for element " << eleTag << endln;
return 0;
}
if (theMaterial2 == 0) {
opserr << "WARNING material with tag " << matID2 << "not found for element " << eleTag << endln;
return 0;
}
// now create the Panel and add it to the Domain
thePanel = new MasonPan(eleTag, iData[1], iData[2], iData[3], iData[4], iData[5], iData[6], iData[7], iData[8], iData[9], iData[10], iData[11], iData[12], *theMaterial, *theMaterial2, dData[0], dData[1], dData[2], dData[3], dData[4], dData[5], dData[6]);
if (thePanel == 0) {
opserr << "WARNING ran out of memory creating element with tag " << eleTag << endln;
delete [] theMaterial;
delete [] theMaterial2;
return 0;
}
return thePanel;
}
// typical constructor
MasonPan::MasonPan(int tag,
int Nd1, int Nd2, int Nd3, int Nd4, int Nd5, int Nd6,
int Nd7, int Nd8, int Nd9, int Nd10, int Nd11, int Nd12,
UniaxialMaterial &theMat, UniaxialMaterial &theMat2,
double a1, double a2, double d1, double d2, double thick,
double w1,double wr)
:Element(tag, 0),
externalNodes(12),
trans(1,24), L(0.0), A1(a1),A2(a2),D1(d1), D2(d2), TH(thick), W1(w1), WR(wr),
L1(0.0),L2(0.0),L3(0.0),L4(0.0),L5(0.0),L6(0.0)
{
// get a copy of the material object for our own use
// theMaterial = theMat.getCopy();
//if (theMaterial == 0) {
// opserr << "FATAL MassonPan::MasonPan() - out of memory, could not get a copy of the Material\n";
// exit(-1);
// }
// allocate memory for numMaterials1d uniaxial material models
theMaterial = new UniaxialMaterial* [6];
theMaterial2= new UniaxialMaterial
if ( theMaterial == 0 ) {
opserr << "FATAL MasonPan::MasonPan - failed to create a 1d material or direction array\n";
exit(-1);
}
// get a copy of the material and check we obtained a valid copy
for (int i=0; i<6; i++) {
theMaterial[i] = theMat[i]->getCopy();
if (theMaterial[i] == 0) {
opserr << "FATAL MasonPan::MasonPan - failed to get a copy of material " <<theMat[i]->getTag() << endln;
exit(-1);
}
}
theMaterial2= theMat2->getCopy;
- Thu Feb 12, 2015 2:46 pm
- Forum: Framework
- Topic: material with two variables
- Replies: 2
- Views: 3355
Re: material with two variables
Can I call the material using the strainrate as Axial force?
p.e.:in the element definition:
theMaterial->setTrialStrain(strain,Axialforce)
In this way I can use the Axial force in the material model.
Is this possible?
Thank you very much for your time and help.
p.e.:in the element definition:
theMaterial->setTrialStrain(strain,Axialforce)
In this way I can use the Axial force in the material model.
Is this possible?
Thank you very much for your time and help.
- Sat Nov 01, 2014 6:53 am
- Forum: Framework
- Topic: material with two variables
- Replies: 2
- Views: 3355
material with two variables
Hello everyone ,
I am adding a new material to OpenSees and I've seen that all materials depend only on the strain , then with the value of strain can obtain the new state.
I want a material which not only depends on the deformation but also depends on the level of axial load , frictional materials where resistance varies with the axial load and the sign depends on the displacement . Can this be done ?
It would be like the frictional material proposed in the Crisafulli's thesis .
Thank you very much for your help!
I am adding a new material to OpenSees and I've seen that all materials depend only on the strain , then with the value of strain can obtain the new state.
I want a material which not only depends on the deformation but also depends on the level of axial load , frictional materials where resistance varies with the axial load and the sign depends on the displacement . Can this be done ?
It would be like the frictional material proposed in the Crisafulli's thesis .
Thank you very much for your help!
- Sat Nov 01, 2014 6:49 am
- Forum: Framework
- Topic: building opensees
- Replies: 3
- Views: 4531
Re: building opensees
Ok, now it is running!! thank you!!!