Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM > Class Template Referenceabstract

Forward declaration which is going to be used for friendship. More...

#include <AbstractConductivityTensors.hpp>

+ Inheritance diagram for AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >:
+ Collaboration diagram for AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >:

Public Member Functions

void SetFibreOrientationFile (const FileFinder &rFibreOrientationFile)
 
void SetConstantConductivities (c_vector< double, 1 > constantConductivities)
 
void SetConstantConductivities (c_vector< double, 2 > constantConductivities)
 
virtual void SetConstantConductivities (c_vector< double, 3 > constantConductivities)
 
void SetNonConstantConductivities (std::vector< c_vector< double, SPACE_DIM > > *pNonConstantConductivities)
 
virtual void Init (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh)=0
 
c_matrix< double, SPACE_DIM, SPACE_DIM > & operator[] (const unsigned global_index)
 

Protected Attributes

AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * mpMesh
 
bool mUseNonConstantConductivities
 
bool mUseFibreOrientation
 
c_vector< double, SPACE_DIM > mConstantConductivities
 
std::vector< c_vector< double, SPACE_DIM > > * mpNonConstantConductivities
 
std::vector< c_matrix< double, SPACE_DIM, SPACE_DIM > > mTensors
 
bool mInitialised
 
FileFinder mFibreOrientationFile
 
std::shared_ptr< FibreReader< SPACE_DIM > > mFileReader
 

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
class AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >

Forward declaration which is going to be used for friendship.

Base class for different representations of conductivity tensors.

Definition at line 51 of file AbstractConductivityTensors.hpp.

Constructor & Destructor Documentation

◆ AbstractConductivityTensors()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::AbstractConductivityTensors ( )

Definition at line 41 of file AbstractConductivityTensors.cpp.

◆ ~AbstractConductivityTensors()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::~AbstractConductivityTensors ( )
virtual

Definition at line 56 of file AbstractConductivityTensors.cpp.

Member Function Documentation

◆ Init()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
virtual void AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::Init ( AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *  pMesh)
pure virtual

Computes the tensors based in all the info set

Parameters
pMesha pointer to the mesh on which these tensors are to be used

Implemented in AxisymmetricConductivityTensors< ELEMENT_DIM, SPACE_DIM >, and OrthotropicConductivityTensors< ELEMENT_DIM, SPACE_DIM >.

◆ operator[]()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_matrix< double, SPACE_DIM, SPACE_DIM > & AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::operator[] ( const unsigned  global_index)
Returns
the diffussion tensor of the element number "index"
Parameters
global_indexGlobal index of the element of the mesh

Definition at line 111 of file AbstractConductivityTensors.cpp.

References EXCEPTION.

◆ SetConstantConductivities() [1/3]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetConstantConductivities ( c_vector< double, 1 >  constantConductivities)

Sets constant conductivities for all the elements of the mesh.

Parameters
constantConductivitiesLongitudinal, Transverse (y axis) and Normal conductivity (z axis)

We need explicit instantiation of this method to make sure that c_vector length matches SPACE_DIM. Compiler won't detect mismatches.

Definition at line 68 of file AbstractConductivityTensors.cpp.

References EXCEPTION.

◆ SetConstantConductivities() [2/3]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetConstantConductivities ( c_vector< double, 2 >  constantConductivities)

Sets constant conductivities for all the elements of the mesh.

Parameters
constantConductivitiesLongitudinal, Transverse (y axis) and Normal conductivity (z axis)

We need explicit instantiation of this method to make sure that c_vector length matches SPACE_DIM. Compiler won't detect mismatches.

Definition at line 80 of file AbstractConductivityTensors.cpp.

References EXCEPTION.

◆ SetConstantConductivities() [3/3]

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetConstantConductivities ( c_vector< double, 3 >  constantConductivities)
virtual

Sets constant conductivities for all the elements of the mesh.

Parameters
constantConductivitiesLongitudinal, Transverse (y axis) and Normal conductivity (z axis)

We need explicit instantiation of this method to make sure that c_vector length matches SPACE_DIM. Compiler won't detect mismatches.

Reimplemented in AxisymmetricConductivityTensors< ELEMENT_DIM, SPACE_DIM >.

Definition at line 92 of file AbstractConductivityTensors.cpp.

References EXCEPTION.

◆ SetFibreOrientationFile()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetFibreOrientationFile ( const FileFinder rFibreOrientationFile)

Sets a file for reading the fibre orientation from.

Parameters
rFibreOrientationFilethe file defining the fibre orientation

Definition at line 61 of file AbstractConductivityTensors.cpp.

◆ SetNonConstantConductivities()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetNonConstantConductivities ( std::vector< c_vector< double, SPACE_DIM > > *  pNonConstantConductivities)
Parameters
pNonConstantConductivitiespointer to vector of conductivities (one per local element)

Definition at line 104 of file AbstractConductivityTensors.cpp.

Member Data Documentation

◆ mConstantConductivities

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector<double, SPACE_DIM> AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::mConstantConductivities
protected

Single constant conductivities for all space (when mUseNonConstantConductivities==false)

Definition at line 59 of file AbstractConductivityTensors.hpp.

◆ mFibreOrientationFile

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
FileFinder AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::mFibreOrientationFile
protected

Fibre orientation file (see SetFibreOrientationFile)

Definition at line 75 of file AbstractConductivityTensors.hpp.

◆ mFileReader

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::shared_ptr<FibreReader<SPACE_DIM> > AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::mFileReader
protected

Fibre file reader

Definition at line 78 of file AbstractConductivityTensors.hpp.

◆ mInitialised

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::mInitialised
protected

Set by Init() in the base classes

Definition at line 72 of file AbstractConductivityTensors.hpp.

◆ mpMesh

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractTetrahedralMesh<ELEMENT_DIM, SPACE_DIM>* AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::mpMesh
protected

Mesh on which to apply

Definition at line 54 of file AbstractConductivityTensors.hpp.

◆ mpNonConstantConductivities

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<c_vector<double, SPACE_DIM> >* AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::mpNonConstantConductivities
protected

Non-constant conductivities for each element (when mUseNonConstantConductivities==true) The size of this vector should match the number of local elements in the mesh

Definition at line 65 of file AbstractConductivityTensors.hpp.

◆ mTensors

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< c_matrix<double,SPACE_DIM,SPACE_DIM> > AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::mTensors
protected

Container for conductivity tensors (single, size=1 [one for all space] or multiple, size=num local elements [one for each local element])

Definition at line 69 of file AbstractConductivityTensors.hpp.

◆ mUseFibreOrientation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::mUseFibreOrientation
protected

Set by SetFibreOrientationFile so that fibre orientation can be read

Definition at line 56 of file AbstractConductivityTensors.hpp.

◆ mUseNonConstantConductivities

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::mUseNonConstantConductivities
protected

Whether conductivities can be non-constant

Definition at line 55 of file AbstractConductivityTensors.hpp.


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