| Base faa874 | Head #4542 771e6d | ||||
|---|---|---|---|---|---|
| Total | Total | +/- | New | ||
| Rate | 65.99% | 65.99% | - | 100.00% | |
| Hits | 79529 | 79529 | - | 13 | |
| Misses | 40994 | 40994 | - | 0 | |
| Filename | Stmts | Miss | Cover |
|---|---|---|---|
| include/numerics/static_condensation_dof_map.h | -1 | 0 | -2.78% |
| src/base/dof_map.C | +2 | 0 | +0.02% |
| src/base/dof_map_constraints.C | -1 | 0 | -0.01% |
| TOTAL | 0 | 0 | +100.00% |
codecodecode+
101 102 103 104 + 105 106 107 |
this->_dof_coupling, this->_coupling_functors, implicit_neighbor_dofs, _need_full_sparsity_pattern, calculate_constrained, sc); |
157 158 159 160 + 161 + 162 163 164 |
_extra_send_list_context(nullptr), _default_coupling(std::make_unique<DefaultCoupling>()), _default_evaluating(std::make_unique<DefaultCoupling>()), _need_full_sparsity_pattern(false), _need_ghost_constraints(false), _n_SCALAR_dofs(0) #ifdef LIBMESH_ENABLE_AMR , _first_old_scalar_df() |
251 252 253 254 + 255 256 257 |
this->update_sparsity_pattern(matrix); if (matrix.need_full_sparsity_pattern()) _need_full_sparsity_pattern = true; } |
282 283 284 285 + 286 287 288 |
{ // We'd better have already computed the full sparsity // pattern if we need it here libmesh_assert(_need_full_sparsity_pattern); matrix.update_sparsity_pattern (_sp->get_sparsity_pattern()); } |
925 926 927 928 + 929 + 930 931 932 |
_first_scalar_df.clear(); this->clear_send_list(); this->clear_sparsity(); _need_full_sparsity_pattern = false; _need_ghost_constraints = false; #ifdef LIBMESH_ENABLE_AMR |
1969 1970 1971 1972 + 1973 1974 1975 1976 1977 + 1978 1979 1980 |
for (const auto & mat : _matrices) { mat->attach_sparsity_pattern (*_sp); if (_need_full_sparsity_pattern) mat->update_sparsity_pattern (_sp->get_sparsity_pattern()); } // If we don't need the full sparsity pattern anymore, free the // parts of it we don't need. if (!_need_full_sparsity_pattern) _sp->clear_full_sparsity(); } |
4495 4496 4497 4498 + 4499 4500 4501 |
// Now that we have our root constraint dependencies sorted out, add // them to the send_list this->add_constraints_to_send_list(mesh); } |
5308 5309 5310 5311 + 5312 5313 5314 |
} } void DofMap::add_constraints_to_send_list (const MeshBase & mesh) { // This function must be run on all processors at once parallel_object_only(); |
5344 5345 5346 5347 + 5348 5349 5350 |
// If we only need constraint DoFs constraining DoFs which are // algebraically local, we're done. if (!this->has_static_condensation() && !_need_ghost_constraints) return; // If we use StaticCondensation, though, we may need constraint DoFs |
5361 5362 5363 5364 + 5365 5366 5367 |
// // We'll potentially be hitting the same constrained DoFs from // multiple directions. for (auto & elem : mesh.active_local_element_ptr_range()) { std::vector<dof_id_type> di; this->dof_indices (elem, di); |