Search found 19 matches

by ArdalanNejat
Thu Jan 30, 2014 10:30 am
Forum: OpenSees.exe Users
Topic: shell element accuracy issue
Replies: 2
Views: 3748

Re: shell element accuracy issue

dear fmk thank you so much for quick and brilliant response of yours this meant a lot for me thanks for your precoius time, and off course i will review my text books about finite element.
by ArdalanNejat
Thu Jan 30, 2014 6:44 am
Forum: OpenSees.exe Users
Topic: shell element accuracy issue
Replies: 2
Views: 3748

shell element accuracy issue

Dear fmk,
I'm modeling a simple 1 story wall using every possible element in OpenSees( ShellMITC4,quad,spsbrick,stdbrick,...) and using it correctly like verification example "PlanarShearWall" but results are so different from Sap2000(I couldn't reproduce answers you assign to sap results in "PlanarShearWall.tcl" file) and ANSYS,(mesh size in OpenSees, SAP and ANSYS is same and equal to 1 by 1 )would you please guide me a little it's so urgent, please....
here is the code:
wipe

set nxBay 1
set nyFloor 1
set floorHeight 120.
set bayWidth 120.
set numFloor 1
set numBay 1
set E 3000
set v 0.2
set t 12

model basic -ndm 3 -ndf 6

section ElasticMembranePlateSection 1 $E $v $t 0.0

set Plate shell

set eleArgs "1"

set nx [expr $numBay * $nxBay]; # number of elements along building length
set ny [expr $numFloor * $nyFloor]; # number of elements along building height

set nodeTop [expr ($nx+1)*$ny + 1]


set blockCmd "block2D $nx $ny 1 1 $Plate $eleArgs {
1 0. 0. 0.
2 [expr $bayWidth * $numBay] 0. 0.
3 [expr $bayWidth * $numBay] [expr $floorHeight * $numFloor] 0.
4 0. [expr $floorHeight * $numFloor] 0.
}"

eval $blockCmd

# add some loads
pattern Plain 1 Linear {
load $nodeTop 100 0 0 0 0 0
}

fixY 0.0 1 1 1 1 1 1


#floor constraints
for {set i 1} {$i <= $numFloor} {incr i 1} {
set mNode [expr ($nx+1)*$nyFloor*$i + 1]
for {set j 1} {$j <= $nx} {incr j 1} {
equalDOF $mNode [expr $mNode+$j] 1
}
}

integrator LoadControl 1.0
algorithm Linear
numberer RCM
constraints Plain
#system ProfileSPD
system UmfPack
analysis Static

analyze 1

set disp [nodeDisp $nodeTop 1]
puts $disp
wipe
#print -ele
#print -node


here is top node displacement: OpenSees 0.01109 SAP2000: 0.0145
by ArdalanNejat
Wed Jan 01, 2014 8:46 am
Forum: Framework
Topic: Windows 64bit compilation
Replies: 4
Views: 7323

Re: Windows 64bit compilation

Dear johnnyontheweb,
well with all the respect for dear fmk, but I couldn't build opensees by tcl 64 bit!!!! actually it's kinda ridiculous I completely removed X64 tcl and installed x86 tcl and magical! it worked! hear is complete instruction:
1.download rev5641
2.install X86 version of tcl (no matter what platform you use x64 or x86) http://www.activestate.com/activetcl/do ... readed.exe
3.open opensees solution by VS
4.set active project to opensees or openseestk or quickmain
5.set SAFEEH to NO for opensees and openseestk and quickmain project(project properties/linker/advanced/last option)
6.add ...\OTHER\triangle as additional dependency for element project
7.build the entire solution
you shouldn't experience any problem but if you did tell me.
by ArdalanNejat
Wed Dec 11, 2013 9:47 pm
Forum: OpenSees.exe Users
Topic: p-delta effect
Replies: 8
Views: 11088

Re: p-delta effect

Dear all,
thank you so much for your help
by ArdalanNejat
Tue Dec 10, 2013 11:12 pm
Forum: OpenSees.exe Users
Topic: p-delta effect
Replies: 8
Views: 11088

Re: p-delta effect

