ff3d-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ff3d-users] Does function "fuzzySearch()" work correctly


From: Robert Li
Subject: [ff3d-users] Does function "fuzzySearch()" work correctly
Date: Thu, 19 Feb 2004 09:45:41 -0800 (PST)

Dear Stephane Del Pino,
  when I read a mesh from input file and traced the
source code. I found that cell number is different in
assembleMatrix()and MeshOfTetrahedra::find().
  Fox example, it is 0 in assembleMatrix(), while it
becomes 234 in find().
  I think they should have same cell number, because
find()is called in cell loop of
assembleMatrix()indircetly.
  Thanks!
Robert

>>>output>>>>>>>>>>>>>>>>>>>>>>>>
Using standard Finite Element Method discretization:
Solving ...
reserve
Discretizing the PDE Problem ... Assembling matrix
__currentCellNumber=0
119  204  203  47
guessedCellNumber=234


void assembleMatrix()
  {
    Timer t;

    ffout(2) << "Assembling matrix\n";
    t.start();
  
    switch ((__A).type()) {
    case BaseMatrix::doubleHashedMatrix: {

      DoubleHashedMatrix& A =
dynamic_cast<DoubleHashedMatrix&>(__A);

      for(typename MeshType::const_iterator
icell(__mesh);
          !(icell.end()); ++icell) {
        const ElementGeometry& K = *icell;
                int nn=__mesh.numberOfCells();////????


        size_t
indices[FiniteElement::numberOfDegreesOfFreedom];
        for (size_t l=0;
l<FiniteElement::numberOfDegreesOfFreedom; ++l) {
          indices[l] = __mesh.vertexNumber(K(l));

          printf("%ld  ", indices[l]);
        }
        printf("\n");

        ConformTransformation T(K);
        JacobianTransformation J(T);
        generatesElementaryMatrix(__eSet,J);

        TinyVector<3> massCenter;
        T.value(0.5,0.5,0.5, massCenter);

        for(typename
DiscretizedOperators<ElementaryMatrixType>
              ::iterator iOperator =
__discretizedOperators.begin();
            iOperator != __discretizedOperators.end();
++iOperator) {
          const real_t coef =
((*iOperator).second)(massCenter);

...


2)
MeshOfTetrahedra::const_iterator
MeshOfTetrahedra::find(const double& x,
                       const double& y,
                       const double& z) const
{
  TinyVector<3,real_t> X(x,y,z);
  Octree<size_t>::iterator i =
(*__octree).fuzzySearch(X);

  size_t guessedCellNumber = (*i).value();////????
printf("guessedCellNumber=%ld\n", guessedCellNumber);
...


__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools




reply via email to

[Prev in Thread] Current Thread [Next in Thread]