32 #ifndef YIELDSURFACE_BC_H 33 #define YIELDSURFACE_BC_H 36 #include "utility/tagged/TaggedObject.h" 37 #include "utility/actor/actor/MovableObject.h" 64 double capX_orig, capY_orig, capZ_orig;
65 double capX, capY, capZ;
66 double capXdim, capYdim, capZdim;
71 int ele_Tag, ele_Location;
72 const static int dFReturn, RadialReturn, ConstantXReturn, ConstantYReturn;
73 const static int NoFP, SurfOnly, StateLoading;
80 virtual void Print(std::ostream &s,
int flag =0)
const;
81 void setEleInfo(
int eleTag,
int loc);
83 virtual void setTransformation(
int xDof,
int xFact);
84 virtual void setTransformation(
int xDof,
int yDof,
int xFact,
int yFact);
85 virtual void setTransformation(
int xDof,
int yDof,
int zDof,
int xFact,
int yFact,
int zFact);
88 virtual void getCommitGradient(
Matrix &G) = 0;
89 virtual void getTrialGradient(
Matrix &G,
Vector &force) = 0;
90 virtual double getTrialDrift(
Vector &force) = 0;
93 virtual const Vector &getExtent(
void)=0;
94 virtual int update(
int flag = 0);
97 double getCap(
int dir);
99 virtual int getState(
int stateInfo)=0;
101 virtual double getDrift(
double x1);
102 virtual double getDrift(
double x1,
double y1);
103 virtual double getDrift(
double x1,
double y1,
double z1);
106 virtual double interpolate(
double x1,
double x2);
107 virtual double interpolate(
double x1,
double y1,
double x2,
double y2);
108 virtual double interpolate(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2);
110 virtual int getTrialForceLocation(
Vector &force)=0;
111 virtual int getCommitForceLocation()=0;
113 virtual void addPlasticStiffness(
Matrix &K)=0;
115 virtual double setToSurface(
Vector &force,
int algoType,
int flag=0)=0;
116 virtual int modifySurface(
double magPlasticDefo,
Vector &Fsurface,
Matrix &G,
int flag=0)=0;
119 virtual int revertToLastCommit(
void)=0;
124 void toLocalSystem (
Vector &eleVector,
double &x,
bool nonDimensionalize,
bool signMult=
true);
125 void toLocalSystem (
Vector &eleVector,
double &x,
double &y,
bool nonDimensionalize,
bool signMult=
true);
126 void toLocalSystem (
Vector &eleVector,
double &x,
double &y,
double &z,
bool nonDimensionalize,
bool signMult=
true);
129 void toLocalSystem (
Matrix &eleMatrix,
double &x,
bool nonDimensionalize,
bool signMult=
true);
130 void toLocalSystem (
Matrix &eleMatrix,
double &x,
double &y,
bool nonDimensionalize,
bool signMult=
true);
131 void toLocalSystem (
Matrix &eleMatrix,
double &x,
double &y,
double &z,
bool nonDimensionalize,
bool signMult=
true);
133 void toElementSystem(
Vector &eleVector,
double &x,
bool dimensionalize,
bool signMult=
true);
134 void toElementSystem(
Vector &eleVector,
double &x,
double &y,
bool dimensionalize,
bool signMult=
true);
135 void toElementSystem(
Vector &eleVector,
double &x,
double &y,
double &z,
bool dimensionalize,
bool signMult=
true);
137 void toElementSystem(
Matrix &eleMatrix,
double &x,
bool dimensionalize,
bool signMult=
true);
138 void toElementSystem(
Matrix &eleMatrix,
double &x,
double &y,
bool dimensionalize,
bool signMult=
true);
139 void toElementSystem(
Matrix &eleMatrix,
double &x,
double &y,
double &z,
bool dimensionalize,
bool signMult=
true);
Float vector abstraction.
Definition: Vector.h:94
virtual int commitState(Vector &force)
Commit the state of the material.
Definition: YieldSurface_BC.cpp:115
Object that can move between processes.
Definition: MovableObject.h:100
Definition: __init__.py:1
Vector of integers.
Definition: ID.h:95
virtual void Print(std::ostream &s, int flag=0) const
Print stuff.
Definition: YieldSurface_BC.cpp:731
Yield surface evolution law.
Definition: YS_Evolution.h:50
Object idenfied by an integer (tag).
Definition: TaggedObject.h:92
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Matrix of floats.
Definition: Matrix.h:111
YieldSurface_BC(int tag, int classtag, YS_Evolution &model, double capx)
Constructor.
Definition: YieldSurface_BC.cpp:47
YieldSurface_BC is an abstract class and provides the interface between the specific yield surface de...
Definition: YieldSurface_BC.h:53