Question on computing energy...

Question on computing energy...

by Linan Shi -
Number of replies: 3

Dear Prof van Zon,

In assignment 9, "analyzewave.cpp", lines 90 and 91

'''

        // compute energies
        double T = 0.0;
        double V = 0.0;
        for (int i=1; i<nrows-1; i++) {  \\line 90
            for (int j=1; j<ncols-1; j++) { \\line 91
                T += pow((dx/outtime)*(rho[i][j]-rho_prev[i][j]),2);
                V += pow(c,2)*(pow(rho[i][j]-rho[i-1][j],2)
                    +pow(rho[i][j]-rho[i][j-1],2));
            }
        }

'''

I suspect that they should be

'''

        for (int i=1; i<nrows; i++) {  \\line 90
            for (int j=1; j<ncols; j++) { \\line 91

'''

Or are the potential energy (V) between the last two lines and the last two columns not calculated? But I am not sure whether I made another wrong mathematical statement...

In reply to Linan Shi

Re: Question on computing energy...

by Dave Bhullar -

I got my code to a better point Linan, almost to where the values are close to the orignal, as shown below, but still not quite there (fourth and fifth screenshot). You might be right about the energy for loops, but can't be sure. I'm suspecting it is in one of the three below places (first, second and third screenshot) which I made similar to the lecture notes to the best of my ability. But if I add, say, 1 or 2 to nowrows per, it still doesn't quite give the right value. Hopefully a reply from Dr. van Zon will give just the right 'Ooooh, that's why!' moment to help us. 

1. 

GetAttachmentThumbnail?id=AAMkAGMxNjcxZmExLTA5MjQtNGRhYi1hYzU0LTRhNzEyYjEzNjU3YgBGAAAAAACaaeCwcm8gRKmbxNgV0fN%2FBwDpWiJyrrYUSoa9r4WEUgAZAAAAAAEJAADpWiJyrrYUSoa9r4WEUgAZAADMsXLoAAABEgAQAJP5FJ3YcdNLg3YA5BcCy1E%3D&thumbnailType=2&token=eyJhbGciOiJSUzI1NiIsImtpZCI6IkQ4OThGN0RDMjk2ODQ1MDk1RUUwREZGQ0MzODBBOTM5NjUwNDNFNjQiLCJ0eXAiOiJKV1QiLCJ4NXQiOiIySmozM0Nsb1JRbGU0Tl84dzRDcE9XVUVQbVEifQ.eyJvcmlnaW4iOiJodHRwczovL291dGxvb2sub2ZmaWNlLmNvbSIsInVjIjoiZWEzZWM0NzJlNWJjNGZkYzkzMmNmMzNiNTA4MGEyNWEiLCJzaWduaW5fc3RhdGUiOiJbXCJrbXNpXCJdIiwidmVyIjoiRXhjaGFuZ2UuQ2FsbGJhY2suVjEiLCJhcHBjdHhzZW5kZXIiOiJPd2FEb3dubG9hZEA3OGFhYzIyNi0yZjAzLTRiNGQtOTAzNy1iNDZkNTZjNTUyMTAiLCJpc3NyaW5nIjoiV1ciLCJhcHBjdHgiOiJ7XCJtc2V4Y2hwcm90XCI6XCJvd2FcIixcInB1aWRcIjpcIjExNTM4MDExMjI1MDc4ODg3MDhcIixcInNjb3BlXCI6XCJPd2FEb3dubG9hZFwiLFwib2lkXCI6XCJlM2MzNDIxYS1hY2UyLTQ0ODMtYjRkOC0zNTNjNmZkNWZiODNcIixcInByaW1hcnlzaWRcIjpcIlMtMS01LTIxLTM5NzE5NTY3OC0xOTY5Njg2MjMxLTIyMjY0NjU5MC0zOTc1MjU3NVwifSIsIm5iZiI6MTY4MTEyODcxOSwiZXhwIjoxNjgxMTI5MzE5LCJpc3MiOiIwMDAwMDAwMi0wMDAwLTBmZjEtY2UwMC0wMDAwMDAwMDAwMDBANzhhYWMyMjYtMmYwMy00YjRkLTkwMzctYjQ2ZDU2YzU1MjEwIiwiYXVkIjoiMDAwMDAwMDItMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL2F0dGFjaG1lbnRzLm9mZmljZS5uZXRANzhhYWMyMjYtMmYwMy00YjRkLTkwMzctYjQ2ZDU2YzU1MjEwIiwiaGFwcCI6Im93YSJ9.aurch5Gs0obFg16sPW8eb2-tsE3VCLcbfhck_VmHOz2wf2nOJ7ZBlrx4R8g5pdA4Cfq13VuSu_Oiv2FVB8h8G3TW_cwS6WJIV-CTzoORT0VLvZDOt2uV0qSQ6NszuDu8zkXNxoq7fkZ_8SB7mDc_nrE-pXoMrrKcTST2vQorK-_8Fs7OinmfTDVH0MOJgBzoA6cHYWLwQB2XxByoDv0Yi0UUe33H_sai7ZtMR6wL_daRVoR2gf_8QeL9pWwj6bbuTffx8UDrgTbaI7n_-K5geLtnm-Q9Zh-fU3o3RKv_BZpp2_WaXTems2zJvv4OIbstDuORYW0QtLTCxhQos8zndQ&X-OWA-CANARY=7sLe68kTNE-dRPgss9uRO5DuVui8OdsY77B0PWUfLDuEjAD_5zd5835Aq1KVrRDtcpu9L_9r_QE.&owa=outlook.office.com&scriptVer=20230331005.06&animation=true

