Weak limit of gradient of functions Consider $\{f_n\}\subset H^1(\Omega)$, where $\Omega\subset\mathbb{R}^2$ is an open bounded set. Assume we have $\|\nabla f_n\|_{L^2(\Omega)}\le C$ for a constant $C$ uniformly. Then, we can conclude that there exists a weak converging subsequence $f_{n_j}$, i.e, $\nabla f_{n_j}\rightharpoonup g$ in $L^2(\Omega)$. Under what condition there exists a $f\in H^1(\Omega)$ such that $g=\nabla f$ (i.e, $\nabla f_{n_j}\rightharpoonup\nabla f$)?
If we further have $\|f_n\|_{L^2(\Omega)}\le C$, then $f_n$ is uniformly bounded in $H^1$ norm. Then, there exists a subsequence of $f_n$ converges strongly in $L^2$. As a result, there is a $f$ such that $\nabla f=g$. 
Is this result still true if we don't have $\|f_n\|_{L^2(\Omega)}\le C$? What is the weakest condition that makes this result hold?

Let $\Omega$ be a Lipschitz domain.
Consider the sequence 
$$
h_n:= f_n - \frac1{|\Omega|} \int_\Omega f_n \ dx.
$$
By a variant of Poincare inequality, $\|h_n\|_{L^2} \le c \ \|\nabla h_n\|_{L^2}$. So
$h_n \rightharpoonup h$. Since $\nabla h_n = \nabla f_n \rightharpoonup g$, it follows $\nabla h=g$.
