本文整理汇总了C++中TPZCompMesh::SetName方法的典型用法代码示例。如果您正苦于以下问题:C++ TPZCompMesh::SetName方法的具体用法?C++ TPZCompMesh::SetName怎么用?C++ TPZCompMesh::SetName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TPZCompMesh
的用法示例。
在下文中一共展示了TPZCompMesh::SetName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: out
TPZCompMesh * CMeshFooting2D(TPZGeoMesh * gmesh, int p_order){
unsigned int dim = gmesh->Dimension();
const std::string name("ElastoPlastic Footing Problem ");
// Setting up attributes
TPZCompMesh * cmesh = new TPZCompMesh(gmesh);
cmesh->SetName(name);
cmesh->SetDefaultOrder(p_order);
cmesh->SetDimModel(dim);
// Mohr Coulomb data
REAL mc_cohesion = 10.0;
REAL mc_phi = (20.0*M_PI/180);
REAL mc_psi = mc_phi;
/// ElastoPlastic Material using Mohr Coulomb
// Elastic predictor
TPZElasticResponse ER;
REAL G = 400*mc_cohesion;
REAL nu = 0.3;
REAL E = 2.0*G*(1+nu);
TPZPlasticStepPV<TPZYCMohrCoulombPV, TPZElasticResponse> LEMC;
ER.SetEngineeringData(E, nu);
LEMC.SetElasticResponse(ER);
LEMC.fYC.SetUp(mc_phi, mc_psi, mc_cohesion, ER);
int PlaneStrain = 1;
// TPZElasticCriterion MatEla;
// MatEla.SetElasticResponse(ER);
// TPZMatElastoPlastic2D < TPZElasticCriterion, TPZElastoPlasticMem > * material = new TPZMatElastoPlastic2D < TPZElasticCriterion, TPZElastoPlasticMem >(ERock,PlaneStrain);
// material->SetPlasticityModel(MatEla);
// cmesh->InsertMaterialObject(material);
TPZMatElastoPlastic2D < TPZPlasticStepPV<TPZYCMohrCoulombPV, TPZElasticResponse>, TPZElastoPlasticMem > * material = new TPZMatElastoPlastic2D < TPZPlasticStepPV<TPZYCMohrCoulombPV, TPZElasticResponse>, TPZElastoPlasticMem >(ERock,PlaneStrain);
material->SetPlasticityModel(LEMC);
cmesh->InsertMaterialObject(material);
TPZFMatrix<STATE> val1(2,2,0.), val2(2,1,0.);
val2(0,0) = 0;
val2(1,0) = 1;
TPZBndCond * bc_bottom = material->CreateBC(material, EBottomBC, Eu_null, val1, val2);
val2(0,0) = 1;
val2(1,0) = 0;
TPZBndCond * bc_lateral = material->CreateBC(material, ELateralBC, Eu_null, val1, val2);
// val2(0,0) = 0;
// val2(1,0) = 0;
// val1(0,0) = 0;
// val1(1,1) = 1;
val2(0,0) = 0;
val2(1,0) = 0;
TPZBndCond * bc_top = material->CreateBC(material, ETopBC, ETn, val1, val2);
val2(0,0) = 0;
val2(1,0) = 0;
TPZBndCond * bc_top_null = material->CreateBC(material, ETopNullBC, ETn, val1, val2);
cmesh->InsertMaterialObject(bc_bottom);
cmesh->InsertMaterialObject(bc_lateral);
cmesh->InsertMaterialObject(bc_top);
// cmesh->InsertMaterialObject(bc_top_null);
cmesh->SetAllCreateFunctionsContinuousWithMem();
cmesh->AutoBuild();
#ifdef PZDEBUG
std::ofstream out("cmesh.txt");
cmesh->Print(out);
#endif
return cmesh;
}
示例2: main
int main() {
//malha geometrica
TPZGeoMesh *firstmesh = new TPZGeoMesh;
firstmesh->SetName("Malha Geometrica : Nós e Elementos");
firstmesh->NodeVec().Resize(10);
TPZVec<REAL> coord(2); //,coordtrans(2);
// REAL ct,st,PI=3.141592654;
// cout << "\nEntre rotacao do eixo n1 (graus) -> ";
// REAL g;
// cin >> g;
// g = g*PI/180.;
// ct = cos(g);
// st = sin(g);
//ct = 1.;
//st = 0.;
//nos geometricos
//no 0
coord[0] = 0;
coord[1] = 0;
// coordtrans[0] = ct*coord[0]-st*coord[1];
// coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[0].Initialize(coord,*firstmesh);
//no 1
coord[0] = 1.;
coord[1] = 0;
// coordtrans[0] = ct*coord[0]-st*coord[1];
// coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[1].Initialize(coord,*firstmesh);
//no 2
coord[0] = 2.;
coord[1] = 0.;
// coordtrans[0] = ct*coord[0]-st*coord[1];
// coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[2].Initialize(coord,*firstmesh);
//no 3
coord[0] = 3.;
coord[1] = 0.;
// coordtrans[0] = ct*coord[0]-st*coord[1];
// coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[3].Initialize(coord,*firstmesh);
//no 4
coord[0] = 4;
coord[1] = 0.;
// coordtrans[0] = ct*coord[0]-st*coord[1];
// coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[4].Initialize(coord,*firstmesh);
//no 5
coord[0] = 0;
coord[1] = 1;
// coordtrans[0] = ct*coord[0]-st*coord[1];
// coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[5].Initialize(coord,*firstmesh);
//no 6
coord[0] = 1.;
coord[1] = 1.;
// coordtrans[0] = ct*coord[0]-st*coord[1];
// coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[6].Initialize(coord,*firstmesh);
//no 7
coord[0] = 2.;
coord[1] = 1.;
// coordtrans[0] = ct*coord[0]-st*coord[1];
// coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[7].Initialize(coord,*firstmesh);
//no 8
coord[0] = 3.;
coord[1] = 1;
// coordtrans[0] = ct*coord[0]-st*coord[1];
// coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[8].Initialize(coord,*firstmesh);
//no 9
coord[0] = 4;
coord[1] = 1;
// coordtrans[0] = ct*coord[0]-st*coord[1];
// coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[9].Initialize(coord,*firstmesh);
/*
TPZVec<int> nodeindexes(3);
nodeindexes[0] = 0;
nodeindexes[1] = 1;
nodeindexes[2] = 2;
//elementos geometricos
TPZGeoElT2d *elg0 = new TPZGeoElT2d(nodeindexes,1,*firstmesh);
nodeindexes[0] = 0;
nodeindexes[1] = 2;
nodeindexes[2] = 3;
TPZGeoElT2d *elg1 = new TPZGeoElT2d(nodeindexes,1,*firstmesh);
//.........这里部分代码省略.........
示例3: main
int main() {
//malha geometrica
TPZGeoMesh *firstmesh = new TPZGeoMesh;
firstmesh->SetName("Malha Geometrica : Nós e Elementos");
firstmesh->NodeVec().Resize(4);
TPZVec<REAL> coord(2),coordtrans(2);
REAL ct,st,PI=3.141592654;
cout << "\nEntre rotacao do eixo n1 (graus) -> ";
REAL g;
cin >> g;
g = g*PI/180.;
ct = cos(g);
st = sin(g);
//ct = 1.;
//st = 0.;
coord[0] = 0;
coord[1] = 0;
coordtrans[0] = ct*coord[0]-st*coord[1];
coordtrans[1] = st*coord[0]+ct*coord[1];
//nos geometricos
firstmesh->NodeVec()[0].Initialize(coordtrans,*firstmesh);
coord[0] = 5;
coordtrans[0] = ct*coord[0]-st*coord[1];
coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[1].Initialize(coordtrans,*firstmesh);
coord[0] = 5;
coord[1] = 5;
coordtrans[0] = ct*coord[0]-st*coord[1];
coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[2].Initialize(coordtrans,*firstmesh);
coord[0] = 0;
coordtrans[0] = ct*coord[0]-st*coord[1];
coordtrans[1] = st*coord[0]+ct*coord[1];
firstmesh->NodeVec()[3].Initialize(coordtrans,*firstmesh);
/*
TPZVec<int> nodeindexes(3);
nodeindexes[0] = 0;
nodeindexes[1] = 1;
nodeindexes[2] = 2;
//elementos geometricos
TPZGeoElT2d *elg0 = new TPZGeoElT2d(nodeindexes,1,*firstmesh);
nodeindexes[0] = 0;
nodeindexes[1] = 2;
nodeindexes[2] = 3;
TPZGeoElT2d *elg1 = new TPZGeoElT2d(nodeindexes,1,*firstmesh);
nodeindexes[0] = 0;
nodeindexes[1] = 1;
nodeindexes[2] = 2;
TPZGeoElT2d *elg2 = new TPZGeoElT2d(nodeindexes,2,*firstmesh);
nodeindexes[0] = 0;
nodeindexes[1] = 2;
nodeindexes[2] = 3;
TPZGeoElT2d *elg3 = new TPZGeoElT2d(nodeindexes,2,*firstmesh);
*/
TPZVec<int> nodeindexes(4);
nodeindexes[0] = 0;
nodeindexes[1] = 1;
nodeindexes[2] = 2;
nodeindexes[3] = 3;
//elementos geometricos
TPZGeoEl *elg0 = new TPZGeoElQ2d(nodeindexes,1,*firstmesh);
TPZGeoEl *elg1 = new TPZGeoElQ2d(nodeindexes,2,*firstmesh);
TPZGeoEl *elg2 = new TPZGeoElQ2d(nodeindexes,3,*firstmesh);
//Arquivos de saida
ofstream outgm1("outgm1.dat");
ofstream outcm1("outcm1.dat");
ofstream outcm2("outcm2.dat");
//montagem de conectividades entre elementos
firstmesh->BuildConnectivity();
//malha computacional
TPZCompMesh *secondmesh = new TPZCompMesh(firstmesh);
secondmesh->SetName("Malha Computacional : Conectividades e Elementos");
//material
TPZMaterial *pl = LerMaterial("placa1.dat");
secondmesh->InsertMaterialObject(pl);
pl = LerMaterial("placa2.dat");
secondmesh->InsertMaterialObject(pl);
pl = LerMaterial("placa3.dat");
secondmesh->InsertMaterialObject(pl);
//CC : condicões de contorno
TPZBndCond *bc;
REAL big = 1.e12;
TPZFMatrix val1(6,6,0.),val2(6,1,0.);
val1(0,0)=big;
val1(1,1)=big;
val1(2,2)=big;
val1(3,3)=0.;
val1(4,4)=0.;
val1(5,5)=0.;
TPZGeoElBC(elg0,5,-2,*firstmesh);
bc = pl->CreateBC(-2,2,val1,val2);
secondmesh->InsertMaterialObject(bc);
TPZGeoElBC(elg0,6,-3,*firstmesh);
bc = pl->CreateBC(-3,2,val1,val2);
//.........这里部分代码省略.........