2. 


3. 

GetAttachmentThumbnail?id=AAMkAGMxNjcxZmExLTA5MjQtNGRhYi1hYzU0LTRhNzEyYjEzNjU3YgBGAAAAAACaaeCwcm8gRKmbxNgV0fN%2FBwDpWiJyrrYUSoa9r4WEUgAZAAAAAAEJAADpWiJyrrYUSoa9r4WEUgAZAADMsXLoAAABEgAQAK%2FdPqbM0I5Hl5jO4vLNklA%3D&thumbnailType=2&token=eyJhbGciOiJSUzI1NiIsImtpZCI6IkQ4OThGN0RDMjk2ODQ1MDk1RUUwREZGQ0MzODBBOTM5NjUwNDNFNjQiLCJ0eXAiOiJKV1QiLCJ4NXQiOiIySmozM0Nsb1JRbGU0Tl84dzRDcE9XVUVQbVEifQ.eyJvcmlnaW4iOiJodHRwczovL291dGxvb2sub2ZmaWNlLmNvbSIsInVjIjoiZWEzZWM0NzJlNWJjNGZkYzkzMmNmMzNiNTA4MGEyNWEiLCJzaWduaW5fc3RhdGUiOiJbXCJrbXNpXCJdIiwidmVyIjoiRXhjaGFuZ2UuQ2FsbGJhY2suVjEiLCJhcHBjdHhzZW5kZXIiOiJPd2FEb3dubG9hZEA3OGFhYzIyNi0yZjAzLTRiNGQtOTAzNy1iNDZkNTZjNTUyMTAiLCJpc3NyaW5nIjoiV1ciLCJhcHBjdHgiOiJ7XCJtc2V4Y2hwcm90XCI6XCJvd2FcIixcInB1aWRcIjpcIjExNTM4MDExMjI1MDc4ODg3MDhcIixcInNjb3BlXCI6XCJPd2FEb3dubG9hZFwiLFwib2lkXCI6XCJlM2MzNDIxYS1hY2UyLTQ0ODMtYjRkOC0zNTNjNmZkNWZiODNcIixcInByaW1hcnlzaWRcIjpcIlMtMS01LTIxLTM5NzE5NTY3OC0xOTY5Njg2MjMxLTIyMjY0NjU5MC0zOTc1MjU3NVwifSIsIm5iZiI6MTY4MTEyODcwMiwiZXhwIjoxNjgxMTI5MzAyLCJpc3MiOiIwMDAwMDAwMi0wMDAwLTBmZjEtY2UwMC0wMDAwMDAwMDAwMDBANzhhYWMyMjYtMmYwMy00YjRkLTkwMzctYjQ2ZDU2YzU1MjEwIiwiYXVkIjoiMDAwMDAwMDItMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL2F0dGFjaG1lbnRzLm9mZmljZS5uZXRANzhhYWMyMjYtMmYwMy00YjRkLTkwMzctYjQ2ZDU2YzU1MjEwIiwiaGFwcCI6Im93YSJ9.tI00ilZwaJYGTO7LSdPwCLz44m15pR_sIprBmIMrjLx9d2WU3wrMC__s509ARy3zcq3O9U_QlFcAwBDOnK9neVWfF-RkQzaZUFJlhAp3IbBy0Pf846a4Mxs0_xKfpc7BiBAuK79c99s-c6P8IhTv9ng9_5oYRntFE5k45Bh1XURx9h9mcepe-QAkSMs71IVCZp5BfdyY0oxPVdZQaGB2yRp6lhj0Gv03MZ6ejSQ2Mywn2OqkWNJocSNOai1vVGCEJ90Em68RgrRlgUQ8qsZdjBfhs8PMkrvliCYZRzL2JEu2EtgMRfBCICODfAFamh8lOHg1vaZ5oeVYT0CAK4dmNA&X-OWA-CANARY=cdB3fFVLsEatbXtJO0rSJlAOe_C8OdsY_TIjrYMIroh0IQLX_x4oMEgLKzu1X_XiLsV2IlHxJEc.&owa=outlook.office.com&scriptVer=20230331005.06&animation=true

