24 if (var >= 50 && var <= 57) {
29 for (j = 0; j < 3; j++) Ma[j] = 0.;
35 if(var < 54)
fCamadas[i]->Solution(data, 50, SoloutAcc);
36 else fCamadas[i]->Solution(data, 54, SoloutAcc);
37 for (j = 0; j < 3; j++) {
38 Ma[j] += SoloutAcc[j];
42 REAL sqrtval =
sqrt((Ma[0]-Ma[1])*(Ma[0]-Ma[1])+Ma[2]*Ma[2]*4);
43 REAL vec1[2],vec2[2],vecnorm1,vecnorm2;
44 aut1 = (Ma[0]+Ma[1]-sqrtval)*0.5;
45 aut2 = (Ma[0]+Ma[1]+sqrtval)*0.5;
46 vec1[0] = Ma[0]-Ma[1]-sqrtval;
48 vecnorm1 =
sqrt(vec1[0]*vec1[0]+vec1[1]*vec1[1]);
49 if(vecnorm1 >= 1.e-8) {
56 vec2[0] = Ma[0]-Ma[1]+sqrtval;
58 vecnorm2 =
sqrt(vec2[0]*vec2[0]+vec2[1]*vec2[1]);
59 if(vecnorm2 >= 1.e-8) {
68 if(var == 50 || var == 54) {
70 for(idf=0; idf<3; idf++) Solout[idf] = vec1[0] * axes(0,idf) + vec1[1]*axes(1,idf);
73 if(var == 51 || var ==55) {
75 for(idf=0; idf<3; idf++) Solout[idf] = vec2[0] * axes(0,idf) + vec2[1]*axes(1,idf);
79 if(var == 52 || var == 53 || var == 56 || var == 57) {
81 Solout[0] = (var == 52 || var == 56) ? aut1 : aut2;
108 if(!strcmp(name.c_str(),
"Displacement"))
return 2;
109 if(!strcmp(name.c_str(),
"Deslocz"))
return 4;
110 if(!strcmp(name.c_str(),
"M1Vec"))
return 50;
111 if(!strcmp(name.c_str(),
"M2Vec"))
return 51;
112 if(!strcmp(name.c_str(),
"M1Scal"))
return 52;
113 if(!strcmp(name.c_str(),
"M2Scal"))
return 53;
114 if(!strcmp(name.c_str(),
"N1Vec"))
return 54;
115 if(!strcmp(name.c_str(),
"N2Vec"))
return 55;
116 if(!strcmp(name.c_str(),
"N1Scal"))
return 56;
117 if(!strcmp(name.c_str(),
"N2Scal"))
return 57;
123 if(var == 2)
return 3;
124 if(var == 4)
return 1;
125 if(var == 50 || var == 51 || var == 54 || var == 55)
return 3;
126 if(var == 52 || var == 53 || var == 56 || var == 57)
return 1;
virtual void Solution(TPZMaterialData &data, int var, TPZVec< STATE > &Solout)
Returns the solution associated with the var index based on the finite element approximation.
virtual void Solution(TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override
Returns the solution associated with the var index based on the finite element approximation.
TPZStack< TPZMatPlaca2 *> fCamadas
Vector of layers.
clarg::argBool bc("-bc", "binary checkpoints", false)
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
Computes contribution to the stiffness matrix and right hand side at an integration point...
virtual int VariableIndex(const std::string &name)
Returns the variable index associated with the name.
TPZGradSolVec dsol
vector of the derivatives of the solution at the integration point
Contains the TPZMatPlaca2 class.
virtual int NSolutionVariables(int var) override
Returns the number of variables associated with the variable indexed by var.
virtual void Resize(const int64_t newsize, const T &object)
Resizes the vector object reallocating the necessary storage, copying the existing objects to the new...
virtual int VariableIndex(const std::string &name) override
Returns the variable index associated with the name.
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
It computes a contribution to the stiffness matrix and load vector at one BC integration point...
This class defines the boundary condition for TPZMaterial objects.
expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ expr_ sqrt
TPZFNMatrix< 9, REAL > axes
axes indicating the directions of the derivatives of the shapefunctions
virtual int ClassId() const override
Define the class id associated with the class.
int32_t Hash(std::string str)
int ClassId() const override
Unique identifier for serialization purposes.
Contains the TPZMultCamada class.
virtual int NSolutionVariables(int var)
Returns the number of variables associated with the variable indexed by var.
virtual int NStateVariables() const override
Returns the number of state variables associated with the material.
int64_t NElements() const
Returns the number of elements of the vector.
TPZSolVec sol
vector of the solutions at the integration point