FEBio  1.5.0
Public Member Functions | Data Fields | Protected Member Functions
FEHeatSolver Class Reference

#include <FEHeatSolver.h>

Inheritance diagram for FEHeatSolver:
FESolver FECore::NonLinearSystem

Public Member Functions

 FEHeatSolver (FEM &fem)
 constructor
bool Init ()
 one-time initialization
bool SolveStep (double time)
 solve a timestep
void Serialize (DumpFile &ar)
 serialize data
bool InitEquations ()
 Initialize linear equation system.
void AssembleStiffness (matrix &ke, vector< int > &lm)
 assemble element stiffness matrix

Data Fields

vector< double > m_T
 temperature array
vector< double > m_Tp
 previous temperatures
vector< double > m_R
 residual
vector< double > m_u
 prescribed temperatures

Protected Member Functions

void Residual ()
 calculate the residual
bool StiffnessMatrix ()
 calculate the stiffness matrix
bool ReformStiffness ()
 form the stiffness matrix
void Update (vector< double > &u)
 update solution

Detailed Description

The FEHeatSolver solves heat-conduction problems


Constructor & Destructor Documentation

FEHeatSolver::FEHeatSolver ( FEM fem)

constructor

constructor for the class


Member Function Documentation

void FEHeatSolver::AssembleStiffness ( matrix ke,
vector< int > &  lm 
)

assemble element stiffness matrix

Assembles the element stiffness matrix into the global stiffness matrix. This function also modifies the residual according to the prescribed degrees of freedom.

bool FEHeatSolver::Init ( ) [virtual]

one-time initialization

Do one-time initialization for data.

Reimplemented from FESolver.

bool FEHeatSolver::InitEquations ( ) [virtual]

Initialize linear equation system.

This function initializes the equation system. It is assumed that all free dofs up until now have been given an ID >= 0 and the fixed or rigid dofs an ID < 0. After this operation the nodal ID array will contain the equation number assigned to the corresponding degree of freedom. To distinguish between free or unconstrained dofs and constrained ones the following rules apply to the ID array:

/ | >= 0 --> dof j of node i is a free dof ID[i][j] < == -1 --> dof j of node i is a fixed (no equation assigned too) | < -1 --> dof j of node i is constrained and has equation nr = -ID[i][j]-2 \

Implements FESolver.

bool FEHeatSolver::ReformStiffness ( ) [protected]

form the stiffness matrix

Reform the stiffness matrix. That is, calculate the shape of the stiffness matrix (i.e. figure out the sparsity pattern), fill the stiffness matrix with the element contributions and then factor the matrix.

void FEHeatSolver::Residual ( ) [protected]

calculate the residual

Calculate the residual.

void FEHeatSolver::Serialize ( DumpFile ar) [virtual]

serialize data

Serializes data to the archive. Still need to implement this.

Implements FESolver.

bool FEHeatSolver::SolveStep ( double  time) [virtual]

solve a timestep

solve a time step

Implements FESolver.

bool FEHeatSolver::StiffnessMatrix ( ) [protected]

calculate the stiffness matrix

Calculate the global stiffness matrix. This function simply calls FEHeatSolver::ElementStiffness() for each element and then assembles the element stiffness matrix into the global matrix.


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