Dear fmk,
thank you so much for quick response, actually I knew that OpenSees do the P-large delta but I was seeking a way to do both P-Delta & P-delta by only one element (not by breaking it up into some elements) and you just showed me a way in 2D thanks! by the way would you please give me OpenSees documentation link? thank you so much
by ArdalanNejat
Tue Dec 10, 2013 3:38 am
Forum: OpenSees.exe Users
Topic: p-delta effect
Replies: 8
Views: 11088

Re: p-delta effect

dear nazgol,
did you solve this issue? I'm dealing with it now, I need help please...I checked last revision(5634) but I get same results as you did !
by ArdalanNejat
Sat Dec 07, 2013 12:13 am
Forum: Framework
Topic: Building On X64 Platform
Replies: 5
Views: 6067

Re: Building On X64 Platform

Dear Bag006,
Off course I gave it a try and numerous LNK2019 error showed up from VS and I changed my windows to 32bit platform and all of errors vanished and everything now works fine in 32bit windows but I'm sick of 32bit windows so I wondered if anyone did the compiling and building on 64bit windows successfully!
by ArdalanNejat
Fri Dec 06, 2013 11:33 am
Forum: Framework
Topic: Building On X64 Platform
Replies: 5
Views: 6067

Building On X64 Platform

Dear all,
can anyone compile and build opensees on x64 platform without any link error?
If yes, would you please explain steps for me please?
by ArdalanNejat
Mon Dec 02, 2013 11:56 am
Forum: Framework
Topic: ANALYSIS STEPS IN DEEP
Replies: 2
Views: 3064

Re: ANALYSIS STEPS IN DEEP

dear brag006 I've followd your posts in forum and I guess you got the main picture of opensees can I ask you a few questions about it? I'm sorry for asking this here but I really need help for my thesis, here is my e-mail and thank you so much.
ardalan.nejat@hotmail.com
by ArdalanNejat
Sat Nov 30, 2013 11:46 pm
Forum: Framework
Topic: ANALYSIS STEPS IN DEEP
Replies: 2
Views: 3064

ANALYSIS STEPS IN DEEP

Dear All,
I have two questions!
1-I follow the code debugging and I guess every assembly and forming stiffness matrix is happening at TransformationConstraintHandler is that correct?
2-what is it you are doing in this piece of code?
int numSPConstraints = 0;
SP_ConstraintIter &theSP1s = theDomain->getDomainAndLoadPatternSPs();
SP_Constraint *theSP1;
while ((theSP1 = theSP1s()) != 0)
numSPConstraints++;
thanks
by ArdalanNejat
Sat Nov 30, 2013 10:20 pm
Forum: Framework
Topic: A simple c++ shell problem
Replies: 11
Views: 13145

Re: A simple c++ shell problem

#include <stdlib.h>
#include <conio.h>
#include <OPS_Globals.h>
#include <StandardStream.h>
#include <ModelBuilder.h>
#include <SectionForceDeformation.h>
#include <ArrayOfTaggedObjects.h>

// includes for the domain classes
#include <Domain.h>
#include <Node.h>
#include <Truss.h>
#include <ElasticMaterial.h>
#include <SP_Constraint.h>
#include <LoadPattern.h>
#include <LinearSeries.h>
#include <NodalLoad.h>

// includes for the analysis classes
#include <StaticAnalysis.h>
#include <AnalysisModel.h>
#include <Linear.h>
#include <PenaltyConstraintHandler.h>
#include <DOF_Numberer.h>
#include <RCM.h>
#include <LoadControl.h>
#include <BandSPDLinSOE.h>
#include <BandSPDLinLapackSolver.h>
//#include <ElasticBeam2d.h>
///////////////////////////////////////////////////////////////////////////////
// standard C++ includes
#include <stdlib.h>
#include <iostream>
#include <conio.h>
#include <G3Globals.h>
#include <ConsoleErrorHandler.h>
#include <CrdTransf.h>
#include <ArrayOfTaggedObjects.h>
#include <MapOfTaggedObjects.h>
#include <MapOfTaggedObjectsIter.h>

