VecSetValue
Yixun Liu
enjoywm at cs.wm.edu
Sat Feb 28 18:19:18 CST 2009
I use VecSetValue in a loop and if I add some codes such as IO before
the VecSetValue the output of the vector is correct. However if I remove
the IO the output is wrong. It seems that the values are cached and need
some time to be set.
Matthew Knepley wrote:
> I cannot understand your question.
>
> Matt
>
> On Fri, Feb 27, 2009 at 6:45 PM, Yixun Liu <enjoywm at cs.wm.edu
> <mailto:enjoywm at cs.wm.edu>> wrote:
>
> Hi,
>
>
> VecCreate(PETSC_COMM_WORLD,&solutionDisplacementVector);
>
> VecSetSizes(solutionDisplacementVector,
> 3*numOfVerticesOfOneProcessor,
> systemSize); //in this case 3*numOfVerticesOfOneProcessor==systemSize
> VecSetFromOptions(solutionDisplacementVector);
>
>
> VecDuplicate(solutionDisplacementVector,
> &weightedDisplacementVector);
>
>
> for(i = 0; i < systemSize; i++)
> {
> output weightedRealDisplacement[i] to file//with this code the
> values in
> weightedDisplacementVector are correct.
>
> ...
> VecSetValue(weightedDisplacementVector, i,
> weightedRealDisplacement[i],
> ADD_VALUES);
> ...
>
> }
>
> VecAssemblyBegin(weightedDisplacementVector);
> VecAssemblyEnd(weightedDisplacementVector);
>
> output weightedDisplacementVector to file to see its values
>
>
>
> For simplicity I only use one processor. As I examine the values in
> weightedDisplacementVector and I found if I add the output code
> in the
> for loop the values in weightedDisplacementVector are correct. Without
> it there is error.
>
>
> Thanks.
>
> Yixun
>
>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which
> their experiments lead.
> -- Norbert Wiener
More information about the petsc-users
mailing list