// compute inner part of (global) stiffnes matrix // template void element_compute_stima(MATRIX& A, const MESH& M, const PDE& P, const INT& integration_order, const typename MESH::size_type level, std::pair element_range ) { // loop over all elements and sum up local stiffness matrices const typename MESH::size_type MM = MESH::nodes_per_element; typename MESH::local_stiffness_matrix_type stima(MM,MM); #ifdef USE_INSERT typename MESH::size_type sortflag = (M.element_count()/4)+1; #endif #ifndef USEPARALLELMATRIX #pragma omp parallel for default(shared) firstprivate(stima) schedule(static) #endif for (typename MESH::size_type ei=element_range.first; ei < element_range.second; ++ei) { if (M.element_hierarchy(ei).level > level) continue; if (M.element_hierarchy(ei).child[0] != MESH::NOCHILD && M.element_hierarchy(M.element_hierarchy(ei).child[0]).level <= level) continue; stima.clear(); compute_local_stima( stima, M, ei, typename MESH::element_type(), P, integration_order ); // update global stima for (typename MESH::size_type j=0; j