// includes for the domain classes
#include <Domain.h>
#include <Node.h>
//#include <Truss.h>
//#include <Brick.h>
//MATERIAL
#include <ElasticIsotropicMaterial.h>
#include <FiberSectionRepr.h>
//#include <ElasticMaterial.h>
//a#include <ElasticIsotropic3D.h>
#include <ElasticForceBeamColumn2d.h>
#include <SP_Constraint.h>
#include <LoadPattern.h>
#include <LinearSeries.h>
#include <NodalLoad.h>

// includes for the analysis classes
#include <StaticAnalysis.h>
#include <AnalysisModel.h>
#include <Linear.h>
#include <PenaltyConstraintHandler.h>
#include <DOF_Numberer.h>
#include <RCM.h>
#include <LoadControl.h>
#include <BandSPDLinSOE.h>
#include <BandSPDLinLapackSolver.h>
#include <NDMaterial.h>
#include <MovableObject.h>
#include <TaggedObject.h>
#include <LinearCrdTransf2d.h>
#include <CorotCrdTransf2d.h>
#include <LinearCrdTransf3d.h>
//#include <ModElasticBeam2d.h>
#include <CorotCrdTransf3d.h>
#include <Beam2dUniformLoad.h>
#include <Channel.h>
#include <Beam2dPointLoad.h>
#include <ElasticSection2d.h>
#include <BeamIntegration.h>
#include <Concrete01.h>
#include <Steel01.h>
#include <Fiber.h>
#include <WideFlangeSectionIntegration.h>
#include <NDFiberSection2d.h>
#include <LinearCrdTransf2dInt.h>
#include <LegendreBeamIntegration.h>
#include <ForceBeamColumn2d.h>
#include <RCSectionIntegration.h>
#include <FiberSection2d.h>
#include <PDeltaCrdTransf2d.h>
#include <ElasticMembranePlateSection.h>
#include <ShellMITC4.h>
#include <PDeltaCrdTransf3d.h>
#include <ForceBeamColumn3d.h>
#include <ElasticBeam3d.h>
#include <Beam3dUniformLoad.h>
#include <CorotCrdTransf3d.h>
#include <LinearCrdTransf3d.h>
#include <ElasticIsotropicThreeDimensional.h>
#include <NDFiberSection3d.h>
#include <ElasticSection3d.h>
#include <Matrix.h>
#include <MP_Constraint.h>
#include <MP_ConstraintIter.h>
#include <RigidDiaphragm.h>
#include <ID.h>
#include <TrapezoidalBeamIntegration.h>
#include <NewtonCotesBeamIntegration.h>
#include <SparseGenColLinSolver.h>
#include <SuperLU.h>
#include <TransformationConstraintHandler.h>
#include <SparseGenColLinSOE.h>
#include <PlateFiberMaterial.h>
#include <MembranePlateFiberSection.h>
#include <ElasticPlateSection.h>
#include <PlainHandler.h>
#include <PlainNumberer.h>
#include <ModifiedNewton.h>
#include <CTestNormDispIncr.h>
#include <BandGenLinSolver.h>
#include <BandGenLinLapackSolver.h>
#include <ProfileSPDLinSolver.h>
#include <ProfileSPDLinDirectSolver.h>
#include <ProfileSPDLinSOE.h>



StandardStream sserr;
OPS_Stream *opserrPtr = &sserr;

