本文整理汇总了C++中TPZCompMesh::SetAllCreateFunctionsContinuousWithMem方法的典型用法代码示例。如果您正苦于以下问题:C++ TPZCompMesh::SetAllCreateFunctionsContinuousWithMem方法的具体用法?C++ TPZCompMesh::SetAllCreateFunctionsContinuousWithMem怎么用?C++ TPZCompMesh::SetAllCreateFunctionsContinuousWithMem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TPZCompMesh
的用法示例。
在下文中一共展示了TPZCompMesh::SetAllCreateFunctionsContinuousWithMem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}