gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
6 #ifndef ELASTICITY_SOLVER_H
7 #define ELASTICITY_SOLVER_H
11 #include "GmshConfig.h"
79 void addDirichletBC(
int dim,
int entityId,
int component,
double value);
80 void addDirichletBC(
int dim, std::string phys,
int component,
double value);
81 void addNeumannBC(
int dim,
int entityId,
const std::vector<double> value);
82 void addNeumannBC(
int dim, std::string phys,
const std::vector<double> value);
97 virtual void setMesh(
const std::string &meshFileName,
int dim = 0);
116 #if defined(HAVE_POST)
117 virtual PView *buildDisplacementView(
const std::string postFileName);
118 virtual PView *buildStrainView(
const std::string postFileName);
119 virtual PView *buildStressesView(
const std::string postFileName);
120 virtual PView *buildLagrangeMultiplierView(
const std::string &posFileName,
122 virtual PView *buildElasticEnergyView(
const std::string postFileName);
123 virtual PView *buildVonMisesView(
const std::string postFileName);
124 virtual PView *buildVolumeView(
const std::string postFileName);
125 virtual PView *buildErrorView(
const std::string postFileName,
std::vector< LagrangeMultiplierField > LagrangeMultiplierFields
std::vector< dirichletBC > allDirichlet
void read(const std::string s)
void changeLMTau(int tag, double tau)
void computeEffectiveStrain(std::vector< double > strain)
LagrangeMultiplierField()
simpleFunction< SVector3 > * _f
void assemble(linearSystem< double > *lsys)
simpleFunction< double > * _f
void f(int n, double u, double *val)
void readInputFile(const std::string &meshFileName)
void addElasticDomain(int tag, double e, double nu)
std::vector< FunctionSpace< double > * > LagrangeMultiplierSpaces
double computeDisplacementError(simpleFunction< double > *f0, simpleFunction< double > *f1, simpleFunction< double > *f2)
void setLagrangeMultipliers(int phys, double tau, const SVector3 &d, int tag, simpleFunction< double > *f)
std::vector< neumannBC > allNeumann
void cutMesh(gLevelset *ls)
void addNeumannBC(int dim, int entityId, const std::vector< double > value)
FunctionSpace< SVector3 > * LagSpace
elasticitySolver(int tag)
double computeL2Norm(simpleFunction< double > *f0, simpleFunction< double > *f1, simpleFunction< double > *f2)
simpleFunction< double > * _f
virtual void setMesh(const std::string &meshFileName, int dim=0)
void setElasticDomain(int phys, double E, double nu)
dofManager< double > * pAssembler
std::vector< elasticField > elasticFields
void computeEffectiveStiffness(std::vector< double > stiff)
void setEdgeDisp(int edge, int comp, simpleFunction< double > *f)
void addDirichletBC(int dim, int entityId, int component, double value)
virtual ~elasticitySolver()
double computeLagNorm(int tag, simpleFunction< double > *f)