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

#include <thermicSolver.h>

Collaboration diagram for thermicSolver:

Public Member Functions

 thermicSolver (int tag)
 
virtual ~thermicSolver ()
 
void assemble (linearSystem< double > *lsys)
 
virtual void setMesh (const std::string &meshFileName)
 
void cutMesh (gLevelset *ls)
 
void setThermicDomain (int phys, double k)
 
void setLagrangeMultipliers (int phys, double tau, int tag, simpleFunction< double > *f)
 
void changeLMTau (int tag, double tau)
 
void setEdgeTemp (int edge, simpleFunction< double > *f)
 
void setFaceTemp (int face, simpleFunction< double > *f)
 
void solve ()
 
double computeL2Norm (simpleFunction< double > *f)
 
double computeLagNorm (int tag, simpleFunction< double > *f)
 

Protected Attributes

GModelpModel
 
int _dim
 
int _tag
 
dofManager< double > * pAssembler
 
FunctionSpace< double > * LagSpace
 
FunctionSpace< double > * LagrangeMultiplierSpace
 
std::vector< thermicFieldthermicFields
 
std::vector< LagrangeMultiplierFieldTLagrangeMultiplierFields
 
std::vector< neumannBCTallNeumann
 
std::vector< dirichletBCTallDirichlet
 

Detailed Description

Definition at line 55 of file thermicSolver.h.

Constructor & Destructor Documentation

◆ thermicSolver()

thermicSolver::thermicSolver ( int  tag)
inline

Definition at line 72 of file thermicSolver.h.

◆ ~thermicSolver()

virtual thermicSolver::~thermicSolver ( )
inlinevirtual

Definition at line 77 of file thermicSolver.h.

Member Function Documentation

◆ assemble()

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

Definition at line 111 of file thermicSolver.cpp.

Referenced by solve().

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

◆ changeLMTau()

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

Definition at line 71 of file thermicSolver.cpp.

◆ computeL2Norm()

double thermicSolver::computeL2Norm ( simpleFunction< double > *  f)

Definition at line 191 of file thermicSolver.cpp.

Here is the call graph for this function:

◆ computeLagNorm()

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

Definition at line 229 of file thermicSolver.cpp.

Here is the call graph for this function:

◆ cutMesh()

void thermicSolver::cutMesh ( gLevelset ls)

Definition at line 56 of file thermicSolver.cpp.

Here is the call graph for this function:

◆ setEdgeTemp()

void thermicSolver::setEdgeTemp ( int  edge,
simpleFunction< double > *  f 
)

Definition at line 91 of file thermicSolver.cpp.

Here is the call graph for this function:

◆ setFaceTemp()

void thermicSolver::setFaceTemp ( int  face,
simpleFunction< double > *  f 
)

Definition at line 101 of file thermicSolver.cpp.

Here is the call graph for this function:

◆ setLagrangeMultipliers()

void thermicSolver::setLagrangeMultipliers ( int  phys,
double  tau,
int  tag,
simpleFunction< double > *  f 
)

Definition at line 80 of file thermicSolver.cpp.

Here is the call graph for this function:

◆ setMesh()

void thermicSolver::setMesh ( const std::string &  meshFileName)
virtual

Definition at line 27 of file thermicSolver.cpp.

Here is the call graph for this function:

◆ setThermicDomain()

void thermicSolver::setThermicDomain ( int  phys,
double  k 
)

Definition at line 62 of file thermicSolver.cpp.

◆ solve()

void thermicSolver::solve ( )

Definition at line 40 of file thermicSolver.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ _dim

int thermicSolver::_dim
protected

Definition at line 58 of file thermicSolver.h.

Referenced by setLagrangeMultipliers(), setMesh(), and setThermicDomain().

◆ _tag

int thermicSolver::_tag
protected

Definition at line 58 of file thermicSolver.h.

Referenced by changeLMTau(), computeLagNorm(), setMesh(), and setThermicDomain().

◆ allDirichlet

std::vector<dirichletBCT> thermicSolver::allDirichlet
protected

Definition at line 69 of file thermicSolver.h.

Referenced by assemble(), setEdgeTemp(), and setFaceTemp().

◆ allNeumann

std::vector<neumannBCT> thermicSolver::allNeumann
protected

Definition at line 67 of file thermicSolver.h.

Referenced by assemble().

◆ LagrangeMultiplierFields

std::vector<LagrangeMultiplierFieldT> thermicSolver::LagrangeMultiplierFields
protected

Definition at line 65 of file thermicSolver.h.

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

◆ LagrangeMultiplierSpace

FunctionSpace<double>* thermicSolver::LagrangeMultiplierSpace
protected

Definition at line 61 of file thermicSolver.h.

Referenced by assemble(), computeLagNorm(), setMesh(), and ~thermicSolver().

◆ LagSpace

FunctionSpace<double>* thermicSolver::LagSpace
protected

Definition at line 60 of file thermicSolver.h.

Referenced by assemble(), computeL2Norm(), setMesh(), and ~thermicSolver().

◆ pAssembler

dofManager<double>* thermicSolver::pAssembler
protected

Definition at line 59 of file thermicSolver.h.

Referenced by assemble(), computeL2Norm(), computeLagNorm(), and ~thermicSolver().

◆ pModel

GModel* thermicSolver::pModel
protected

Definition at line 57 of file thermicSolver.h.

Referenced by cutMesh(), and setMesh().

◆ thermicFields

std::vector<thermicField> thermicSolver::thermicFields
protected

Definition at line 64 of file thermicSolver.h.

Referenced by assemble(), computeL2Norm(), and setThermicDomain().


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