# [periodic] Check if current implementation for box is correct

For box, we consider a "primary" and "secondary" DOFs, i.e. the secondary DOF is periodically corresponding to the primary one.

We add the value of the secondary DOF residual to the one of the primary one

` res[m.first] += res[m.second];`

and enforce

`jac[m.first][it.index()] += (*it)`

This makes sense, I guess.

For the secondary DOF, we adapt the matrix entries such that the is a -1 for the periodic DOF and a 1 for the own DOF. All other entries are zero. I guess the idea is to set the secondary DOF values equal to the primary ones.

I think we should also adapt the residual of the secondary DOF such that

`res[m.second] = curSol[m.second] - curSol[m.first];`