Search found 25 matches

by yaqiang.jiang
Mon Jan 24, 2011 3:39 pm
Forum: Framework
Topic: linking errors to SOE and Solver
Replies: 3
Views: 5047

Re: linking errors to SOE and Solver

fmk wrote:
> looks like it is missing some standard fortran libraries that are not
> linked when you use a c++ compiler


problem solved, bunch of thanks :)
by yaqiang.jiang
Mon Jan 24, 2011 2:38 pm
Forum: Framework
Topic: linking errors to SOE and Solver
Replies: 3
Views: 5047

Re: linking errors to SOE and Solver

fmk wrote:
> looks like it is missing some standard fortran libraries that are not
> linked when you use a c++ compiler

Frank,
Thanks for your reply. I included additional libraries supplied in the OpenSees lib folder. The problem was almost solved, almost.... but still have 2 errors:

1>------ Build started: Project: htmain, Configuration: Debug Win32 ------
1>Linking...
1>libm.lib(libm_error.obj) : error LNK2019: unresolved external symbol _errno referenced in function ___libm_error_support
1>..\..\..\EXAMPLES\ht example\htmain.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://n:\myhome\OpenSees\Win32\obj\htmain\debug\BuildLog.htm"
1>htmain - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 8 up-to-date, 0 skipped ==========

How should I deal with those two errors? Thanks again for your further comments : )
by yaqiang.jiang
Mon Jan 24, 2011 11:23 am
Forum: Framework
Topic: linking errors to SOE and Solver
Replies: 3
Views: 5047

linking errors to SOE and Solver

Dear Frank,
I've created a main function to solve heat transfer problem by using some of the OpenSees classes. In my main file, I included the following two headers.

#include <BandGenLinSOE.h>
#include <BandGenLinLapackSolver.h>;

Then I got massive errors related to blas.lib and lapack.lib. Seems the two are Fortran libraries and I have no idea how to get the problem handled. Could you plz give some hints about the solutions? Thanks a lot .

