$extrastylesheet
#include <node.h>

Public Member Functions | |
| Node (const Real x=0, const Real y=0, const Real z=0, const dof_id_type id=invalid_id) | |
| Node (const Node &n) | |
| Node (const Point &p, const dof_id_type id=invalid_id) | |
| ~Node () | |
| Node & | operator= (const Point &p) |
| bool | active () const |
| bool | operator== (const Node &rhs) const |
| void | print_info (std::ostream &os=libMesh::out) const |
| std::string | get_info () const |
| unsigned int | packed_size () const |
| unsigned int | valence () const |
| void | set_valence (unsigned int val) |
| void | assign (const TypeVector< T2 > &) |
| const Real & | operator() (const unsigned int i) const |
| Real & | operator() (const unsigned int i) |
| const Real & | slice (const unsigned int i) const |
| Real & | slice (const unsigned int i) |
| TypeVector< typename CompareTypes< Real, T2 > ::supertype > | operator+ (const TypeVector< T2 > &) const |
| const TypeVector< Real > & | operator+= (const TypeVector< T2 > &) |
| void | add (const TypeVector< T2 > &) |
| void | add_scaled (const TypeVector< T2 > &, const Real) |
| TypeVector< typename CompareTypes< Real, T2 > ::supertype > | operator- (const TypeVector< T2 > &) const |
| TypeVector< Real > | operator- () const |
| const TypeVector< Real > & | operator-= (const TypeVector< T2 > &) |
| void | subtract (const TypeVector< T2 > &) |
| void | subtract_scaled (const TypeVector< T2 > &, const Real) |
| boostcopy::enable_if_c < ScalarTraits< Scalar > ::value, TypeVector< typename CompareTypes< Real, Scalar > ::supertype > >::type | operator* (const Scalar) const |
| CompareTypes< Real, T2 >::supertype | operator* (const TypeVector< T2 > &) const |
| const TypeVector< Real > & | operator*= (const Real) |
| boostcopy::enable_if_c < ScalarTraits< Scalar > ::value, TypeVector< typename CompareTypes< Real, Scalar > ::supertype > >::type | operator/ (const Scalar) const |
| const TypeVector< Real > & | operator/= (const Real) |
| CompareTypes< Real, T2 >::supertype | contract (const TypeVector< T2 > &) const |
| TypeVector< typename CompareTypes< Real, T2 > ::supertype > | cross (const TypeVector< T2 > &) const |
| TypeVector< Real > | unit () const |
| Real | size () const |
| Real | size_sq () const |
| void | zero () |
| bool | relative_fuzzy_equals (const TypeVector< Real > &rhs, Real tol=TOLERANCE) const |
| bool | absolute_fuzzy_equals (const TypeVector< Real > &rhs, Real tol=TOLERANCE) const |
| bool | operator== (const TypeVector< Real > &rhs) const |
| bool | operator!= (const TypeVector< Real > &rhs) const |
| bool | operator< (const TypeVector< Real > &rhs) const |
| bool | operator<= (const TypeVector< Real > &rhs) const |
| bool | operator> (const TypeVector< Real > &rhs) const |
| bool | operator>= (const TypeVector< Real > &rhs) const |
| void | print (std::ostream &os=libMesh::out) const |
| void | write_unformatted (std::ostream &out, const bool newline=true) const |
| void | clear_old_dof_object () |
| void | set_old_dof_object () |
| void | clear_dofs () |
| void | invalidate_dofs (const unsigned int sys_num=libMesh::invalid_uint) |
| void | invalidate_id () |
| void | invalidate_processor_id () |
| void | invalidate () |
| unsigned int | n_dofs (const unsigned int s, const unsigned int var=libMesh::invalid_uint) const |
| dof_id_type | id () const |
| dof_id_type & | set_id () |
| void | set_id (const dof_id_type dofid) |
| unique_id_type | unique_id () const |
| unique_id_type & | set_unique_id () |
| bool | valid_id () const |
| bool | valid_unique_id () const |
| processor_id_type | processor_id () const |
| processor_id_type & | processor_id () |
| void | processor_id (const processor_id_type pid) |
| bool | valid_processor_id () const |
| unsigned int | n_systems () const |
| void | set_n_systems (const unsigned int s) |
| void | add_system () |
| unsigned int | n_var_groups (const unsigned int s) const |
| unsigned int | n_vars (const unsigned int s, const unsigned int vg) const |
| unsigned int | n_vars (const unsigned int s) const |
| void | set_n_vars_per_group (const unsigned int s, const std::vector< unsigned int > &nvpg) |
| unsigned int | n_comp (const unsigned int s, const unsigned int var) const |
| unsigned int | n_comp_group (const unsigned int s, const unsigned int vg) const |
| void | set_n_comp (const unsigned int s, const unsigned int var, const unsigned int ncomp) |
| void | set_n_comp_group (const unsigned int s, const unsigned int vg, const unsigned int ncomp) |
| dof_id_type | dof_number (const unsigned int s, const unsigned int var, const unsigned int comp) const |
| void | set_dof_number (const unsigned int s, const unsigned int var, const unsigned int comp, const dof_id_type dn) |
| bool | has_dofs (const unsigned int s=libMesh::invalid_uint) const |
| void | set_vg_dof_base (const unsigned int s, const unsigned int vg, const dof_id_type db) |
| dof_id_type | vg_dof_base (const unsigned int s, const unsigned int vg) const |
| unsigned int | packed_indexing_size () const |
| void | unpack_indexing (std::vector< largest_id_type >::const_iterator begin) |
| void | pack_indexing (std::back_insert_iterator< std::vector< largest_id_type > > target) const |
| void | debug_buffer () const |
| void | set_buffer (const std::vector< dof_id_type > &buf) |
Static Public Member Functions | |
| static UniquePtr< Node > | build (const Node &n) |
| static UniquePtr< Node > | build (const Point &p, const dof_id_type id) |
| static UniquePtr< Node > | build (const Real x, const Real y, const Real z, const dof_id_type id) |
| static unsigned int | unpackable_indexing_size (std::vector< largest_id_type >::const_iterator begin) |
| static std::string | get_info () |
| static void | print_info (std::ostream &out=libMesh::out) |
| static unsigned int | n_objects () |
| static void | enable_print_counter_info () |
| static void | disable_print_counter_info () |
| static std::string | get_info () |
| static void | print_info (std::ostream &out=libMesh::out) |
| static unsigned int | n_objects () |
| static void | enable_print_counter_info () |
| static void | disable_print_counter_info () |
Public Attributes | |
| DofObject * | old_dof_object |
Static Public Attributes | |
| static const dof_id_type | invalid_id = static_cast<dof_id_type>(-1) |
| static const unique_id_type | invalid_unique_id = static_cast<unique_id_type>(-1) |
| static const processor_id_type | invalid_processor_id = static_cast<processor_id_type>(-1) |
Protected Types | |
| typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
| typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Protected Member Functions | |
| void | increment_constructor_count (const std::string &name) |
| void | increment_destructor_count (const std::string &name) |
| void | increment_constructor_count (const std::string &name) |
| void | increment_destructor_count (const std::string &name) |
Protected Attributes | |
| Real | _coords [LIBMESH_DIM] |
Static Protected Attributes | |
| static Counts | _counts |
| static Threads::atomic < unsigned int > | _n_objects |
| static Threads::spin_mutex | _mutex |
| static bool | _enable_print_counter = true |
| static Counts | _counts |
| static Threads::atomic < unsigned int > | _n_objects |
| static Threads::spin_mutex | _mutex |
| static bool | _enable_print_counter = true |
Private Types | |
| typedef unsigned char | valence_idx_t |
Private Attributes | |
| valence_idx_t | _valence |
Friends | |
| class | MeshRefinement |
| class | Elem |
| class | Node |
| std::ostream & | operator<< (std::ostream &os, const TypeVector< Real > &t) |
A Node is like a Point, but with more information. A Node is located in space and is associated with some (x,y,z) coordinates. Additionally, a Node may be enumerated with a global id. Finally, a Node may have an arbitrary number of degrees of freedom associated with it.
typedef std::map<std::string, std::pair<unsigned int, unsigned int> > libMesh::ReferenceCounter::Counts [protected, inherited] |
Data structure to log the information. The log is identified by the class name.
Definition at line 113 of file reference_counter.h.
typedef std::map<std::string, std::pair<unsigned int, unsigned int> > libMesh::ReferenceCounter::Counts [protected, inherited] |
Data structure to log the information. The log is identified by the class name.
Definition at line 113 of file reference_counter.h.
typedef unsigned char libMesh::Node::valence_idx_t [private] |
| libMesh::Node::Node | ( | const Real | x = 0, |
| const Real | y = 0, |
||
| const Real | z = 0, |
||
| const dof_id_type | id = invalid_id |
||
| ) | [inline, explicit] |
Constructor. By default sets all entries to 0. Gives the point 0 in LIBMESH_DIM dimensions with an id of Node::invalid_id
Definition at line 213 of file node.h.
References libMesh::DofObject::set_id().
Referenced by build().
| libMesh::Node::Node | ( | const Node & | n | ) | [inline] |
| libMesh::Node::Node | ( | const Point & | p, |
| const dof_id_type | id = invalid_id |
||
| ) | [inline, explicit] |
Copy-constructor from a Point. Optionally assigned the id.
Definition at line 243 of file node.h.
References libMesh::DofObject::invalid_id, and libMesh::DofObject::set_id().
: Point(p) #ifdef LIBMESH_ENABLE_NODE_VALENCE , _valence(0) #endif { // optionally assign the id. We have // to do it like this otherwise // Node n = Point p would erase // the id! if (dofid != invalid_id) this->set_id() = dofid; }
| libMesh::Node::~Node | ( | ) | [inline] |
| bool libMesh::TypeVector< Real >::absolute_fuzzy_equals | ( | const TypeVector< Real > & | rhs, |
| Real | tol = TOLERANCE |
||
| ) | const [inherited] |
true iff two vectors occupy approximately the same physical location in space, to within an absolute tolerance of tol. | bool libMesh::Node::active | ( | ) | const [inline] |
true if the node is active. An active node is defined as one for which id() is not Node::invalid_id. Inactive nodes are nodes that are in the mesh but are not connected to any elements. Definition at line 313 of file node.h.
References libMesh::DofObject::invalid_id.
{
return (this->id() != Node::invalid_id);
}
| void libMesh::TypeVector< Real >::add | ( | const TypeVector< T2 > & | ) | [inherited] |
Add to this vector without creating a temporary.
| void libMesh::TypeVector< Real >::add_scaled | ( | const TypeVector< T2 > & | , |
| const Real | |||
| ) | [inherited] |
Add a scaled value to this vector without creating a temporary.
| void libMesh::DofObject::add_system | ( | ) | [inherited] |
Adds an additional system to the DofObject
Definition at line 187 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), and libMesh::DofObject::set_n_systems().
{
// quick return?
if (this->n_systems() == 0)
{
this->set_n_systems(1);
return;
}
DofObject::index_buffer_t::iterator it = _idx_buf.begin();
std::advance(it, this->n_systems());
// this inserts the current vector size at the position for the new system - creating the
// entry we need for the new system indicating there are 0 variables.
_idx_buf.insert(it, cast_int<dof_id_type>(_idx_buf.size()));
// cache this value before we screw it up!
const unsigned int ns_orig = this->n_systems();
// incriment the number of systems and the offsets for each of
// the systems including the new one we just added.
for (unsigned int i=0; i<ns_orig+1; i++)
_idx_buf[i]++;
libmesh_assert_equal_to (this->n_systems(), (ns_orig+1));
libmesh_assert_equal_to (this->n_vars(ns_orig), 0);
libmesh_assert_equal_to (this->n_var_groups(ns_orig), 0);
}
| void libMesh::TypeVector< Real >::assign | ( | const TypeVector< T2 > & | ) | [inherited] |
Assign to a vector without creating a temporary.
| UniquePtr< Node > libMesh::Node::build | ( | const Node & | n | ) | [inline, static] |
Builds a Node and returns an UniquePtr<Node> to the newly-created object. The id is copied from n.id()
Definition at line 285 of file node.h.
References Node().
Referenced by libMesh::SerialMesh::add_point(), and libMesh::ParallelMesh::add_point().
{
return UniquePtr<Node>(new Node(n));
}
| UniquePtr< Node > libMesh::Node::build | ( | const Point & | p, |
| const dof_id_type | id | ||
| ) | [inline, static] |
| UniquePtr< Node > libMesh::Node::build | ( | const Real | x, |
| const Real | y, | ||
| const Real | z, | ||
| const dof_id_type | id | ||
| ) | [inline, static] |
| void libMesh::DofObject::clear_dofs | ( | ) | [inline, inherited] |
Clear the DofMap data structures and return to a pristine state.
Definition at line 585 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::libmesh_assert(), and libMesh::DofObject::n_systems().
Referenced by libMesh::DofObject::set_n_systems(), and libMesh::DofObject::~DofObject().
{
// vector swap trick to force deallocation
index_buffer_t().swap(_idx_buf);
libmesh_assert_equal_to (this->n_systems(), 0);
libmesh_assert (_idx_buf.empty());
}
| void libMesh::DofObject::clear_old_dof_object | ( | ) | [inherited] |
Sets the old_dof_object to NULL
Definition at line 134 of file dof_object.C.
References libMesh::DofObject::old_dof_object.
Referenced by libMesh::DofObject::operator=(), libMesh::DofObject::set_old_dof_object(), libMesh::DofObject::unpack_indexing(), and libMesh::DofObject::~DofObject().
{
delete this->old_dof_object;
this->old_dof_object = NULL;
}
| CompareTypes<Real , T2>::supertype libMesh::TypeVector< Real >::contract | ( | const TypeVector< T2 > & | ) | const [inherited] |
Multiply 2 vectors together, i.e. dot-product. The vectors may be of different types.
| TypeVector<typename CompareTypes<Real , T2>::supertype> libMesh::TypeVector< Real >::cross | ( | const TypeVector< T2 > & | ) | const [inherited] |
Cross 2 vectors together, i.e. cross-product.
| void libMesh::DofObject::debug_buffer | ( | ) | const [inherited] |
Print our buffer for debugging.
Definition at line 543 of file dof_object.C.
References libMesh::DofObject::_idx_buf, and libMesh::out.
{
libMesh::out << " [ ";
for (unsigned int i=0; i<_idx_buf.size(); i++)
libMesh::out << _idx_buf[i] << " ";
libMesh::out << "]\n";
}
| void libMesh::ReferenceCounter::disable_print_counter_info | ( | ) | [static, inherited] |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
{
_enable_print_counter = false;
return;
}
| void libMesh::ReferenceCounter::disable_print_counter_info | ( | ) | [static, inherited] |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
{
_enable_print_counter = false;
return;
}
| dof_id_type libMesh::DofObject::dof_number | ( | const unsigned int | s, |
| const unsigned int | var, | ||
| const unsigned int | comp | ||
| ) | const [inline, inherited] |
var, component comp for system s associated with this DofObject When partitioning and DoF numbering have been performed by libMesh, every current DoF on this DofObject will belong to its processor.
Definition at line 797 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::invalid_id, libMesh::DofObject::n_comp(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), libMesh::DofObject::start_idx(), libMesh::DofObject::system_var_to_vg_var(), and libMesh::DofObject::var_to_vg().
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEGenericBase< OutputType >::compute_periodic_constraints(), libMesh::DofMap::constrain_p_dofs(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::GMVIO::copy_nodal_solution(), libMesh::DofMap::distribute_dofs(), libMesh::DofObject::DofObject(), get_info(), libMesh::Elem::get_info(), libMesh::DofMap::local_variable_indices(), libMesh::DofMap::old_dof_indices(), libMesh::DofObject::operator=(), libMesh::HPCoarsenTest::select_refinement(), libMesh::DofObject::set_dof_number(), libMesh::DofMap::set_nonlocal_dof_objects(), and libMesh::System::zero_variable().
{
libmesh_assert_less (s, this->n_systems());
libmesh_assert_less (var, this->n_vars(s));
libmesh_assert_less (comp, this->n_comp(s,var));
const unsigned int
vg = this->var_to_vg(s,var),
start_idx_sys = this->start_idx(s);
libmesh_assert_less ((start_idx_sys + 2*vg + 1), _idx_buf.size());
const dof_id_type
base_idx = _idx_buf[start_idx_sys + 2*vg + 1];
// if the first component is invalid, they
// are all invalid
if (base_idx == invalid_id)
return invalid_id;
// otherwise the index is the first component
// index augemented by the component number
else
{
const unsigned int
ncg = this->n_comp_group(s,vg),
vig = this->system_var_to_vg_var(s,vg,var);
// std::cout << "base_idx, var, vg, vig, ncg, comp="
// << base_idx << " "
// << var << " "
// << vg << " "
// << vig << " "
// << ncg << " "
// << comp << '\n';
return cast_int<dof_id_type>(base_idx + vig*ncg + comp);
}
}
| void libMesh::ReferenceCounter::enable_print_counter_info | ( | ) | [static, inherited] |
Methods to enable/disable the reference counter output from print_info()
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
{
_enable_print_counter = true;
return;
}
| void libMesh::ReferenceCounter::enable_print_counter_info | ( | ) | [static, inherited] |
Methods to enable/disable the reference counter output from print_info()
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
{
_enable_print_counter = true;
return;
}
| std::string libMesh::ReferenceCounter::get_info | ( | ) | [static, inherited] |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
{
#if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
std::ostringstream oss;
oss << '\n'
<< " ---------------------------------------------------------------------------- \n"
<< "| Reference count information |\n"
<< " ---------------------------------------------------------------------------- \n";
for (Counts::iterator it = _counts.begin();
it != _counts.end(); ++it)
{
const std::string name(it->first);
const unsigned int creations = it->second.first;
const unsigned int destructions = it->second.second;
oss << "| " << name << " reference count information:\n"
<< "| Creations: " << creations << '\n'
<< "| Destructions: " << destructions << '\n';
}
oss << " ---------------------------------------------------------------------------- \n";
return oss.str();
#else
return "";
#endif
}
| std::string libMesh::ReferenceCounter::get_info | ( | ) | [static, inherited] |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
{
#if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
std::ostringstream oss;
oss << '\n'
<< " ---------------------------------------------------------------------------- \n"
<< "| Reference count information |\n"
<< " ---------------------------------------------------------------------------- \n";
for (Counts::iterator it = _counts.begin();
it != _counts.end(); ++it)
{
const std::string name(it->first);
const unsigned int creations = it->second.first;
const unsigned int destructions = it->second.second;
oss << "| " << name << " reference count information:\n"
<< "| Creations: " << creations << '\n'
<< "| Destructions: " << destructions << '\n';
}
oss << " ---------------------------------------------------------------------------- \n";
return oss.str();
#else
return "";
#endif
}
| std::string libMesh::Node::get_info | ( | ) | const |
Prints relevant information about the node to a string.
Definition at line 53 of file node.C.
References libMesh::DofObject::dof_number(), libMesh::DofObject::id(), libMesh::DofObject::n_comp(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), libMesh::DofObject::processor_id(), and libMesh::DofObject::valid_id().
Referenced by print_info().
{
std::ostringstream oss;
oss << " Node id()=";
if (this->valid_id())
oss << this->id();
else
oss << "invalid";
oss << ", processor_id()=" << this->processor_id() <<
", Point=" << *static_cast<const Point*>(this) << '\n';
oss << " DoFs=";
for (unsigned int s=0; s != this->n_systems(); ++s)
for (unsigned int v=0; v != this->n_vars(s); ++v)
for (unsigned int c=0; c != this->n_comp(s,v); ++c)
oss << '(' << s << '/' << v << '/' << this->dof_number(s,v,c) << ") ";
return oss.str();
}
| bool libMesh::DofObject::has_dofs | ( | const unsigned int | s = libMesh::invalid_uint | ) | const [inline, inherited] |
Definition at line 842 of file dof_object.h.
References libMesh::invalid_uint, libMesh::DofObject::n_systems(), and libMesh::DofObject::n_vars().
Referenced by libMesh::MeshTools::libmesh_assert_old_dof_objects(), libMesh::DofMap::old_dof_indices(), and libMesh::DofMap::reinit().
| dof_id_type libMesh::DofObject::id | ( | ) | const [inline, inherited] |
id for this DofObject Definition at line 619 of file dof_object.h.
References libMesh::DofObject::_id, libMesh::libmesh_assert(), and libMesh::DofObject::valid_id().
Referenced by libMesh::MetisPartitioner::_do_partition(), libMesh::SFCPartitioner::_do_partition(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::MeshTools::Subdivision::add_boundary_ghosts(), libMesh::SerialMesh::add_elem(), libMesh::ParallelMesh::add_elem(), libMesh::SerialMesh::add_node(), libMesh::ParallelMesh::add_node(), libMesh::ParallelMesh::add_point(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Subdivision::all_subdivision(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::MeshData::assign(), libMesh::ParmetisPartitioner::assign_partitioning(), libMesh::MeshTools::Generation::build_delaunay_square(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::ParmetisPartitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::VTKIO::cells_to_vtk(), libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::FEGenericBase< OutputType >::compute_periodic_constraints(), libMesh::FEMap::compute_single_point_map(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::SerialMesh::delete_elem(), libMesh::ParallelMesh::delete_elem(), libMesh::SerialMesh::delete_node(), libMesh::ParallelMesh::delete_node(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::MeshData::elem_to_foreign_id(), libMesh::UNVIO::elements_out(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshTools::find_nodal_neighbors(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshTools::Modification::flatten(), get_info(), libMesh::Elem::get_info(), libMesh::DofMap::get_local_constraints(), libMesh::EquationSystems::get_solution(), libMesh::UNVIO::groups_in(), libMesh::LaplaceMeshSmoother::init(), libMesh::ParmetisPartitioner::initialize(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::TreeNode< N >::insert(), libMesh::SerialMesh::insert_elem(), libMesh::ParallelMesh::insert_elem(), libMesh::SerialMesh::insert_node(), libMesh::FE< Dim, T >::inverse_map(), libMesh::MeshTools::libmesh_assert_valid_amr_elem_ids(), libMesh::MeshTools::libmesh_assert_valid_elem_ids(), libMesh::MeshTools::libmesh_assert_valid_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::Tri3Subdivision::local_node_number(), libMesh::Elem::node(), libMesh::MeshData::node_to_foreign_id(), libMesh::UNVIO::nodes_out(), libMesh::VTKIO::nodes_to_vtk(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::BoundaryInfo::operator=(), libMesh::Parallel::pack(), libMesh::ErrorVector::plot_error(), libMesh::ParallelMesh::query_elem(), libMesh::ParallelMesh::query_node_ptr(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::AbaqusIO::read_elements(), libMesh::ParallelMesh::renumber_elem(), libMesh::ParallelMesh::renumber_node(), libMesh::ParallelMesh::renumber_nodes_and_elements(), libMesh::DofMap::scatter_constraints(), libMesh::HPCoarsenTest::select_refinement(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::FE< Dim, T >::shape_second_deriv(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::MeshTools::Modification::smooth(), libMesh::SerialMesh::stitching_helper(), libMesh::BoundaryInfo::sync(), libMesh::Parallel::sync_dofobject_data_by_id(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::sync_node_data_by_element_id(), libMesh::Elem::topological_neighbor(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), libMesh::Parallel::unpack(), libMesh::GMVIO::write_ascii_new_impl(), libMesh::GMVIO::write_ascii_old_impl(), libMesh::CheckpointIO::write_connectivity(), libMesh::ExodusII_IO_Helper::write_element_values(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::GmshIO::write_mesh(), libMesh::LegacyXdrIO::write_mesh(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::CheckpointIO::write_nodes(), and libMesh::XdrIO::write_serialized_connectivity().
{
libmesh_assert (this->valid_id());
return _id;
}
| void libMesh::ReferenceCounter::increment_constructor_count | ( | const std::string & | name | ) | [inline, protected, inherited] |
Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.
Definition at line 163 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
{
Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
std::pair<unsigned int, unsigned int>& p = _counts[name];
p.first++;
}
| void libMesh::ReferenceCounter::increment_constructor_count | ( | const std::string & | name | ) | [inline, protected, inherited] |
Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.
Definition at line 163 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
{
Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
std::pair<unsigned int, unsigned int>& p = _counts[name];
p.first++;
}
| void libMesh::ReferenceCounter::increment_destructor_count | ( | const std::string & | name | ) | [inline, protected, inherited] |
Increments the destruction counter. Should be called in the destructor of any derived class that will be reference counted.
Definition at line 176 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
{
Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
std::pair<unsigned int, unsigned int>& p = _counts[name];
p.second++;
}
| void libMesh::ReferenceCounter::increment_destructor_count | ( | const std::string & | name | ) | [inline, protected, inherited] |
Increments the destruction counter. Should be called in the destructor of any derived class that will be reference counted.
Definition at line 176 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
{
Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
std::pair<unsigned int, unsigned int>& p = _counts[name];
p.second++;
}
| void libMesh::DofObject::invalidate | ( | ) | [inline, inherited] |
Invalidates all the indices for this DofObject
Definition at line 575 of file dof_object.h.
References libMesh::DofObject::invalidate_dofs(), libMesh::DofObject::invalidate_id(), and libMesh::DofObject::invalidate_processor_id().
Referenced by libMesh::DofObject::DofObject().
{
this->invalidate_dofs ();
this->invalidate_id ();
this->invalidate_processor_id ();
}
| void libMesh::DofObject::invalidate_dofs | ( | const unsigned int | sys_num = libMesh::invalid_uint | ) | [inline, inherited] |
Sets all degree of freedom numbers to invalid_id
Definition at line 539 of file dof_object.h.
References libMesh::DofObject::invalid_id, libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), and libMesh::DofObject::set_vg_dof_base().
Referenced by libMesh::DofObject::invalidate().
{
// If the user does not specify the system number...
if (sys_num >= this->n_systems())
{
for (unsigned int s=0; s<this->n_systems(); s++)
for (unsigned int vg=0; vg<this->n_var_groups(s); vg++)
if (this->n_comp_group(s,vg))
this->set_vg_dof_base(s,vg,invalid_id);
}
// ...otherwise invalidate the dofs for all systems
else
for (unsigned int vg=0; vg<this->n_var_groups(sys_num); vg++)
if (this->n_comp_group(sys_num,vg))
this->set_vg_dof_base(sys_num,vg,invalid_id);
}
| void libMesh::DofObject::invalidate_id | ( | ) | [inline, inherited] |
Sets the id to invalid_id
Definition at line 559 of file dof_object.h.
References libMesh::DofObject::invalid_id, and libMesh::DofObject::set_id().
Referenced by libMesh::DofObject::invalidate().
{
this->set_id (invalid_id);
}
| void libMesh::DofObject::invalidate_processor_id | ( | ) | [inline, inherited] |
Sets the processor id to invalid_processor_id
Definition at line 567 of file dof_object.h.
References libMesh::DofObject::invalid_processor_id, and libMesh::DofObject::processor_id().
Referenced by libMesh::MeshTools::correct_node_proc_ids(), libMesh::DofObject::invalidate(), libMesh::Partitioner::set_node_processor_ids(), and libMesh::Partitioner::set_parent_processor_ids().
{
this->processor_id (invalid_processor_id);
}
| unsigned int libMesh::DofObject::n_comp | ( | const unsigned int | s, |
| const unsigned int | var | ||
| ) | const [inline, inherited] |
var of system s associated with this DofObject. For example, the HIERARCHIC shape functions may have multiple DoFs associated with one node. Another example is the MONOMIALs, where only the elements hold the DoFs. For the different spatial directions, and orders, see FE. Definition at line 767 of file dof_object.h.
References libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), and libMesh::DofObject::var_to_vg().
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEGenericBase< OutputType >::compute_periodic_constraints(), libMesh::DofMap::constrain_p_dofs(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofObject::dof_number(), libMesh::DofObject::DofObject(), get_info(), libMesh::Elem::get_info(), libMesh::DofMap::local_variable_indices(), libMesh::DofObject::n_dofs(), libMesh::DofMap::old_dof_indices(), libMesh::DofObject::operator=(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofMap::set_nonlocal_dof_objects(), and libMesh::System::zero_variable().
{
libmesh_assert_less (s, this->n_systems());
libmesh_assert_less (var, this->n_vars(s));
return this->n_comp_group(s,this->var_to_vg(s,var));
}
| unsigned int libMesh::DofObject::n_comp_group | ( | const unsigned int | s, |
| const unsigned int | vg | ||
| ) | const [inline, inherited] |
VariableGroup vg of system s associated with this DofObject. For example, the HIERARCHIC shape functions may have multiple DoFs associated with one node. Another example is the MONOMIALs, where only the elements hold the DoFs. For the different spatial directions, and orders, see FE. Definition at line 780 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::ncv_magic, and libMesh::DofObject::start_idx().
Referenced by libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofObject::dof_number(), libMesh::DofObject::invalidate_dofs(), libMesh::DofObject::n_comp(), libMesh::DofMap::reinit(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_vars_per_group(), and libMesh::DofMap::set_nonlocal_dof_objects().
| unsigned int libMesh::DofObject::n_dofs | ( | const unsigned int | s, |
| const unsigned int | var = libMesh::invalid_uint |
||
| ) | const [inline, inherited] |
s for this object. Optionally only counts degrees of freedom for variable number var Definition at line 597 of file dof_object.h.
References libMesh::invalid_uint, libMesh::DofObject::n_comp(), libMesh::DofObject::n_systems(), and libMesh::DofObject::n_vars().
Referenced by libMesh::EquationSystems::build_solution_vector().
{
libmesh_assert_less (s, this->n_systems());
unsigned int num = 0;
// Count all variables
if (var == libMesh::invalid_uint)
for (unsigned int v=0; v<this->n_vars(s); v++)
num += this->n_comp(s,v);
// Only count specified variable
else
num = this->n_comp(s,var);
return num;
}
| static unsigned int libMesh::ReferenceCounter::n_objects | ( | ) | [inline, static, inherited] |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 79 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
{ return _n_objects; }
| static unsigned int libMesh::ReferenceCounter::n_objects | ( | ) | [inline, static, inherited] |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 79 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
{ return _n_objects; }
| unsigned int libMesh::DofObject::n_systems | ( | ) | const [inline, inherited] |
DofObject Definition at line 713 of file dof_object.h.
References libMesh::DofObject::_idx_buf.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofObject::add_system(), libMesh::DofObject::clear_dofs(), libMesh::DofObject::dof_number(), libMesh::DofObject::DofObject(), libMesh::DofObject::end_idx(), get_info(), libMesh::Elem::get_info(), libMesh::DofObject::has_dofs(), libMesh::DofObject::invalidate_dofs(), libMesh::MeshTools::libmesh_assert_equal_n_systems(), libMesh::DofObject::n_comp(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_dofs(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), libMesh::DofMap::old_dof_indices(), libMesh::DofObject::operator=(), libMesh::Elem::refine(), libMesh::EquationSystems::reinit(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_comp(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_systems(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofObject::set_vg_dof_base(), libMesh::DofObject::start_idx(), and libMesh::DofObject::vg_dof_base().
| unsigned int libMesh::DofObject::n_var_groups | ( | const unsigned int | s | ) | const [inline, inherited] |
VariableGroup variable groups associated with system s for this DofObject Definition at line 722 of file dof_object.h.
References libMesh::DofObject::end_idx(), libMesh::DofObject::n_systems(), and libMesh::DofObject::start_idx().
Referenced by libMesh::DofObject::add_system(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofObject::DofObject(), libMesh::DofObject::invalidate_dofs(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_vars(), libMesh::DofObject::operator=(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_systems(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::DofObject::set_vg_dof_base(), libMesh::DofObject::var_to_vg(), and libMesh::DofObject::vg_dof_base().
| unsigned int libMesh::DofObject::n_vars | ( | const unsigned int | s, |
| const unsigned int | vg | ||
| ) | const [inline, inherited] |
Variable variables associated with VariableGroup vg in system s for this DofObject Definition at line 732 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::ncv_magic_exp, and libMesh::DofObject::start_idx().
Referenced by libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DofObject::add_system(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::DofMap::distribute_dofs(), libMesh::DofObject::dof_number(), libMesh::DofObject::DofObject(), get_info(), libMesh::Elem::get_info(), libMesh::DofObject::has_dofs(), libMesh::DofObject::n_comp(), libMesh::DofObject::n_dofs(), libMesh::DofObject::n_vars(), libMesh::DofObject::operator=(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_comp(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_systems(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::DofObject::system_var_to_vg_var(), and libMesh::DofObject::var_to_vg().
{
libmesh_assert_less (s, this->n_systems());
libmesh_assert_less (vg, this->n_var_groups(s));
const unsigned int start_idx_sys = this->start_idx(s);
libmesh_assert_less ((start_idx_sys + 2*vg), _idx_buf.size());
return (cast_int<unsigned int>
(_idx_buf[start_idx_sys + 2*vg]) >> ncv_magic_exp);
}
| unsigned int libMesh::DofObject::n_vars | ( | const unsigned int | s | ) | const [inline, inherited] |
Definition at line 749 of file dof_object.h.
References libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), and libMesh::DofObject::n_vars().
{
libmesh_assert_less (s, this->n_systems());
const unsigned int nvg = this->n_var_groups(s);
unsigned int val=0;
for (unsigned int vg=0; vg<nvg; vg++)
val += this->n_vars(s,vg);
return val;
}
| bool libMesh::TypeVector< Real >::operator!= | ( | const TypeVector< Real > & | rhs | ) | const [inherited] |
true iff two vectors do not occupy approximately the same physical location in space. | const Real & libMesh::TypeVector< Real >::operator() | ( | const unsigned int | i | ) | const [inherited] |
Return the
element of the vector.
| Real & libMesh::TypeVector< Real >::operator() | ( | const unsigned int | i | ) | [inherited] |
Return a writeable reference to the
element of the vector.
| boostcopy::enable_if_c< ScalarTraits<Scalar>::value, TypeVector<typename CompareTypes<Real , Scalar>::supertype> >::type libMesh::TypeVector< Real >::operator* | ( | const Scalar | ) | const [inherited] |
Multiply a vector by a number, i.e. scale.
| CompareTypes<Real , T2>::supertype libMesh::TypeVector< Real >::operator* | ( | const TypeVector< T2 > & | ) | const [inherited] |
Multiply 2 vectors together, i.e. dot-product. The vectors may be of different types.
| const TypeVector<Real >& libMesh::TypeVector< Real >::operator*= | ( | const Real | ) | [inherited] |
Multiply this vector by a number, i.e. scale.
| TypeVector<typename CompareTypes<Real , T2>::supertype> libMesh::TypeVector< Real >::operator+ | ( | const TypeVector< T2 > & | ) | const [inherited] |
Add two vectors.
| const TypeVector<Real >& libMesh::TypeVector< Real >::operator+= | ( | const TypeVector< T2 > & | ) | [inherited] |
Add to this vector.
| TypeVector<typename CompareTypes<Real , T2>::supertype> libMesh::TypeVector< Real >::operator- | ( | const TypeVector< T2 > & | ) | const [inherited] |
Subtract two vectors.
| TypeVector<Real > libMesh::TypeVector< Real >::operator- | ( | ) | const [inherited] |
Return the opposite of a vector
| const TypeVector<Real >& libMesh::TypeVector< Real >::operator-= | ( | const TypeVector< T2 > & | ) | [inherited] |
Subtract from this vector.
| boostcopy::enable_if_c< ScalarTraits<Scalar>::value, TypeVector<typename CompareTypes<Real , Scalar>::supertype> >::type libMesh::TypeVector< Real >::operator/ | ( | const Scalar | ) | const [inherited] |
Divide a vector by a number, i.e. scale.
| const TypeVector<Real >& libMesh::TypeVector< Real >::operator/= | ( | const Real | ) | [inherited] |
Divide this vector by a number, i.e. scale.
| bool libMesh::TypeVector< Real >::operator< | ( | const TypeVector< Real > & | rhs | ) | const [inherited] |
true if this vector is "less" than another. Useful for sorting. Also used for choosing some arbitrary basis function orientations | bool libMesh::TypeVector< Real >::operator<= | ( | const TypeVector< Real > & | rhs | ) | const [inherited] |
true if this vector is "less" than or equal to another. Useful for sorting. Also used for choosing some arbitrary constraint equation directions | bool libMesh::Node::operator== | ( | const Node & | rhs | ) | const |
true if this node equals rhs, false otherwise. Definition at line 37 of file node.C.
{
// Explicitly calling the operator== defined in Point
return this->Point::operator==(rhs);
}
| bool libMesh::TypeVector< Real >::operator== | ( | const TypeVector< Real > & | rhs | ) | const [inherited] |
true iff two vectors occupy approximately the same physical location in space, to within an absolute tolerance of TOLERANCE. | bool libMesh::TypeVector< Real >::operator> | ( | const TypeVector< Real > & | rhs | ) | const [inherited] |
true if this vector is "greater" than another. Useful for sorting. Also used for choosing some arbitrary basis function orientations | bool libMesh::TypeVector< Real >::operator>= | ( | const TypeVector< Real > & | rhs | ) | const [inherited] |
true if this vector is "greater" than or equal to another. Useful for sorting. Also used for choosing some arbitrary constraint equation directions | void libMesh::DofObject::pack_indexing | ( | std::back_insert_iterator< std::vector< largest_id_type > > | target | ) | const [inherited] |
A method for creating packed data from our index buffer - basically a copy with prepended size with our current implementation.
Definition at line 525 of file dof_object.C.
Referenced by libMesh::Parallel::pack().
{
#ifdef LIBMESH_ENABLE_AMR
// We might need to pack old_dof_object too
*target++ = (old_dof_object == NULL) ? 0 : 1;
#endif
*target++ = _idx_buf.size();
std::copy(_idx_buf.begin(), _idx_buf.end(), target);
#ifdef LIBMESH_ENABLE_AMR
if (old_dof_object)
old_dof_object->pack_indexing(target);
#endif
}
| unsigned int libMesh::DofObject::packed_indexing_size | ( | ) | const [inherited] |
If we pack our indices into an buffer for communications, how many ints do we need?
Definition at line 450 of file dof_object.C.
References libMesh::DofObject::_idx_buf, and libMesh::DofObject::old_dof_object.
Referenced by libMesh::Parallel::pack(), libMesh::Parallel::packable_size(), packed_size(), and libMesh::Parallel::unpack().
{
return
cast_int<unsigned int> (
#ifdef LIBMESH_ENABLE_AMR
((old_dof_object == NULL) ? 0 : old_dof_object->packed_indexing_size()) + 2 +
#else
1 +
#endif
_idx_buf.size());
}
| unsigned int libMesh::Node::packed_size | ( | ) | const [inline] |
Definition at line 138 of file node.h.
References libMesh::DofObject::packed_indexing_size(), and libMesh::Real.
{
const unsigned int header_size = 2;
// use "(a+b-1)/b" trick to get a/b to round up
static const unsigned int idtypes_per_Real =
(sizeof(Real) + sizeof(largest_id_type) - 1) / sizeof(largest_id_type);
return header_size + LIBMESH_DIM*idtypes_per_Real +
this->packed_indexing_size();
}
| void libMesh::TypeVector< Real >::print | ( | std::ostream & | os = libMesh::out | ) | const [inherited] |
Formatted print, by default to libMesh::out.
| void libMesh::ReferenceCounter::print_info | ( | std::ostream & | out = libMesh::out | ) | [static, inherited] |
Prints the reference information, by default to libMesh::out.
Definition at line 88 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
Referenced by libMesh::LibMeshInit::~LibMeshInit().
{
if( _enable_print_counter ) out_stream << ReferenceCounter::get_info();
}
| void libMesh::ReferenceCounter::print_info | ( | std::ostream & | out = libMesh::out | ) | [static, inherited] |
Prints the reference information, by default to libMesh::out.
Definition at line 88 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
Referenced by libMesh::LibMeshInit::~LibMeshInit().
{
if( _enable_print_counter ) out_stream << ReferenceCounter::get_info();
}
| void libMesh::Node::print_info | ( | std::ostream & | os = libMesh::out | ) | const |
Prints relevant information about the node
Definition at line 45 of file node.C.
References get_info().
Referenced by libMesh::operator<<().
{
os << this->get_info()
<< std::endl;
}
| processor_id_type libMesh::DofObject::processor_id | ( | ) | const [inline, inherited] |
When partitioning and DoF numbering have been performed by libMesh, every current DoF on this DofObject will belong to its processor.
Definition at line 681 of file dof_object.h.
References libMesh::DofObject::_processor_id.
Referenced by libMesh::LinearPartitioner::_do_partition(), libMesh::MetisPartitioner::_do_partition(), libMesh::SFCPartitioner::_do_partition(), libMesh::CentroidPartitioner::_do_partition(), libMesh::GMVIO::_read_materials(), libMesh::ParallelMesh::add_elem(), libMesh::Patch::add_local_face_neighbors(), libMesh::Patch::add_local_point_neighbors(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::ParallelMesh::add_node(), libMesh::SerialMesh::add_point(), libMesh::ParallelMesh::add_point(), libMesh::UnstructuredMesh::all_first_order(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::ParmetisPartitioner::assign_partitioning(), libMesh::Patch::build_around_element(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::UnstructuredMesh::create_submesh(), libMesh::ParallelMesh::delete_elem(), libMesh::ParallelMesh::delete_node(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::Elem::Elem(), libMesh::MeshFunction::find_element(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshTools::Modification::flatten(), get_info(), libMesh::Elem::get_info(), libMesh::DofMap::get_info(), libMesh::DofMap::get_local_constraints(), libMesh::ParallelMesh::insert_elem(), libMesh::DofObject::invalidate_processor_id(), libMesh::Elem::is_semilocal(), libMesh::MeshTools::libmesh_assert_valid_amr_elem_ids(), libMesh::MeshTools::libmesh_assert_valid_elem_ids(), libMesh::MeshTools::libmesh_assert_valid_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_procids< Node >(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::Parallel::pack(), libMesh::XdrIO::pack_element(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofObject::processor_id(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::MeshData::read_xdr(), libMesh::Elem::refine(), libMesh::DofMap::scatter_constraints(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::BoundaryInfo::sync(), libMesh::Parallel::sync_dofobject_data_by_id(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::sync_node_data_by_element_id(), libMesh::Parallel::unpack(), libMesh::CheckpointIO::write_connectivity(), libMesh::GmshIO::write_mesh(), libMesh::CheckpointIO::write_nodes(), libMesh::XdrIO::write_serialized_connectivity(), and libMesh::Nemesis_IO_Helper::write_sidesets().
{
return _processor_id;
}
| processor_id_type & libMesh::DofObject::processor_id | ( | ) | [inline, inherited] |
Definition at line 689 of file dof_object.h.
References libMesh::DofObject::_processor_id.
{
return _processor_id;
}
| void libMesh::DofObject::processor_id | ( | const processor_id_type | pid | ) | [inline, inherited] |
Sets the processor_id for this DofObject.
Definition at line 697 of file dof_object.h.
References libMesh::DofObject::processor_id().
{
this->processor_id() = pid;
}
| bool libMesh::TypeVector< Real >::relative_fuzzy_equals | ( | const TypeVector< Real > & | rhs, |
| Real | tol = TOLERANCE |
||
| ) | const [inherited] |
true iff two vectors occupy approximately the same physical location in space, to within a relative tolerance of tol. | void libMesh::DofObject::set_buffer | ( | const std::vector< dof_id_type > & | buf | ) | [inline, inherited] |
Definition at line 499 of file dof_object.h.
References libMesh::DofObject::_idx_buf.
{ _idx_buf = buf; }
| void libMesh::DofObject::set_dof_number | ( | const unsigned int | s, |
| const unsigned int | var, | ||
| const unsigned int | comp, | ||
| const dof_id_type | dn | ||
| ) | [inherited] |
Sets the global degree of freedom number for variable var, component comp for system s associated with this DofObject
Definition at line 407 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::dof_number(), libMesh::DofObject::invalid_id, libMesh::libmesh_assert(), libMesh::DofObject::n_comp(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), libMesh::DofObject::start_idx(), libMesh::DofObject::system_var_to_vg_var(), and libMesh::DofObject::var_to_vg().
{
libmesh_assert_less (s, this->n_systems());
libmesh_assert_less (var, this->n_vars(s));
libmesh_assert_less (comp, this->n_comp(s,var));
const unsigned int
vg = this->var_to_vg(s,var),
#ifndef NDEBUG
ncg = this->n_comp_group(s,vg),
#endif
vig = this->system_var_to_vg_var(s,vg,var),
start_idx_sys = this->start_idx(s);
libmesh_assert_less ((start_idx_sys + 2*vg + 1), _idx_buf.size());
dof_id_type &base_idx = _idx_buf[start_idx_sys + 2*vg + 1];
// We intend to change all dof numbers together or not at all
if (comp || vig)
libmesh_assert ((dn == invalid_id && base_idx == invalid_id) ||
(dn == base_idx + vig*ncg + comp));
// only explicitly store the base index for vig==0, comp==0
else
base_idx = dn;
// #ifdef DEBUG
// libMesh::out << " [ ";
// for (unsigned int i=0; i<_idx_buf.size(); i++)
// libMesh::out << _idx_buf[i] << " ";
// libMesh::out << "]\n";
// #endif
libmesh_assert_equal_to (this->dof_number(s, var, comp), dn);
}
| dof_id_type & libMesh::DofObject::set_id | ( | ) | [inline, inherited] |
id for this DofObject as a writeable reference. Definition at line 628 of file dof_object.h.
References libMesh::DofObject::_id.
Referenced by libMesh::GMVIO::_read_one_cell(), libMesh::SerialMesh::add_elem(), libMesh::ParallelMesh::add_elem(), libMesh::SerialMesh::add_node(), libMesh::ParallelMesh::add_node(), libMesh::UnstructuredMesh::all_first_order(), libMesh::MeshTools::Subdivision::all_subdivision(), libMesh::MeshTools::Modification::all_tri(), libMesh::MeshCommunication::assign_global_indices(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::UNVIO::elements_in(), libMesh::MeshTools::Modification::flatten(), libMesh::DofObject::invalidate_id(), Node(), libMesh::Nemesis_IO::read(), libMesh::ExodusII_IO::read(), libMesh::VTKIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::UCDIO::read_implementation(), libMesh::GmshIO::read_mesh(), libMesh::LegacyXdrIO::read_mesh(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::OFFIO::read_stream(), libMesh::MatlabIO::read_stream(), libMesh::RemoteElem::RemoteElem(), libMesh::SerialMesh::renumber_elem(), libMesh::ParallelMesh::renumber_elem(), libMesh::SerialMesh::renumber_node(), libMesh::ParallelMesh::renumber_node(), libMesh::SerialMesh::renumber_nodes_and_elements(), libMesh::SerialMesh::stitching_helper(), and libMesh::Parallel::unpack().
{
return _id;
}
| void libMesh::DofObject::set_id | ( | const dof_id_type | dofid | ) | [inline, inherited] |
Sets the id for this DofObject
Definition at line 161 of file dof_object.h.
References libMesh::DofObject::set_id().
Referenced by libMesh::DofObject::set_id().
{ this->set_id() = dofid; }
| void libMesh::DofObject::set_n_comp | ( | const unsigned int | s, |
| const unsigned int | var, | ||
| const unsigned int | ncomp | ||
| ) | [inherited] |
Sets the number of components for Variable var of system s associated with this DofObject
Definition at line 338 of file dof_object.C.
References libMesh::DofObject::n_systems(), libMesh::DofObject::n_vars(), libMesh::DofObject::set_n_comp_group(), and libMesh::DofObject::var_to_vg().
{
libmesh_assert_less (s, this->n_systems());
libmesh_assert_less (var, this->n_vars(s));
this->set_n_comp_group(s, this->var_to_vg(s,var), ncomp);
}
| void libMesh::DofObject::set_n_comp_group | ( | const unsigned int | s, |
| const unsigned int | vg, | ||
| const unsigned int | ncomp | ||
| ) | [inherited] |
Sets the number of components for VariableGroup vg of system s associated with this DofObject
Definition at line 350 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::invalid_id, libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), libMesh::DofObject::ncv_magic, and libMesh::DofObject::start_idx().
Referenced by libMesh::DofMap::reinit(), libMesh::DofObject::set_n_comp(), libMesh::DofObject::set_n_vars_per_group(), and libMesh::DofMap::set_nonlocal_dof_objects().
{
libmesh_assert_less (s, this->n_systems());
libmesh_assert_less (vg, this->n_var_groups(s));
// Check for trivial return
if (ncomp == this->n_comp_group(s,vg)) return;
#ifndef NDEBUG
if (ncomp >= ncv_magic)
{
const index_t ncvm = ncv_magic;
libmesh_error_msg("ERROR: ncomp must be less than DofObject::ncv_magic!\n" \
<< "ncomp = " \
<< ncomp \
<< ", ncv_magic = " \
<< ncvm \
<< "\nrecompile and try again!");
}
#endif
const unsigned int
start_idx_sys = this->start_idx(s),
n_vars_group = this->n_vars(s,vg),
base_offset = start_idx_sys + 2*vg;
libmesh_assert_less ((base_offset + 1), _idx_buf.size());
// if (ncomp)
// libMesh::out << "s,vg,ncomp="
// << s << ","
// << vg << ","
// << ncomp << '\n';
// set the number of components, maintaining the number
// of variables in the group
_idx_buf[base_offset] = ncv_magic*n_vars_group + ncomp;
// We use (invalid_id - 1) to signify no
// components for this object
_idx_buf[base_offset + 1] = (ncomp == 0) ? invalid_id - 1 : invalid_id;
// this->debug_buffer();
// libMesh::out << "s,vg = " << s << "," << vg << '\n'
// << "base_offset=" << base_offset << '\n'
// << "this->n_comp(s,vg)=" << this->n_comp(s,vg) << '\n'
// << "this->n_comp_group(s,vg)=" << this->n_comp_group(s,vg) << '\n'
// << "this->n_vars(s,vg)=" << this->n_vars(s,vg) << '\n'
// << "this->n_var_groups(s)=" << this->n_var_groups(s) << '\n';
libmesh_assert_equal_to (ncomp, this->n_comp_group(s,vg));
}
| void libMesh::DofObject::set_n_systems | ( | const unsigned int | s | ) | [inherited] |
Sets the number of systems for this DofObject
Definition at line 157 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::clear_dofs(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), and libMesh::DofObject::n_vars().
Referenced by libMesh::DofObject::add_system(), and libMesh::Elem::refine().
{
// Check for trivial return
if (ns == this->n_systems())
return;
// Clear any existing data. This is safe to call
// even if we don't have any data.
this->clear_dofs();
// Set the new number of systems
_idx_buf.resize(ns, ns);
_idx_buf[0] = ns;
#ifdef DEBUG
// check that all systems now exist and that they have 0 size
libmesh_assert_equal_to (ns, this->n_systems());
for (unsigned int s=0; s<this->n_systems(); s++)
{
libmesh_assert_equal_to (this->n_vars(s), 0);
libmesh_assert_equal_to (this->n_var_groups(s), 0);
}
#endif
}
| void libMesh::DofObject::set_n_vars_per_group | ( | const unsigned int | s, |
| const std::vector< unsigned int > & | nvpg | ||
| ) | [inherited] |
Sets number of variables in each group associated with system s for this DofObject. Implicit in this is salso setting the number of VariableGroup variable groups for the system. Has the effect of setting the number of components to 0 even when called even with (nvg == this->n_var_groups(s)).
Definition at line 219 of file dof_object.C.
References libMesh::DofObject::_idx_buf, end, libMesh::DofObject::end_idx(), libMesh::DofObject::invalid_id, libMesh::DofObject::n_comp(), libMesh::DofObject::n_comp_group(), libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::n_vars(), libMesh::DofObject::ncv_magic, libMesh::DofObject::set_n_comp_group(), and libMesh::DofObject::start_idx().
{
libmesh_assert_less (s, this->n_systems());
// number of varaible groups for this system - inferred
const unsigned int nvg = cast_int<unsigned int>(nvpg.size());
// BSK - note that for compatibility with the previous implementation
// calling this method when (nvars == this->n_vars()) requires that
// we invalidate the DOF indices and set the number of components to 0.
// Note this was a bit of a suprise to me - there was no quick return in
// the old method, which caused removal and readdition of the DOF indices
// even in the case of (nvars == this->n_vars()), resulting in n_comp(s,v)
// implicitly becoming 0 regardless of any previous value.
// quick return?
if (nvg == this->n_var_groups(s))
{
for (unsigned int vg=0; vg<nvg; vg++)
{
this->set_n_comp_group(s,vg,0);
libmesh_assert_equal_to (this->n_vars(s,vg), nvpg[vg]);
}
return;
}
// since there is ample opportunity to screw up other systems, let us
// cache their current sizes and later assert that they are unchanged.
#ifdef DEBUG
DofObject::index_buffer_t old_system_sizes;
old_system_sizes.reserve(this->n_systems());
for (unsigned int s_ctr=0; s_ctr<this->n_systems(); s_ctr++)
old_system_sizes.push_back(this->n_var_groups(s_ctr));
#endif
// remove current indices if we have some
if (this->n_var_groups(s) != 0)
{
const unsigned int old_nvg_s = this->n_var_groups(s);
DofObject::index_buffer_t::iterator
it = _idx_buf.begin(),
end = _idx_buf.begin();
std::advance(it, this->start_idx(s));
std::advance(end, this->end_idx(s));
_idx_buf.erase(it,end);
for (unsigned int ctr=(s+1); ctr<this->n_systems(); ctr++)
_idx_buf[ctr] -= 2*old_nvg_s;
}
// better not have any now!
libmesh_assert_equal_to (this->n_var_groups(s), 0);
// had better not screwed up any of our sizes!
#ifdef DEBUG
for (unsigned int s_ctr=0; s_ctr<this->n_systems(); s_ctr++)
if (s_ctr != s)
libmesh_assert_equal_to (this->n_var_groups(s_ctr), old_system_sizes[s_ctr]);
#endif
// OK, if the user requested 0 that is what we have
if (nvg == 0)
return;
{
// array to hold new indices
DofObject::index_buffer_t var_idxs(2*nvg);
for (unsigned int vg=0; vg<nvg; vg++)
{
var_idxs[2*vg ] = ncv_magic*nvpg[vg] + 0;
var_idxs[2*vg + 1] = invalid_id - 1;
}
DofObject::index_buffer_t::iterator it = _idx_buf.begin();
std::advance(it, this->end_idx(s));
_idx_buf.insert(it, var_idxs.begin(), var_idxs.end());
for (unsigned int ctr=(s+1); ctr<this->n_systems(); ctr++)
_idx_buf[ctr] += 2*nvg;
// resize _idx_buf to fit so no memory is wasted.
DofObject::index_buffer_t(_idx_buf).swap(_idx_buf);
}
// that better had worked. Assert stuff.
libmesh_assert_equal_to (nvg, this->n_var_groups(s));
#ifdef DEBUG
// libMesh::out << " [ ";
// for (unsigned int i=0; i<_idx_buf.size(); i++)
// libMesh::out << _idx_buf[i] << " ";
// libMesh::out << "]\n";
libmesh_assert_equal_to (this->n_var_groups(s), nvpg.size());
for (unsigned int vg=0; vg<this->n_var_groups(s); vg++)
{
libmesh_assert_equal_to (this->n_vars(s,vg), nvpg[vg]);
libmesh_assert_equal_to (this->n_comp_group(s,vg), 0);
}
for (unsigned int v=0; v<this->n_vars(s); v++)
libmesh_assert_equal_to (this->n_comp(s,v), 0);
// again, all other system sizes shoudl be unchanged!
for (unsigned int s_ctr=0; s_ctr<this->n_systems(); s_ctr++)
if (s_ctr != s)
libmesh_assert_equal_to (this->n_var_groups(s_ctr), old_system_sizes[s_ctr]);
#endif
}
| void libMesh::DofObject::set_old_dof_object | ( | ) | [inherited] |
Sets the old_dof_object to a copy of this
Definition at line 142 of file dof_object.C.
References libMesh::DofObject::clear_old_dof_object(), libMesh::DofObject::DofObject(), libMesh::libmesh_assert(), and libMesh::DofObject::old_dof_object.
Referenced by libMesh::DofMap::reinit().
{
this->clear_old_dof_object();
libmesh_assert (!this->old_dof_object);
// Make a new DofObject, assign a copy of \p this.
// Make sure the copy ctor for DofObject works!!
this->old_dof_object = new DofObject(*this);
}
| unique_id_type & libMesh::DofObject::set_unique_id | ( | ) | [inline, inherited] |
unique_id for this DofObject as a writeable reference. Definition at line 649 of file dof_object.h.
References libMesh::DofObject::_unique_id.
Referenced by libMesh::SerialMesh::add_elem(), libMesh::ParallelMesh::add_elem(), libMesh::SerialMesh::add_node(), libMesh::ParallelMesh::add_node(), libMesh::CheckpointIO::read_connectivity(), libMesh::CheckpointIO::read_nodes(), libMesh::XdrIO::read_serialized_connectivity(), and libMesh::Parallel::unpack().
{
#ifdef LIBMESH_ENABLE_UNIQUE_ID
return _unique_id;
#else
libmesh_not_implemented();
#endif
}
| void libMesh::Node::set_valence | ( | unsigned int | val | ) | [inline] |
Sets the number of nodes connected with this node.
Definition at line 323 of file node.h.
References _valence.
Referenced by libMesh::MeshTools::Subdivision::prepare_subdivision_mesh().
{
_valence = cast_int<valence_idx_t>(val);
}
| void libMesh::DofObject::set_vg_dof_base | ( | const unsigned int | s, |
| const unsigned int | vg, | ||
| const dof_id_type | db | ||
| ) | [inline, inherited] |
VariableGroup DoF indices are indexed as id = base + var_in_vg*ncomp + comp This method allows for direct access to the base.
Definition at line 889 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), libMesh::DofObject::start_idx(), and libMesh::DofObject::vg_dof_base().
Referenced by libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofObject::invalidate_dofs(), libMesh::DofMap::reinit(), and libMesh::DofMap::set_nonlocal_dof_objects().
{
libmesh_assert_less (s, this->n_systems());
libmesh_assert_less (vg, this->n_var_groups(s));
const unsigned int
start_idx_sys = this->start_idx(s);
libmesh_assert_less ((start_idx_sys + 2*vg + 1), _idx_buf.size());
_idx_buf[start_idx_sys + 2*vg + 1] = db;
libmesh_assert_equal_to (this->vg_dof_base(s,vg), db);
}
| Real libMesh::TypeVector< Real >::size | ( | ) | const [inherited] |
Returns the magnitude of the vector, i.e. the square-root of the sum of the elements squared.
| Real libMesh::TypeVector< Real >::size_sq | ( | ) | const [inherited] |
Returns the magnitude of the vector squared, i.e. the sum of the element magnitudes squared.
| const Real & libMesh::TypeVector< Real >::slice | ( | const unsigned int | i | ) | const [inline, inherited] |
Definition at line 123 of file type_vector.h.
{ return (*this)(i); }
| Real & libMesh::TypeVector< Real >::slice | ( | const unsigned int | i | ) | [inline, inherited] |
Definition at line 130 of file type_vector.h.
{ return (*this)(i); }
| void libMesh::TypeVector< Real >::subtract | ( | const TypeVector< T2 > & | ) | [inherited] |
Subtract from this vector without creating a temporary.
| void libMesh::TypeVector< Real >::subtract_scaled | ( | const TypeVector< T2 > & | , |
| const Real | |||
| ) | [inherited] |
Subtract a scaled value from this vector without creating a temporary.
| unique_id_type libMesh::DofObject::unique_id | ( | ) | const [inline, inherited] |
unique_id for this DofObject Definition at line 636 of file dof_object.h.
References libMesh::DofObject::_unique_id, libMesh::DofObject::invalid_unique_id, libMesh::libmesh_assert(), and libMesh::DofObject::valid_unique_id().
Referenced by libMesh::Parallel::pack(), libMesh::XdrIO::pack_element(), libMesh::CheckpointIO::write_connectivity(), and libMesh::CheckpointIO::write_nodes().
{
#ifdef LIBMESH_ENABLE_UNIQUE_ID
libmesh_assert (this->valid_unique_id());
return _unique_id;
#else
return invalid_unique_id;
#endif
}
| TypeVector<Real > libMesh::TypeVector< Real >::unit | ( | ) | const [inherited] |
Think of a vector as a dim dimensional vector. This will return a unit vector aligned in that direction.
| void libMesh::DofObject::unpack_indexing | ( | std::vector< largest_id_type >::const_iterator | begin | ) | [inherited] |
A method for creating our index buffer from packed data - basically with our current implementation we investigate the size term and then copy.
Definition at line 487 of file dof_object.C.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::clear_old_dof_object(), libMesh::DofObject::DofObject(), libMesh::libmesh_assert(), libMesh::DofObject::old_dof_object, and libMesh::DofObject::unpack_indexing().
Referenced by libMesh::Parallel::unpack(), and libMesh::DofObject::unpack_indexing().
{
_idx_buf.clear();
#ifdef LIBMESH_ENABLE_AMR
this->clear_old_dof_object();
const bool has_old_dof_object = cast_int<bool>(*begin++);
#endif
const largest_id_type size = *begin++;
_idx_buf.reserve(size);
std::copy(begin, begin+size, back_inserter(_idx_buf));
// Check as best we can for internal consistency now
libmesh_assert(_idx_buf.empty() ||
(_idx_buf[0] <= _idx_buf.size()));
#ifdef DEBUG
if (!_idx_buf.empty())
for (unsigned int i=1; i < _idx_buf[0]; ++i)
{
libmesh_assert_greater_equal (_idx_buf[i], _idx_buf[i-1]);
libmesh_assert_equal_to ((_idx_buf[i] - _idx_buf[i-1])%2, 0);
libmesh_assert_less_equal (_idx_buf[i], _idx_buf.size());
}
#endif
#ifdef LIBMESH_ENABLE_AMR
if (has_old_dof_object)
{
this->old_dof_object = new DofObject();
this->old_dof_object->unpack_indexing(begin+size);
}
#endif
}
| unsigned int libMesh::DofObject::unpackable_indexing_size | ( | std::vector< largest_id_type >::const_iterator | begin | ) | [static, inherited] |
If we have indices packed into an buffer for communications, how much of that buffer applies to this dof object?
Definition at line 466 of file dof_object.C.
Referenced by libMesh::Parallel::pack(), libMesh::Parallel::packed_size(), and libMesh::Parallel::unpack().
{
#ifdef LIBMESH_ENABLE_AMR
const bool has_old_dof_object = cast_int<bool>(*begin++);
static const int dof_header_size = 2;
#else
static const bool has_old_dof_object = false;
static const int dof_header_size = 1;
#endif
const largest_id_type this_indexing_size = *begin++;
return cast_int<unsigned int>
(dof_header_size + this_indexing_size +
(has_old_dof_object ?
unpackable_indexing_size(begin+this_indexing_size) : 0));
}
| unsigned int libMesh::Node::valence | ( | ) | const [inline] |
Definition at line 157 of file node.h.
References _valence, and libMesh::invalid_uint.
Referenced by libMesh::Tri3Subdivision::get_ordered_valence().
{
#ifdef LIBMESH_ENABLE_NODE_VALENCE
return _valence;
#else
libmesh_not_implemented();
return libMesh::invalid_uint;
#endif
}
| bool libMesh::DofObject::valid_id | ( | ) | const [inline, inherited] |
true if this DofObject has a valid id set, false otherwise. Definition at line 661 of file dof_object.h.
References libMesh::DofObject::_id, and libMesh::DofObject::invalid_id.
Referenced by libMesh::SerialMesh::add_elem(), libMesh::ParallelMesh::add_elem(), libMesh::SerialMesh::add_node(), libMesh::ParallelMesh::add_node(), get_info(), libMesh::Elem::get_info(), libMesh::DofObject::id(), and libMesh::Elem::libmesh_assert_valid_node_pointers().
{
return (DofObject::invalid_id != _id);
}
| bool libMesh::DofObject::valid_processor_id | ( | ) | const [inline, inherited] |
true if this DofObject has a valid id set, false otherwise. Definition at line 705 of file dof_object.h.
References libMesh::DofObject::_processor_id, and libMesh::DofObject::invalid_processor_id.
{
return (DofObject::invalid_processor_id != _processor_id);
}
| bool libMesh::DofObject::valid_unique_id | ( | ) | const [inline, inherited] |
true if this DofObject has a valid unique_id set, false otherwise. Definition at line 669 of file dof_object.h.
References libMesh::DofObject::_unique_id, and libMesh::DofObject::invalid_unique_id.
Referenced by libMesh::SerialMesh::add_elem(), libMesh::ParallelMesh::add_elem(), libMesh::SerialMesh::add_node(), libMesh::ParallelMesh::add_node(), libMesh::Parallel::pack(), and libMesh::DofObject::unique_id().
{
#ifdef LIBMESH_ENABLE_UNIQUE_ID
return (DofObject::invalid_unique_id != _unique_id);
#else
return false;
#endif
}
| dof_id_type libMesh::DofObject::vg_dof_base | ( | const unsigned int | s, |
| const unsigned int | vg | ||
| ) | const [inline, inherited] |
VariableGroup DoF indices are indexed as id = base + var_in_vg*ncomp + comp This method allows for direct access to the base.
Definition at line 909 of file dof_object.h.
References libMesh::DofObject::_idx_buf, libMesh::DofObject::n_systems(), libMesh::DofObject::n_var_groups(), and libMesh::DofObject::start_idx().
Referenced by libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofMap::reinit(), libMesh::DofMap::set_nonlocal_dof_objects(), and libMesh::DofObject::set_vg_dof_base().
{
libmesh_assert_less (s, this->n_systems());
libmesh_assert_less (vg, this->n_var_groups(s));
const unsigned int
start_idx_sys = this->start_idx(s);
libmesh_assert_less ((start_idx_sys + 2*vg + 1), _idx_buf.size());
// #ifdef DEBUG
// std::cout << " [ ";
// for (unsigned int i=0; i<_idx_buf.size(); i++)
// std::cout << _idx_buf[i] << " ";
// std::cout << "]\n";
// #endif
return _idx_buf[start_idx_sys + 2*vg + 1];
}
| void libMesh::TypeVector< Real >::write_unformatted | ( | std::ostream & | out, |
| const bool | newline = true |
||
| ) | const [inherited] |
Unformatted print to the stream out. Simply prints the elements of the vector separated by spaces. Optionally prints a newline, which it does by default.
| void libMesh::TypeVector< Real >::zero | ( | ) | [inherited] |
Zero the vector in any dimension.
friend class MeshRefinement [friend] |
friend class Node [friend, inherited] |
| std::ostream& operator<< | ( | std::ostream & | os, |
| const TypeVector< Real > & | t | ||
| ) | [friend, inherited] |
Formatted print as above but allows you to do Point p(1,2,3); std::cout << p << std::endl;
Definition at line 329 of file type_vector.h.
{
t.print(os);
return os;
}
Real libMesh::TypeVector< Real >::_coords[LIBMESH_DIM] [protected, inherited] |
The coordinates of the TypeVector
Definition at line 347 of file type_vector.h.
ReferenceCounter::Counts libMesh::ReferenceCounter::_counts [static, protected, inherited] |
Actually holds the data.
Definition at line 118 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
ReferenceCounter::Counts libMesh::ReferenceCounter::_counts [static, protected, inherited] |
Actually holds the data.
Definition at line 118 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
bool libMesh::ReferenceCounter::_enable_print_counter = true [static, protected, inherited] |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 137 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
bool libMesh::ReferenceCounter::_enable_print_counter = true [static, protected, inherited] |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 137 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
Threads::spin_mutex libMesh::ReferenceCounter::_mutex [static, protected, inherited] |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 131 of file reference_counter.h.
Threads::spin_mutex libMesh::ReferenceCounter::_mutex [static, protected, inherited] |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 131 of file reference_counter.h.
Threads::atomic< unsigned int > libMesh::ReferenceCounter::_n_objects [static, protected, inherited] |
The number of objects. Print the reference count information when the number returns to 0.
Definition at line 126 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
Threads::atomic< unsigned int > libMesh::ReferenceCounter::_n_objects [static, protected, inherited] |
The number of objects. Print the reference count information when the number returns to 0.
Definition at line 126 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
valence_idx_t libMesh::Node::_valence [private] |
The number of nodes connected with this node. Currently, this value is invalid (zero) except for subdivision meshes.
Definition at line 192 of file node.h.
Referenced by set_valence(), and valence().
const dof_id_type libMesh::DofObject::invalid_id = static_cast<dof_id_type>(-1) [static, inherited] |
An invaild id to distinguish an uninitialized DofObject
Definition at line 335 of file dof_object.h.
Referenced by libMesh::SFCPartitioner::_do_partition(), libMesh::DofMap::_dof_indices(), active(), libMesh::SerialMesh::add_point(), libMesh::MeshRefinement::add_point(), libMesh::UnstructuredMesh::all_second_order(), libMesh::FEGenericBase< OutputType >::compute_periodic_constraints(), libMesh::FEGenericBase< OutputType >::compute_proj_constraints(), libMesh::UnstructuredMesh::create_submesh(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofObject::dof_number(), libMesh::SerialMesh::insert_node(), libMesh::DofObject::invalidate_dofs(), libMesh::DofObject::invalidate_id(), libMesh::ParallelMesh::libmesh_assert_valid_parallel_object_ids(), Node(), libMesh::Elem::node(), libMesh::DofMap::old_dof_indices(), libMesh::XdrIO::pack_element(), libMesh::Elem::point(), libMesh::System::read_legacy_data(), libMesh::System::read_parallel_data(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::DofMap::SCALAR_dof_indices(), libMesh::DofObject::set_dof_number(), libMesh::DofObject::set_n_comp_group(), libMesh::DofObject::set_n_vars_per_group(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Parallel::unpack(), libMesh::DofObject::valid_id(), and libMesh::System::write_parallel_data().
const processor_id_type libMesh::DofObject::invalid_processor_id = static_cast<processor_id_type>(-1) [static, inherited] |
An invalid processor_id to distinguish DoFs that have not been assigned to a processor.
Definition at line 346 of file dof_object.h.
Referenced by libMesh::ParallelMesh::add_elem(), libMesh::ParallelMesh::add_node(), libMesh::MeshCommunication::allgather(), libMesh::MeshTools::bounding_box(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ParallelMesh::delete_elem(), libMesh::ParallelMesh::delete_node(), libMesh::Elem::Elem(), libMesh::MeshCommunication::find_global_indices(), libMesh::ParallelMesh::insert_elem(), libMesh::DofObject::invalidate_processor_id(), libMesh::ParallelMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::ParallelMesh::n_active_elem(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::MeshBase::n_unpartitioned_elem(), libMesh::MeshBase::n_unpartitioned_nodes(), libMesh::CheckpointIO::read_connectivity(), libMesh::ParallelMesh::renumber_dof_objects(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::BoundaryInfo::sync(), libMesh::Parallel::sync_dofobject_data_by_id(), libMesh::Parallel::sync_dofobject_data_by_xyz(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::sync_node_data_by_element_id(), libMesh::MeshTools::total_weight(), libMesh::Parallel::unpack(), libMesh::SerialMesh::unpartitioned_elements_begin(), libMesh::ParallelMesh::unpartitioned_elements_begin(), libMesh::SerialMesh::unpartitioned_elements_end(), libMesh::ParallelMesh::unpartitioned_elements_end(), libMesh::DofObject::valid_processor_id(), and libMesh::CheckpointIO::write_connectivity().
const unique_id_type libMesh::DofObject::invalid_unique_id = static_cast<unique_id_type>(-1) [static, inherited] |
An invaild unique_id to distinguish an uninitialized DofObject
Definition at line 340 of file dof_object.h.
Referenced by libMesh::Parallel::pack(), libMesh::ParallelMesh::renumber_dof_objects(), libMesh::DofObject::unique_id(), and libMesh::DofObject::valid_unique_id().
DofObject* libMesh::DofObject::old_dof_object [inherited] |
This object on the last mesh. Useful for projecting solutions from one mesh to another.
Definition at line 89 of file dof_object.h.
Referenced by libMesh::DofObject::clear_old_dof_object(), libMesh::MeshTools::libmesh_assert_old_dof_objects(), libMesh::DofMap::old_dof_indices(), libMesh::DofObject::operator=(), libMesh::DofObject::packed_indexing_size(), libMesh::DofMap::reinit(), libMesh::DofObject::set_old_dof_object(), and libMesh::DofObject::unpack_indexing().