4.GetAttachmentThumbnail?id=AAMkAGMxNjcxZmExLTA5MjQtNGRhYi1hYzU0LTRhNzEyYjEzNjU3YgBGAAAAAACaaeCwcm8gRKmbxNgV0fN%2FBwDpWiJyrrYUSoa9r4WEUgAZAAAAAAEJAADpWiJyrrYUSoa9r4WEUgAZAADMsXLoAAABEgAQAGhVyWWQYuxMqK1puW%2FYgmA%3D&thumbnailType=2&token=eyJhbGciOiJSUzI1NiIsImtpZCI6IkQ4OThGN0RDMjk2ODQ1MDk1RUUwREZGQ0MzODBBOTM5NjUwNDNFNjQiLCJ0eXAiOiJKV1QiLCJ4NXQiOiIySmozM0Nsb1JRbGU0Tl84dzRDcE9XVUVQbVEifQ.eyJvcmlnaW4iOiJodHRwczovL291dGxvb2sub2ZmaWNlLmNvbSIsInVjIjoiZWEzZWM0NzJlNWJjNGZkYzkzMmNmMzNiNTA4MGEyNWEiLCJzaWduaW5fc3RhdGUiOiJbXCJrbXNpXCJdIiwidmVyIjoiRXhjaGFuZ2UuQ2FsbGJhY2suVjEiLCJhcHBjdHhzZW5kZXIiOiJPd2FEb3dubG9hZEA3OGFhYzIyNi0yZjAzLTRiNGQtOTAzNy1iNDZkNTZjNTUyMTAiLCJpc3NyaW5nIjoiV1ciLCJhcHBjdHgiOiJ7XCJtc2V4Y2hwcm90XCI6XCJvd2FcIixcInB1aWRcIjpcIjExNTM4MDExMjI1MDc4ODg3MDhcIixcInNjb3BlXCI6XCJPd2FEb3dubG9hZFwiLFwib2lkXCI6XCJlM2MzNDIxYS1hY2UyLTQ0ODMtYjRkOC0zNTNjNmZkNWZiODNcIixcInByaW1hcnlzaWRcIjpcIlMtMS01LTIxLTM5NzE5NTY3OC0xOTY5Njg2MjMxLTIyMjY0NjU5MC0zOTc1MjU3NVwifSIsIm5iZiI6MTY4MTEyODcwMiwiZXhwIjoxNjgxMTI5MzAyLCJpc3MiOiIwMDAwMDAwMi0wMDAwLTBmZjEtY2UwMC0wMDAwMDAwMDAwMDBANzhhYWMyMjYtMmYwMy00YjRkLTkwMzctYjQ2ZDU2YzU1MjEwIiwiYXVkIjoiMDAwMDAwMDItMDAwMC0wZmYxLWNlMDAtMDAwMDAwMDAwMDAwL2F0dGFjaG1lbnRzLm9mZmljZS5uZXRANzhhYWMyMjYtMmYwMy00YjRkLTkwMzctYjQ2ZDU2YzU1MjEwIiwiaGFwcCI6Im93YSJ9.tI00ilZwaJYGTO7LSdPwCLz44m15pR_sIprBmIMrjLx9d2WU3wrMC__s509ARy3zcq3O9U_QlFcAwBDOnK9neVWfF-RkQzaZUFJlhAp3IbBy0Pf846a4Mxs0_xKfpc7BiBAuK79c99s-c6P8IhTv9ng9_5oYRntFE5k45Bh1XURx9h9mcepe-QAkSMs71IVCZp5BfdyY0oxPVdZQaGB2yRp6lhj0Gv03MZ6ejSQ2Mywn2OqkWNJocSNOai1vVGCEJ90Em68RgrRlgUQ8qsZdjBfhs8PMkrvliCYZRzL2JEu2EtgMRfBCICODfAFamh8lOHg1vaZ5oeVYT0CAK4dmNA&X-OWA-CANARY=cdB3fFVLsEatbXtJO0rSJlAOe_C8OdsY_TIjrYMIroh0IQLX_x4oMEgLKzu1X_XiLsV2IlHxJEc.&owa=outlook.office.com&scriptVer=20230331005.06&animation=true

5.Image preview

In reply to Dave Bhullar

Re: Question on computing energy...

by Ramses van Zon -

Hi Dave, it doesn't look like your attachments came through.  It's better to send code as text.  The forum has an "advanced" edit, in which you could copy and paste your code and make it use a pre-formatted font, like this:


int main() { 
  return 0; 

In reply to Linan Shi

Re: Question on computing energy...

by Ramses van Zon -
Hi Linan,
Only one point on each side is omitted. The last row in the array of nrows x ncols has index nrows-1, so we do not want that point. Hence the condition is i < nrows-1. Similarly for the column.