1>------ Build started: Project: htmain, Configuration: Debug Win32 ------
1>Linking...
1>blas.lib(dtrmv.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>blas.lib(idamax.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>blas.lib(dscal.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>blas.lib(dcopy.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>blas.lib(dtrmm.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>blas.lib(dtbsv.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>blas.lib(dgemv.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>blas.lib(dgemm.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>blas.lib(dtrsm.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(dgbtf2.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(dtrti2.obj) : error LNK2019: unresolved external symbol _for_emit_diagnostic referenced in function _DTRTI2
1>blas.lib(dswap.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>blas.lib(dger.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(ilaenv.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(dtrtri.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(dgetf2.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(dlaswp.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(dgbtrs.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(dgetri.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(dgetrf.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(dgbtrf.obj) : error LNK2001: unresolved external symbol _for_emit_diagnostic
1>lapack.lib(xerbla.obj) : error LNK2019: unresolved external symbol _for_write_seq_fmt referenced in function _XERBLA
1>lapack.lib(xerbla.obj) : error LNK2019: unresolved external symbol _for_write_seq_fmt_xmit referenced in function _XERBLA
1>lapack.lib(xerbla.obj) : error LNK2019: unresolved external symbol _for_stop_core referenced in function _XERBLA
1>lapack.lib(ilaenv.obj) : error LNK2019: unresolved external symbol _for_cpystr referenced in function _ILAENV
1>lapack.lib(dtrtri.obj) : error LNK2019: unresolved external symbol _for_concat referenced in function _DTRTRI
1>..\..\..\EXAMPLES\ht example\htmain.exe : fatal error LNK1120: 6 unresolved externals
1>Build log was saved at "file://n:\myhome\OpenSees\Win32\obj\htmain\debug\BuildLog.htm"
1>htmain - 27 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 7 up-to-date, 0 skipped ==========
by yaqiang.jiang
Fri Dec 10, 2010 8:53 am
Forum: Framework
Topic: Initial acceleration & Newmark method
Replies: 1
Views: 2385

Initial acceleration & Newmark method

Hi Frank,

I didn't find where and how the initial acceleration is calculated in Newmark.cpp.The initial acceleration is necessary to get the correct load vector at n+1 step (Eqn 11.13-5, Cook's book 4ed). Bunch of thanks in advance for your explanation.
by yaqiang.jiang
Tue Nov 09, 2010 4:59 am
Forum: Framework
Topic: UML Notations in OpenSees
Replies: 1
Views: 2449

UML Notations in OpenSees

Hi Frank,

I noticed in your recent paper, Nonlinear Finite-Element Analysis Software Architecture Using Object Composition,you used the directional association between Domain and its components instead of using aggregation as before. And the relationship between AnalysisModel and DOF_Group/FE_Element is still aggregation.

I would like to know the intention to highlight the difference for the two (one is association and one is aggregation). And what about using the composition notation(filled diamond)?

Thanks!
by yaqiang.jiang
Wed Oct 06, 2010 3:30 am
Forum: Framework
Topic: Confusion with the DirectIntegrationAnalysis::domainChanged
Replies: 1
Views: 2219

Confusion with the DirectIntegrationAnalysis::domainChanged

Dear Frank,

I've got problems with two statements inside the body of DirectIntegrationAnalysis::domainChanged() :

theDOF_Numberer->numberDOF();
theConstraintHandler->doneNumberingDOF();


The two are invoked sequentially and both of them invoke the method FE_Element::setID() to assign equation numbers to all the dofs.What I got confused with is, the numberDOF() has already done the job,why do we still need the doneNumberingDOF there?

Thanks in Advance
:)
by yaqiang.jiang
Tue Sep 14, 2010 4:31 am
Forum: Framework
Topic: how to apply dynamic ElementalLoad on a 2d rectangular plane
Replies: 0
Views: 1759

how to apply dynamic ElementalLoad on a 2d rectangular plane

assume use 4 node quadrilateral element

the distributed load information is read from an input file with the following format:

time x y load
1 0 0 500
1 0 0.5 250
1 0 1 600
....................

The above data is given arbitarily,just for clarification.
The location for each load is exactly the same as the nodal coordinates. Since it's distributed load whereas that is given in a discretized form,I need to make a linear approximation by using the two values at the the nodes.


My question is ,which object should be responsible for reading the external file,the TimeSeries object? And which object should take care of the calculation of linear approximation? Do I need to create a subclass to do this job?
by yaqiang.jiang
Tue Sep 14, 2010 4:29 am
Forum: Framework
Topic: how to apply dynamic ElementalLoad on a 2d rectangular plane
Replies: 0
Views: 1636

how to apply dynamic ElementalLoad on a 2d rectangular plane

assume use 4 node quadrilateral element

the distributed load information is read from an input file with the following format:

time x y load
1 0 0 500
1 0 0.5 250
1 0 1 600
....................

The above data is given arbitarily,just for clarification.
The location for each load is exactly the same as the nodal coordinates. Since it's distributed load whereas that is given in a discretized form,I need to make a linear approximation by using the two values at the the nodes.


My question is ,which object should be responsible for reading the external file,the TimeSeries object? And which object should take care of the calculation of linear approximation? Do I need to create a subclass to do this job?
by yaqiang.jiang
Tue Sep 14, 2010 4:17 am
Forum: Framework
Topic: how to apply dynamic ElementalLoad on a 2d rectangular plane
Replies: 0
Views: 1754

how to apply dynamic ElementalLoad on a 2d rectangular plane

how to apply dynamic ElementalLoad on a 2d rectangular plane

assume use 4 node quadrilateral element

the distributed load information is read from an input file with the following format:

time x y load
1 0 0 500
1 0 0.5 250
1 0 1 600
....................

The above data is given arbitarily,just for clarification.
The location for each load is exactly the same as the nodal coordinates. Since it's distributed load whereas that is given in a discretized form,I need to make a linear approximation by using the two values at the the nodes.


My question is ,which object should be responsible for reading the external file,the TimeSeries object? And which object should take care of the calculation of linear approximation? Do I need to create a subclass to do this job?
by yaqiang.jiang
Tue Sep 14, 2010 4:16 am
Forum: Framework
Topic: how to apply dynamic ElementalLoad on a 2d rectangular plane
Replies: 0
Views: 1577

how to apply dynamic ElementalLoad on a 2d rectangular plane

Dear All and Frank,

It seems I have a tricky problem and badly need your help.
Assume we use 4 node quadrilateral element.

The distributed load information is read from an input file with the following format:

time x y load
1 0 0 500
1 0 0.5 250
1 0 1 600
1 .....................
2 .....................
2 .....................
.............................

The above data is given arbitarily,just for clarification.The location for each load is exactly the same as the nodal coordinates. Since it's distributed load whereas that is given in a discretized form,I need to make a linear approximation by using the two values at the the nodes.

My question is ,which object should be responsible for reading the external file,the TimeSeries object? And which object should take care of the calculation of linear approximation? Do I need to create a subclass to get this job done?

Many thanks for your suggestions!
by yaqiang.jiang
Tue Sep 14, 2010 4:15 am
Forum: Framework
Topic: how to apply dynamic ElementalLoad on a 2d rectangular plane
Replies: 0
Views: 1680

how to apply dynamic ElementalLoad on a 2d rectangular plane

Dear All and Frank,

It seems I have a tricky problem and badly need your help.
Assume we use 4 node quadrilateral element.

The distributed load information is read from an input file with the following format:

time x y load
1 0 0 500
1 0 0.5 250
1 0 1 600
1 .....................
2 .....................
2 .....................
.............................

The above data is given arbitarily,just for clarification.The location for each load is exactly the same as the nodal coordinates. Since it's distributed load whereas that is given in a discretized form,I need to make a linear approximation by using the two values at the the nodes.

My question is ,which object should be responsible for reading the external file,the TimeSeries object? And which object should take care of the calculation of linear approximation? Do I need to create a subclass to get this job done?

Many thanks for your suggestions!
by yaqiang.jiang
Mon Sep 06, 2010 9:38 am
Forum: Framework
Topic: 'knows-a' and 'has-a' in OpenSees
Replies: 1
Views: 2336

'knows-a' and 'has-a' in OpenSees

Dear Frank and all,

I know the above relationships have different semantic meanings; however I can't find obvious differences in the implementation with C++. Take the Analysis object for instance, it knows a Domain object and has an AnalysisModel object, an Integrator object, etc. But in Analysis class, both the Domain object and other subordinate objects appear in pointer form. I just got confused......
Any of your comments will be appreciated.
by yaqiang.jiang
Mon Aug 30, 2010 12:41 am
Forum: Framework
Topic: Constructors of Domain
Replies: 4
Views: 4171

[quote="fmk"]the others are for people experimenting with data structures and determing the best container object for their particaular situation .. it also allow me to test new container objects.[/quote]

Hi Frank,I really appreciate your reply.
by yaqiang.jiang
Sat Aug 21, 2010 11:03 am
Forum: Framework
Topic: Constructors of Domain
Replies: 4
Views: 4171

[quote="fmk"]pick the first.[/quote]
Hi Frank,
Thanks for your reply.But I'm still interested to know the usages for the other three constructors.Could you please give me more details? :)
by yaqiang.jiang
Wed Aug 18, 2010 2:30 pm
Forum: Framework
Topic: Constructors of Domain
Replies: 4
Views: 4171

Constructors of Domain

Dear Frank,
I found there are four constructors for the Domain class,but I don't know which one I should use under a specific situation.Could you please specify the design purpose for each of the four constructors respectively? Bunch of thanks in advance : )

(1)Domain();

(2)Domain(int numNodes, int numElements, int numSPs, int numMPs,int numLoadPatterns);

(3)Domain(TaggedObjectStorage &theNodesStorage,TaggedObjectStorage &theElementsStorage,TaggedObjectStorage &theMPsStorage,TaggedObjectStorage &theSPsStorage,TaggedObjectStorage &theLoadPatternsStorage);

(4)Domain(TaggedObjectStorage &theStorageType);