int main(int argc, char **argv)
{
Domain *theDomain = new Domain();



Node *node1 = new Node(1, 6, 0, 0, 0);
Node *node2 = new Node(2, 6, 1, 0, 0);
Node *node3 = new Node(3, 6, 1, 1, 0);
Node *node4 = new Node(4, 6, 0, 1, 0);
theDomain->addNode(node1);
theDomain->addNode(node2);
theDomain->addNode(node3);
theDomain->addNode(node4);
SP_Constraint *theSP1 = new SP_Constraint(1, 0, 0.0, true);
SP_Constraint *theSP2 = new SP_Constraint(1, 1, 0.0, true);
SP_Constraint *theSP3 = new SP_Constraint(1, 2, 0.0, true);
SP_Constraint *theSP7 = new SP_Constraint(2, 0, 0.0, true);
SP_Constraint *theSP8 = new SP_Constraint(2, 1, 0.0, true);
SP_Constraint *theSP9 = new SP_Constraint(2, 2, 0.0, true);
SP_Constraint *theSP13 = new SP_Constraint(4, 0, 0.0, true);
SP_Constraint *theSP14 = new SP_Constraint(4, 1, 0.0, true);
SP_Constraint *theSP15 = new SP_Constraint(4, 2, 0.0, true);
theDomain->addSP_Constraint(theSP1);
theDomain->addSP_Constraint(theSP2);
theDomain->addSP_Constraint(theSP3);
theDomain->addSP_Constraint(theSP7);
theDomain->addSP_Constraint(theSP8);
theDomain->addSP_Constraint(theSP9);
theDomain->addSP_Constraint(theSP13);
theDomain->addSP_Constraint(theSP14);
theDomain->addSP_Constraint(theSP15);
NDMaterial *themat01 = new ElasticIsotropicMaterial(1, 2.e+11, 0.3);
NDMaterial *theplatefiber01 = new PlateFiberMaterial(4, *themat01);
SectionForceDeformation *thesec01 = new MembranePlateFiberSection(1, 0.02, *theplatefiber01);
SectionForceDeformation *theshellsection01 = new ElasticMembranePlateSection(1, 2.039E+10, 0.3, .25);
Element *theShellElement1 = new ShellMITC4(1, 1, 2, 3, 4, *thesec01);
theDomain->addElement(theShellElement1);



TimeSeries *theSeries = new LinearSeries();

LoadPattern *theLoadPattern = new LoadPattern(1,1);
theLoadPattern->setTimeSeries(theSeries);
theDomain->addLoadPattern(theLoadPattern);
Vector theLoadValues1(6);
theLoadValues1.Zero();
theLoadValues1(2) = -1000;
NodalLoad *theLoad1 = new NodalLoad(1, 3, theLoadValues1);
theDomain->addNodalLoad(theLoad1, 1);



ConstraintHandler *theHandler1 = new PlainHandler();
DOF_Numberer *theNumberer1 = new PlainNumberer();
BandGenLinSolver *theSolver1 = new BandGenLinLapackSolver();
double tol = 1e-8;
int numIter = 6, printIt = 0, normType = 2;
ConvergenceTest *theNewTest1 = new CTestNormDispIncr(tol, numIter, printIt, normType);
EquiSolnAlgo *theSolnAlgo1 = new ModifiedNewton(*theNewTest1,0);
int numIter1 = 1, dLambda = 1, minIncr = 1, maxIncr = 1;
StaticIntegrator *theStaticIntegrator1 = new LoadControl(dLambda, numIter1, minIncr, maxIncr);
AnalysisModel *theAnalysisModel1 = new AnalysisModel();
ProfileSPDLinSolver *theSolver;
theSolver = new ProfileSPDLinDirectSolver();
LinearSOE *theSOE1 = new ProfileSPDLinSOE(*theSolver);

StaticAnalysis theAnalysis1(*theDomain,
*theHandler1,
*theNumberer1,
*theAnalysisModel1,
*theSolnAlgo1,
*theSOE1,
*theStaticIntegrator1,
theNewTest1);
int numSteps = 1;
theAnalysis1.analyze(numSteps);
opserr << *theDomain;
opserr << getch();
exit(0);
}
by ArdalanNejat
Sat Nov 30, 2013 3:14 am
Forum: Framework
Topic: A simple c++ shell problem
Replies: 11
Views: 13145

Re: A simple c++ shell problem

I have the compelete main file of it if anyone wants it just let me know
by ArdalanNejat
Sat Nov 30, 2013 3:11 am
Forum: Framework
Topic: Compiling Opensees Without Tcl
Replies: 4
Views: 5614

Re: Compiling Opensees Without Tcl

