Pong Ball loses momentum

I’m currently making a pong game, but everytime the ball hits the paddles or walls, it loses momentum and slows down.

using UnityEngine;
using System.Collections;
using UnityEngine.UI; // needed for Text

public class ballscript : MonoBehaviour
{

public float ballInitialVelocity = 600f;
public Text myText;

private Rigidbody rb;
private bool ballInPlay=false;

void Awake()
{
    rb = GetComponent<Rigidbody>();

}

void Update()
{
    if (Input.GetButtonDown("Fire1") && ballInPlay == false)
    {

        ballInPlay = true;
        rb.isKinematic = false;
        rb.AddForce(new Vector3(ballInitialVelocity, ballInitialVelocity, 0));
    }

    if (transform.position.x < -40 || transform.position.x > 20)
    {
        ballInPlay = false;
        Vector3 playerPos = new Vector3(0, -0.0f, -0.5f);
        transform.position = playerPos;
        rb.velocity = Vector3.zero;
    }
}

}

Try using on collision to add the force again after it collides. At least thats what I did for mine.