diff --git a/examples/laplacexy/alfven-wave/alfven.cxx b/examples/laplacexy/alfven-wave/alfven.cxx index f9f0c06075..d3c1dc3385 100644 --- a/examples/laplacexy/alfven-wave/alfven.cxx +++ b/examples/laplacexy/alfven-wave/alfven.cxx @@ -120,7 +120,7 @@ class Alfven : public PhysicsModel { // Field2D Vort2D = DC(Vort); // n=0 component // phi2D = laplacexy->solve(Vort2D, phi2D); - // Calculate phi from potential + // Calculate phi from vorticity if (split_n0) { // Split into axisymmetric and non-axisymmetric components Field2D Vort2D = DC(Vort); // n=0 component diff --git a/src/invert/laplacexz/impls/petsc/laplacexz-petsc.cxx b/src/invert/laplacexz/impls/petsc/laplacexz-petsc.cxx index a27983cf57..641d825b7e 100644 --- a/src/invert/laplacexz/impls/petsc/laplacexz-petsc.cxx +++ b/src/invert/laplacexz/impls/petsc/laplacexz-petsc.cxx @@ -788,7 +788,9 @@ Field3D LaplaceXZpetsc::solve(const Field3D &bin, const Field3D &x0in) { for(int z=0; z < localmesh->LocalNz; z++) { PetscScalar val; VecGetValues(xs, 1, &ind, &val ); - result(localmesh->xstart-1,y,z) = val; + for (int x = localmesh->xstart - 1; x >= 0; --x){ + result(x,y,z) = val; + } ind++; } } @@ -807,7 +809,9 @@ Field3D LaplaceXZpetsc::solve(const Field3D &bin, const Field3D &x0in) { for(int z=0; z < localmesh->LocalNz; z++) { PetscScalar val; VecGetValues(xs, 1, &ind, &val ); - result(localmesh->xend+1,y,z) = val; + for(int x=localmesh->xend+1; xLocalNx; ++x){ + result(x,y,z) = val; + } ind++; } }