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
Search found 25 matches
- Mon Jan 24, 2011 3:39 pm
- Forum: Framework
- Topic: linking errors to SOE and Solver
- Replies: 3
- Views: 5047
- 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 : )
> 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 : )
- 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 ==========
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 ==========
- 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.
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.
- 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!
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!
- 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
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
- 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?
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?
- 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?
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?
- 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?
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?
- 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!
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!
- 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!
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!
- 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.
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.
- Mon Aug 30, 2010 12:41 am
- Forum: Framework
- Topic: Constructors of Domain
- Replies: 4
- Views: 4171
- Sat Aug 21, 2010 11:03 am
- Forum: Framework
- Topic: Constructors of Domain
- Replies: 4
- Views: 4171
- 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);
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);