BGV parameters for N=1024 and plaintext_Modulus=2

Hello,

I’m using OpenFHE-python and my goal was to set up BGV with a ring dimension of N=1024 and still have a security of 128 bits. Since I don’t intend to do any multiplications, I do SetMultiplicativeDepth(0).

I came out with these parameters:

params = fhe.CCParamsBGVRNS()
params.SetMultiplicativeDepth(0)
params.SetSecurityLevel(fhe.SecurityLevel.HEStd_128_classic)
params.SetPlaintextModulus(2)

params.SetKeySwitchTechnique(fhe.KeySwitchTechnique.BV)
params.SetScalingTechnique(fhe.ScalingTechnique.FIXEDMANUAL)
params.SetFirstModSize(26) # same as params.SetScalingModSize(26)
params.SetRingDim(1024)

cc = fhe.GenCryptoContext(params)
cc.Enable(fhe.PKESchemeFeature.PKE)
cc.Enable(fhe.PKESchemeFeature.LEVELEDSHE)
key_pair = cc.KeyGen()

I don’t understand why it seems I must SetScalingTechnique(fhe.ScalingTechnique.FIXEDMANUAL) and why I must SetKeySwitchTechnique(fhe.KeySwitchTechnique.BV) even though I don’t intend to use key switching, since I don’t have any multiplications. Is there a reason it must be fhe.KeySwitchTechnique.BV as the technique? Second of all, is there a reason why params.SetFirstModSize(26) and params.SetScalingModSize(26) behaves the same in this case?
Do you know any other optimized parameters to have N=1024, Plaintext_modulus=2, security =128 and only do additions?

Finally why in BFV can I just do this without needing to SetScalingTechnique or SetKeySwitchTechnique?
params = fhe.CCParamsBFVRNS()
params.SetMultiplicativeDepth(0)
params.SetSecurityLevel(fhe.SecurityLevel.HEStd_128_classic)

params.SetPlaintextModulus(2)
params.SetRingDim(1024)
params.SetScalingModSize(25)

Thank you for your help and your insights