80 is.open(
tablename.c_str(), std :: ifstream :: in);
81 if ( !is.is_open() ) {
86 if ( is >> nbrOfLinesToRead ) {
87 printf(
"NumberofLinestoRead: %d\n", nbrOfLinesToRead);
89 OOFEM_ERROR(
"IntMatIsoDamageTable :: initializeFrom: Error reading table file, first line should be " 90 "an integer stating how many strain damage pairs that exist in the file.");
99 for (
int i = 0; i < nbrOfLinesToRead; i++ ) {
101 OOFEM_ERROR(
"Error reading table file at line %d, expected a " 102 "strain damage pair.", i + 2);
106 OOFEM_ERROR(
"Error reading table file at line %d, strain " 107 "and damage must be given in an increasing order and be positive.", i + 2);
136 if ( kappa > this->
e0 ) {
147 printf(
"e0 %lf\n",
e0);
149 printf(
"pointer: %d\n", index);
150 printf(
"value: %lf\n", * index);
163 omega = y0 + ( y1 - y0 ) * ( kappa - x0 ) / ( x1 - x0 );
FloatArray tableJumps
Jumps read from the first column in the table file.
std::string tablename
Additional parameters Name of table file.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
double & at(int i)
Coefficient access function.
int max(int i, int j)
Returns bigger value form two given decimals.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
double kn
Elastic properties (normal moduli).
IntMatIsoDamageTable(int n, Domain *d)
Constructor.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
#define _IFT_IntMatIsoDamageTable_ft
#define _IFT_IntMatIsoDamageTable_kn
double e0
Limit elastic deformation.
virtual ~IntMatIsoDamageTable()
Destructor.
#define _IFT_IntMatIsoDamageTable_ks
Simple isotropic damage based model for interface elements.
FloatArray tableDamages
Damages read from the second column in the table file.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
IRResultType
Type defining the return values of InputRecord reading operations.
#define _IFT_IntMatIsoDamageTable_maxOmega
const double * givePointer() const
Gives the pointer to the raw data, breaking encapsulation.
#define _IFT_IntMatIsoDamageTable_tablename
double ft
Tension strength.
int min(int i, int j)
Returns smaller value from two given decimals.
REGISTER_Material(DummyMaterial)
int giveSize() const
Returns the size of receiver.
the oofem namespace is to define a context or scope in which all oofem names are defined.
double maxOmega
Maximum limit on omega. The purpose is elimination of a too compliant material which may cause conver...
virtual void computeDamageParam(double &omega, double kappa)
Computes the value of damage parameter omega, based on given value of equivalent strain.
void add(const FloatArray &src)
Adds array src to receiver.
void resize(int s)
Resizes receiver towards requested size.