function v = phi_mae(x,y,tipok,dobrado,LX,LY)
%calcula funcao mae bidimensional no argumento (x,y). Se dobrado eh true 
%supoe dominio toroidal com periodo (LX,LY) e calcula por somatoria de copias
%se dobrado eh false supoe dominio nao toroidal

if dobrado
    while (x < -LX/2); x = x + LX; end
    while (x > LX/2); x = x - LX; end
    while (y < -LY/2); y = y + LY; end
    while (y > LY/2); y = y - LY; end

    mx = psi_num_termos(tipok,LX);
    my = psi_num_termos(tipok,LY);
    assert((mx <= 10) && (my <= 10), 'este tipo de funcao nao pode ser dobrado')
else
    mx = 0;
    my = 0;
end
v = 0;

for ix = -mx:mx
    for iy = -my:my
        xi = x + ix*LX;
        yi = y + iy*LY;
        ri = hypot(xi,yi);
        vi = funcao_mae(ri,tipok);
        v = v + vi;
    end
end