Hello everyone,
First of all I m a begginer at C++ and OpenSees. And what I am trying to do is to modify an already available uniaxial material.
I just copied it's .cpp an .h files and renamed them then compiled. It did not work and gave "WARNING could not create uniaxialMaterial of type mymaterial" error. Then I checked my new material with the example ElasticPPcpp material and realize some extra definitions in ElasticPPcpp.cpp as given below:
#ifdef _USRDLL
#define OPS_Export extern "C" _declspec(dllexport)
#elif _MACOSX
#define OPS_Export extern "C" __attribute__((visibility("default")))
#else
#define OPS_Export extern "C"
#endif
and
OPS_Export
at the begining of the code. When I added these in mymaterial.cpp (not sure if its right to add them or not) and added my material's tag to classTag.h, OpenSees accepted my material.
But now I have another problem. I created a model with already available material which I validated it by comparing with SAP2000 model. Then I just replaced the material with "mymaterial", note that "mymaterial" is exactly same with the already available one except the codes added to make "mymaterial" work as stated above. Now I have :
WARNING BandGenLinLapackSolver::solve() -LAPACK routine returned 2
WARNING NewtonRaphson::solveCurrentStep() -theLinearSysOfEqn failed in solve()
DirectIntegrationAnalysis::analyze() - the Algorithmfailed at time 0.01
analyze failed, returned -3 error flag
Any ideas about this situation?
Thanks in advance.
New uniaxial material solver problem
Moderators: silvia, selimgunay, Moderators
-
- Posts: 1
- Joined: Mon Feb 04, 2019 4:12 am
- Location: Bogazici University