本文整理汇总了C++中typenameAbstractMesh::IsParticle方法的典型用法代码示例。如果您正苦于以下问题:C++ typenameAbstractMesh::IsParticle方法的具体用法?C++ typenameAbstractMesh::IsParticle怎么用?C++ typenameAbstractMesh::IsParticle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类typenameAbstractMesh
的用法示例。
在下文中一共展示了typenameAbstractMesh::IsParticle方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: drdt
void NodeBasedCellPopulationWithParticles<DIM>::UpdateParticlePositions(double dt)
{
// Initialise vector of forces on particles
std::vector<c_vector<double, DIM> > drdt(this->GetNumNodes());
for (unsigned i=0; i<drdt.size(); i++)
{
drdt[i] = zero_vector<double>(DIM);
}
// Calculate forces on particles
double damping_constant = this->GetDampingConstantNormal();
for (unsigned i=0; i<drdt.size(); i++)
{
drdt[i] = this->GetNode(i)->rGetAppliedForce()/damping_constant;
}
for (typename AbstractMesh<DIM,DIM>::NodeIterator node_iter = this->mrMesh.GetNodeIteratorBegin();
node_iter != this->mrMesh.GetNodeIteratorEnd();
++node_iter)
{
if (node_iter->IsParticle())
{
ChastePoint<DIM> new_point(node_iter->rGetLocation() + dt*drdt[node_iter->GetIndex()]);
node_iter->SetPoint(new_point);
}
}
}
示例2: EXCEPTION
void NodeBasedCellPopulationWithParticles<DIM>::Validate()
{
std::map<unsigned, bool> validated_nodes;
for (typename AbstractMesh<DIM, DIM>::NodeIterator node_iter = this->mrMesh.GetNodeIteratorBegin();
node_iter != this->mrMesh.GetNodeIteratorEnd();
++node_iter)
{
validated_nodes[node_iter->GetIndex()] = node_iter->IsParticle();
}
// Look through all of the cells and record what node they are associated with.
for (typename AbstractCellPopulation<DIM>::Iterator cell_iter=this->Begin(); cell_iter!=this->End(); ++cell_iter)
{
unsigned node_index = this->GetLocationIndexUsingCell((*cell_iter));
// If the node attached to this cell is labelled as a particle, then throw an error
if (this->GetNode(node_index)->IsParticle())
{
EXCEPTION("Node " << node_index << " is labelled as a particle and has a cell attached");
}
validated_nodes[node_index] = true;
}
for (std::map<unsigned, bool>::iterator map_iter = validated_nodes.begin();
map_iter != validated_nodes.end();
map_iter++)
{
if (!map_iter->second)
{
EXCEPTION("Node " << map_iter->first << " does not appear to be a particle or has a cell associated with it");
}
}
}
示例3:
std::set<unsigned> NodeBasedCellPopulationWithParticles<DIM>::GetParticleIndices()
{
std::set<unsigned> particle_indices;
for (typename AbstractMesh<DIM,DIM>::NodeIterator node_iter = this->mrMesh.GetNodeIteratorBegin();
node_iter != this->mrMesh.GetNodeIteratorEnd();
++node_iter)
{
if (node_iter->IsParticle())
{
particle_indices.insert(node_iter->GetIndex());
}
}
return particle_indices;
}