1 #include <lifev/core/fem/MatrixGraph.hpp> 3 using namespace std::chrono;
45 M_numScalarDofs = fespace->dof().numTotalDof();
55 M_elements[i] =
new double [ M_referenceFE->nbDof() ];
60 for (
int j = 0; j < M_referenceFE->nbDof(); j++ )
62 M_elements[i][j] = fespace->dof().localToGlobalMap (i, j);
70 M_rows[i_elem] =
new int [ M_referenceFE->nbDof() ];
77 M_cols[i_elem] =
new int [ M_referenceFE->nbDof() ];
84 matrix_graph.reset (
new graph_Type (Copy, *(fespace->map().map (Unique) ), 0 ) );
86 int ndof = M_referenceFE->nbDof();
91 for (
int i_test = 0; i_test < ndof; i_test++ )
96 for (
int i_trial = 0; i_trial < ndof; i_trial++ )
102 matrix_graph->InsertGlobalIndices ( ndof, M_rows[i_elem], ndof, M_cols[i_elem] );
104 for (
UInt d1 = 1; d1 < 3 ; d1++ )
106 for (
UInt i = 0; i < ndof; i++ )
111 matrix_graph->InsertGlobalIndices ( ndof, M_rows[i_elem], ndof, M_cols[i_elem] );
115 matrix_graph->GlobalAssemble();
void buildGraph(const int &numElements, CurrentFE *fe, const fespacePtr_Type &fespace, graphPtr_Type &matrix_graph)
Build the matrix graph.
const ReferenceFE * M_referenceFE
void updateInverseJacobian(const UInt &iQuadPt)
~MatrixGraph()
Destructor.
boost::shared_ptr< graph_Type > graphPtr_Type
CurrentFE - A primordial class for the assembly of the local matrices/vectors retaining the values on...
The class for a reference Lagrangian finite element.
boost::shared_ptr< fespace_Type > fespacePtr_Type
MatrixGraph(const meshPtr_Type &mesh, const commPtr_Type &comm, const ReferenceFE *refFE)
Constructor.
boost::shared_ptr< comm_Type > commPtr_Type
uint32_type UInt
generic unsigned integer (used mainly for addressing)
boost::shared_ptr< mesh_Type > meshPtr_Type