Dear cobalt,
I figured out how to build it,
here is how:
1:use 32bit windows
2:use visual studio (because it uses visual C++ compiler)
3:create a new solution
4:add source files which are in quickmain project to it as source file(main.cpp,elemen_API.cpp,vc2005.cpp)
5:find all header files *.h files in a good revision (5563 is good) then copy them into a new directory(e.g headers)
6:find all *.lib files and copy them into new directory(e.g library)
7:adress "headers" directory as additional dependency in project properties(properties\config...properties\C\C++\general\additional include directory)
8:adress "library" directory as additional library directory
9:name all libs (about 37libs) as input for additional dependencies
if you got c4996 error then navigate to project properties and set sdl check to none and warning level to OFF and then surely the things going to work correctly contact me if any other thing shown up! good luck
by ArdalanNejat
Mon Sep 30, 2013 11:40 pm
Forum: Framework
Topic: Example 1 By C++
Replies: 0
Views: 2888

Example 1 By C++

Dear All,
I've been trying to solve example 1 by C++, first the console app. said that there is no node 5 in domain so I change SP_CONSTRAINT arguments to these
SP_Constraint *sp1 = new SP_Constraint(1, 0, 0.0);
SP_Constraint *sp2 = new SP_Constraint(1, 1, 0.0);
SP_Constraint *sp3 = new SP_Constraint(2, 0, 0.0);
SP_Constraint *sp4 = new SP_Constraint(2, 1, 0.0);
SP_Constraint *sp5 = new SP_Constraint(3, 0, 0.0);
SP_Constraint *sp6 = new SP_Constraint(3, 1, 0.0);
after this change the program ran successfully but the answers are wrong and they are completely different from opensees.exe(ran by Tcl) please help me for this thank you so much.
the wrong answers:


/***************************************************/
Current Domain Information
Current Time: 1
tCommitted Time: 1

NODE DATA: NumNodes: 4

Node: 1
Coordinates : 0 0
Disps: 0 0
Velocities : 0 0
unbalanced Load: 0 0
ID : 6 7


Node: 2
Coordinates : 144 0
Disps: 0 0
Velocities : 0 0
unbalanced Load: 0 0
ID : 2 3


Node: 3
Coordinates : 168 0
Disps: 0 0
Velocities : 0 0
unbalanced Load: 0 0
ID : 0 1


Node: 4
Coordinates : 72 96
Disps: 100 -50
Velocities : 0 0
unbalanced Load: 100 -50
ID : 4 5


ELEMENT DATA: NumEle: 3
Element: 1 type: Truss iNode: 1 jNode: 4 Area: 10 Mass/Length: 0
strain: 0.166667 axial load: 5000
unbalanced load: -3000 -4000 3000 4000
Material: Elastic tag: 1
Epos: 3000 Eneg: 3000 eta: 0

Element: 2 type: Truss iNode: 2 jNode: 4 Area: 5 Mass/Length: 0
strain: -0.833333 axial load: -12500
unbalanced load: -7500 10000 7500 -10000
Material: Elastic tag: 1
Epos: 3000 Eneg: 3000 eta: 0

Element: 3 type: Truss iNode: 3 jNode: 4 Area: 5 Mass/Length: 0
strain: -0.78125 axial load: -11718.8
unbalanced load: -8286.41 8286.41 8286.41 -8286.41
Material: Elastic tag: 1
Epos: 3000 Eneg: 3000 eta: 0


SP_Constraints: numConstraints: 6
SP_Constraint: 0 Node: 1 DOF: 0 ref value: 0 current value: 0
SP_Constraint: 1 Node: 1 DOF: 1 ref value: 0 current value: 0
SP_Constraint: 2 Node: 2 DOF: 0 ref value: 0 current value: 0
SP_Constraint: 3 Node: 2 DOF: 1 ref value: 0 current value: 0
SP_Constraint: 4 Node: 3 DOF: 0 ref value: 0 current value: 0
SP_Constraint: 5 Node: 3 DOF: 1 ref value: 0 current value: 0

Pressure_Constraints: numConstraints: 0

MP_Constraints: numConstraints: 0

LOAD PATTERNS: numPatterns: 1

Load Pattern: 1
Scale Factor: 1
Linear Series: constant factor: 1
Nodal Loads:
Nodal Load: 4 load : 100 -50

Elemental Loads:

Single Point Constraints:

PARAMETERS: numParameters: 0