Counting colored integer partitions with a strictness condition For any $n \in \mathbb{N}$, let us first consider $P_2(n)$, the number of 2-colored integer partitions of $n$. Recall that these are enumerated by $(\lambda^{(1)},\lambda^{(2)})$, where $\lambda^{(1)}_1 \geq \cdots \geq \lambda^{(1)}_k \geq 1$ and  $\lambda^{(2)}_1 \geq \cdots \geq \lambda^{(2)}_\ell \geq 1$ are two ordinary partitions, and
$\sum_{j} \lambda_j^{(1)}+\sum_j \lambda_j^{(2)}=n$. The generating $q$-series for $P_2(n)$ is  clearly $\prod_{i \geq 1} \frac{1}{(1-q^i)^2}$.
Question: Is there a similar (closed) formula if we require that parts of different color are not allowed to be equal, that is $\lambda_i^{(1)} \neq \lambda_j^{(2)}$ for all i and j? Let us denote the number of such 2-colored partitions of $n$ by $P^s_2(n)$. For example $P^s_2(3)=8$, with explicit partitions: $$\{3,2+1,1+1+1,3',2'+1',1'+1'+1',2'+1,2+1'\},$$ where for simplicity I used $'$ to distinguish colors.
A few more values are (typo corrected):
$$\sum_{n \geq 0} P_2^s(n)q^n=1+2q+4q^2+8q^3+14q^4+24q^5+....$$
I would expect there is a closed formula for this $q$-series. Pointers to the literature are much appreciated.
 A: Notice that $\frac{1}{(1-q^i)^2}$ takes care of how many times is $i$ in the partition where the square takes care of in which of the two color partitions it goes. Now, you want is $\frac{2}{1-q^i}-1=1+2q^i+2q^{2i}+\cdots 2q^{n\cdot i}+\cdots$ because you have two options for the same kind of part(you either move all of them to one or the other except if the number is not a part(that is why we subtract 1)). So the $q-$series is $$\prod _{i\geq 1}\left (\frac{2}{1-q^i}-1\right )=\prod _{i\geq 1}\frac{1+q^i}{1-q^i}=(1+2q+2q^2+2q^3+\cdots)\cdots (1+2q^n+2q^{2n}+\cdots)\cdots$$
$$=\sum _{n\geq 0}q^n\sum _{a_1\cdot 1+a_2\cdot 2+\cdots +a_n\cdot n=n}2^{\text{# of }a_i\neq 0}.$$
The following (ugly) sage code
def tal(n):
    s = 0
    for k in range(0,n+1):
        P = Partitions(k)
        Q = Partitions(n-k)
        for x in P:
            for y in Q:
                ss = 1
                for i in x:
                    if i in y:
                        ss = 0
                        break
                if ss==1:
                    #print(x,y)
                    s+=1
    return s
for n in range(1,10):
    print(n,tal(n))

gives 2 4 8 14 24 40 64 100 154 which agrees with what I have explained according to OEIS
