gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
#include <elasticitySolver.h>
Public Member Functions | |
elasticitySolver (int tag) | |
elasticitySolver (GModel *model, int tag) | |
void | addDirichletBC (int dim, int entityId, int component, double value) |
void | addDirichletBC (int dim, std::string phys, int component, double value) |
void | addNeumannBC (int dim, int entityId, const std::vector< double > value) |
void | addNeumannBC (int dim, std::string phys, const std::vector< double > value) |
void | addElasticDomain (int tag, double e, double nu) |
void | addElasticDomain (std::string phys, double e, double nu) |
virtual | ~elasticitySolver () |
void | assemble (linearSystem< double > *lsys) |
void | readInputFile (const std::string &meshFileName) |
void | read (const std::string s) |
virtual void | setMesh (const std::string &meshFileName, int dim=0) |
void | cutMesh (gLevelset *ls) |
void | setElasticDomain (int phys, double E, double nu) |
void | setLagrangeMultipliers (int phys, double tau, const SVector3 &d, int tag, simpleFunction< double > *f) |
void | changeLMTau (int tag, double tau) |
void | setEdgeDisp (int edge, int comp, simpleFunction< double > *f) |
void | solve () |
void | postSolve () |
void | exportKb () |
void | computeEffectiveStiffness (std::vector< double > stiff) |
void | computeEffectiveStrain (std::vector< double > strain) |
double | computeDisplacementError (simpleFunction< double > *f0, simpleFunction< double > *f1, simpleFunction< double > *f2) |
double | computeL2Norm (simpleFunction< double > *f0, simpleFunction< double > *f1, simpleFunction< double > *f2) |
double | computeLagNorm (int tag, simpleFunction< double > *f) |
Public Attributes | |
GModel * | pModel |
int | _dim |
int | _tag |
dofManager< double > * | pAssembler |
FunctionSpace< SVector3 > * | LagSpace |
std::vector< FunctionSpace< double > * > | LagrangeMultiplierSpaces |
std::vector< elasticField > | elasticFields |
std::vector< LagrangeMultiplierField > | LagrangeMultiplierFields |
std::vector< neumannBC > | allNeumann |
std::vector< dirichletBC > | allDirichlet |
Definition at line 57 of file elasticitySolver.h.
|
inline |
Definition at line 75 of file elasticitySolver.h.
elasticitySolver::elasticitySolver | ( | GModel * | model, |
int | tag | ||
) |
|
inlinevirtual |
Definition at line 86 of file elasticitySolver.h.
void elasticitySolver::addDirichletBC | ( | int | dim, |
int | entityId, | ||
int | component, | ||
double | value | ||
) |
Definition at line 423 of file elasticitySolver.cpp.
Referenced by addDirichletBC().
void elasticitySolver::addDirichletBC | ( | int | dim, |
std::string | phys, | ||
int | component, | ||
double | value | ||
) |
void elasticitySolver::addElasticDomain | ( | int | tag, |
double | e, | ||
double | nu | ||
) |
Definition at line 479 of file elasticitySolver.cpp.
Referenced by addElasticDomain().
void elasticitySolver::addElasticDomain | ( | std::string | phys, |
double | e, | ||
double | nu | ||
) |
void elasticitySolver::addNeumannBC | ( | int | dim, |
int | entityId, | ||
const std::vector< double > | value | ||
) |
Definition at line 451 of file elasticitySolver.cpp.
Referenced by addNeumannBC().
void elasticitySolver::addNeumannBC | ( | int | dim, |
std::string | phys, | ||
const std::vector< double > | value | ||
) |
void elasticitySolver::assemble | ( | linearSystem< double > * | lsys | ) |
Definition at line 495 of file elasticitySolver.cpp.
Referenced by solve().
void elasticitySolver::changeLMTau | ( | int | tag, |
double | tau | ||
) |
Definition at line 402 of file elasticitySolver.cpp.
double elasticitySolver::computeDisplacementError | ( | simpleFunction< double > * | f0, |
simpleFunction< double > * | f1, | ||
simpleFunction< double > * | f2 | ||
) |
void elasticitySolver::computeEffectiveStiffness | ( | std::vector< double > | stiff | ) |
void elasticitySolver::computeEffectiveStrain | ( | std::vector< double > | strain | ) |
double elasticitySolver::computeL2Norm | ( | simpleFunction< double > * | f0, |
simpleFunction< double > * | f1, | ||
simpleFunction< double > * | f2 | ||
) |
double elasticitySolver::computeLagNorm | ( | int | tag, |
simpleFunction< double > * | f | ||
) |
Definition at line 784 of file elasticitySolver.cpp.
void elasticitySolver::cutMesh | ( | gLevelset * | ls | ) |
void elasticitySolver::exportKb | ( | ) |
void elasticitySolver::postSolve | ( | ) |
|
inline |
void elasticitySolver::readInputFile | ( | const std::string & | meshFileName | ) |
Definition at line 162 of file elasticitySolver.cpp.
Referenced by read().
void elasticitySolver::setEdgeDisp | ( | int | edge, |
int | comp, | ||
simpleFunction< double > * | f | ||
) |
void elasticitySolver::setElasticDomain | ( | int | phys, |
double | E, | ||
double | nu | ||
) |
Definition at line 376 of file elasticitySolver.cpp.
void elasticitySolver::setLagrangeMultipliers | ( | int | phys, |
double | tau, | ||
const SVector3 & | d, | ||
int | tag, | ||
simpleFunction< double > * | f | ||
) |
|
virtual |
Definition at line 67 of file elasticitySolver.cpp.
Referenced by readInputFile().
void elasticitySolver::solve | ( | ) |
int elasticitySolver::_dim |
Definition at line 60 of file elasticitySolver.h.
Referenced by addElasticDomain(), elasticitySolver(), readInputFile(), setElasticDomain(), setLagrangeMultipliers(), and setMesh().
int elasticitySolver::_tag |
Definition at line 60 of file elasticitySolver.h.
Referenced by addElasticDomain(), assemble(), changeLMTau(), elasticitySolver(), readInputFile(), setElasticDomain(), and setMesh().
std::vector<dirichletBC> elasticitySolver::allDirichlet |
Definition at line 72 of file elasticitySolver.h.
Referenced by addDirichletBC(), assemble(), readInputFile(), and setEdgeDisp().
std::vector<neumannBC> elasticitySolver::allNeumann |
Definition at line 70 of file elasticitySolver.h.
Referenced by addNeumannBC(), assemble(), and readInputFile().
std::vector<elasticField> elasticitySolver::elasticFields |
Definition at line 66 of file elasticitySolver.h.
Referenced by addElasticDomain(), assemble(), computeDisplacementError(), computeEffectiveStiffness(), computeEffectiveStrain(), computeL2Norm(), postSolve(), readInputFile(), setElasticDomain(), and solve().
std::vector<LagrangeMultiplierField> elasticitySolver::LagrangeMultiplierFields |
Definition at line 68 of file elasticitySolver.h.
Referenced by assemble(), changeLMTau(), readInputFile(), and setLagrangeMultipliers().
std::vector<FunctionSpace<double> *> elasticitySolver::LagrangeMultiplierSpaces |
Definition at line 63 of file elasticitySolver.h.
Referenced by assemble(), readInputFile(), setLagrangeMultipliers(), setMesh(), and ~elasticitySolver().
FunctionSpace<SVector3>* elasticitySolver::LagSpace |
Definition at line 62 of file elasticitySolver.h.
Referenced by assemble(), computeDisplacementError(), computeEffectiveStiffness(), computeEffectiveStrain(), computeL2Norm(), elasticitySolver(), postSolve(), setMesh(), solve(), and ~elasticitySolver().
dofManager<double>* elasticitySolver::pAssembler |
Definition at line 61 of file elasticitySolver.h.
Referenced by assemble(), computeDisplacementError(), computeEffectiveStiffness(), computeEffectiveStrain(), computeL2Norm(), elasticitySolver(), exportKb(), postSolve(), solve(), and ~elasticitySolver().
GModel* elasticitySolver::pModel |
Definition at line 59 of file elasticitySolver.h.
Referenced by addDirichletBC(), addElasticDomain(), addNeumannBC(), cutMesh(), elasticitySolver(), readInputFile(), and setMesh().