gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
elasticitySolver Class Reference

#include <elasticitySolver.h>

Collaboration diagram for elasticitySolver:

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

GModelpModel
 
int _dim
 
int _tag
 
dofManager< double > * pAssembler
 
FunctionSpace< SVector3 > * LagSpace
 
std::vector< FunctionSpace< double > * > LagrangeMultiplierSpaces
 
std::vector< elasticFieldelasticFields
 
std::vector< LagrangeMultiplierFieldLagrangeMultiplierFields
 
std::vector< neumannBCallNeumann
 
std::vector< dirichletBCallDirichlet
 

Detailed Description

Definition at line 57 of file elasticitySolver.h.

Constructor & Destructor Documentation

◆ elasticitySolver() [1/2]

elasticitySolver::elasticitySolver ( int  tag)
inline

Definition at line 75 of file elasticitySolver.h.

◆ elasticitySolver() [2/2]

elasticitySolver::elasticitySolver ( GModel model,
int  tag 
)

Definition at line 54 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ ~elasticitySolver()

virtual elasticitySolver::~elasticitySolver ( )
inlinevirtual

Definition at line 86 of file elasticitySolver.h.

Member Function Documentation

◆ addDirichletBC() [1/2]

void elasticitySolver::addDirichletBC ( int  dim,
int  entityId,
int  component,
double  value 
)

Definition at line 423 of file elasticitySolver.cpp.

Referenced by addDirichletBC().

Here is the caller graph for this function:

◆ addDirichletBC() [2/2]

void elasticitySolver::addDirichletBC ( int  dim,
std::string  phys,
int  component,
double  value 
)

Definition at line 444 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ addElasticDomain() [1/2]

void elasticitySolver::addElasticDomain ( int  tag,
double  e,
double  nu 
)

Definition at line 479 of file elasticitySolver.cpp.

Referenced by addElasticDomain().

Here is the caller graph for this function:

◆ addElasticDomain() [2/2]

void elasticitySolver::addElasticDomain ( std::string  phys,
double  e,
double  nu 
)

Definition at line 489 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ addNeumannBC() [1/2]

void elasticitySolver::addNeumannBC ( int  dim,
int  entityId,
const std::vector< double >  value 
)

Definition at line 451 of file elasticitySolver.cpp.

Referenced by addNeumannBC().

Here is the caller graph for this function:

◆ addNeumannBC() [2/2]

void elasticitySolver::addNeumannBC ( int  dim,
std::string  phys,
const std::vector< double >  value 
)

Definition at line 472 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ assemble()

void elasticitySolver::assemble ( linearSystem< double > *  lsys)

Definition at line 495 of file elasticitySolver.cpp.

Referenced by solve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ changeLMTau()

void elasticitySolver::changeLMTau ( int  tag,
double  tau 
)

Definition at line 402 of file elasticitySolver.cpp.

◆ computeDisplacementError()

double elasticitySolver::computeDisplacementError ( simpleFunction< double > *  f0,
simpleFunction< double > *  f1,
simpleFunction< double > *  f2 
)

Definition at line 694 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ computeEffectiveStiffness()

void elasticitySolver::computeEffectiveStiffness ( std::vector< double >  stiff)

Definition at line 588 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ computeEffectiveStrain()

void elasticitySolver::computeEffectiveStrain ( std::vector< double >  strain)

Definition at line 647 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ computeL2Norm()

double elasticitySolver::computeL2Norm ( simpleFunction< double > *  f0,
simpleFunction< double > *  f1,
simpleFunction< double > *  f2 
)

Definition at line 747 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ computeLagNorm()

double elasticitySolver::computeLagNorm ( int  tag,
simpleFunction< double > *  f 
)

Definition at line 784 of file elasticitySolver.cpp.

◆ cutMesh()

void elasticitySolver::cutMesh ( gLevelset ls)

Definition at line 370 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ exportKb()

void elasticitySolver::exportKb ( )

Definition at line 86 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ postSolve()

void elasticitySolver::postSolve ( )

Definition at line 146 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ read()

void elasticitySolver::read ( const std::string  s)
inline

Definition at line 96 of file elasticitySolver.h.

Here is the call graph for this function:

◆ readInputFile()

void elasticitySolver::readInputFile ( const std::string &  meshFileName)

Definition at line 162 of file elasticitySolver.cpp.

Referenced by read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setEdgeDisp()

void elasticitySolver::setEdgeDisp ( int  edge,
int  comp,
simpleFunction< double > *  f 
)

Definition at line 411 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ setElasticDomain()

void elasticitySolver::setElasticDomain ( int  phys,
double  E,
double  nu 
)

Definition at line 376 of file elasticitySolver.cpp.

◆ setLagrangeMultipliers()

void elasticitySolver::setLagrangeMultipliers ( int  phys,
double  tau,
const SVector3 d,
int  tag,
simpleFunction< double > *  f 
)

Definition at line 386 of file elasticitySolver.cpp.

Here is the call graph for this function:

◆ setMesh()

void elasticitySolver::setMesh ( const std::string &  meshFileName,
int  dim = 0 
)
virtual

Definition at line 67 of file elasticitySolver.cpp.

Referenced by readInputFile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ solve()

void elasticitySolver::solve ( )

Definition at line 114 of file elasticitySolver.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ _dim

int elasticitySolver::_dim

◆ _tag

int elasticitySolver::_tag

◆ allDirichlet

std::vector<dirichletBC> elasticitySolver::allDirichlet

Definition at line 72 of file elasticitySolver.h.

Referenced by addDirichletBC(), assemble(), readInputFile(), and setEdgeDisp().

◆ allNeumann

std::vector<neumannBC> elasticitySolver::allNeumann

Definition at line 70 of file elasticitySolver.h.

Referenced by addNeumannBC(), assemble(), and readInputFile().

◆ elasticFields

◆ LagrangeMultiplierFields

std::vector<LagrangeMultiplierField> elasticitySolver::LagrangeMultiplierFields

Definition at line 68 of file elasticitySolver.h.

Referenced by assemble(), changeLMTau(), readInputFile(), and setLagrangeMultipliers().

◆ LagrangeMultiplierSpaces

std::vector<FunctionSpace<double> *> elasticitySolver::LagrangeMultiplierSpaces

◆ LagSpace

◆ pAssembler

◆ pModel

GModel* elasticitySolver::pModel

The documentation for this class was generated from the following files: