Nonlinear finite elements for continua and structures -- examples 3.5
2017-02-17 11:07
453 查看
// // p96 Example 3.5 // const PI = 3.1415926; // // X, Y -- initial coordinates // t -- time coordinate // a, b -- parameters // function x_coord( a, b, t, X, Y) { var theta = PI * t / 2; var result = ( 1 + a * t ) * X * Math.cos( theta ) - ( 1 + b * t ) * Y * Math.sin( theta ); return result; } // // X, Y -- initial coordinates // t -- time coordinate // a, b -- parameters // function y_coord( a, b, t, X, Y) { var theta = PI * t / 2; var result = ( 1 + a * t ) * X * Math.sin( theta ) + ( 1 + b * t ) * Y * Math.cos( theta ); return result; } function element( a, b, t, X, Y) { var theta = PI * t / 2; var At = 1 + a * t; var Bt = 1 + b * t; var s = Math.sin( theta ) var c = Math.cos( theta ) var F11 = At * c ; var F12 = -Bt * s ; var F21 = At * s ; var F22 = Bt * c ; console.log( 'F = ' ); console.log( '[ ', parseFloat(F11).toFixed(3), ' ', parseFloat(F12).toFixed(3) ); console.log( ' ', parseFloat(F21).toFixed(3), ' ', parseFloat(F22).toFixed(3), ']' ); var E11 = 2 * a * t + a * t * a * t ; var E22 = 2 * b * t + b * t * b * t ; console.log( 'E = ' ); console.log( '[ ', parseFloat(E11).toFixed(3), ' ', 0 ); console.log( ' ', 0, ' ', parseFloat(E22).toFixed(3), ']' ); } function show() { for( time = 0; time < 1.0; time+= 0.1 ) { var x0 = x_coord( para_a, para_b, time, 0, 0 ); var y0 = y_coord( para_a, para_b, time, 0, 0 ); //console.log("x0 = ", x , " y0 = ", y ); var x1 = x_coord( para_a, para_b, time, X_init, Y_init ); var y1 = y_coord( para_a, para_b, time, X_init, Y_init ); //console.log("x1 = ", x , " y1 = ", y ); var new_x0 = (parseFloat(x0) + parseFloat(200.0) ).toFixed(3); var new_y0 = (parseFloat(y0) + parseFloat(200.0) ).toFixed(3); var new_x1 = (parseFloat(x1) + parseFloat(200.0) ).toFixed(3); var new_y1 = (parseFloat(y1) + parseFloat(200.0) ).toFixed(3); console.log( 'M ', new_x0, ' ', new_y0, ' L ', new_x1, ' ', new_y1 ); var length = Math.sqrt( x1 * x1 + y1 * y1 ); console.log( 'element length = ', length ); element( para_a, para_b, time, X_init, Y_init ); console.log( ); } } var para_a = 10; var para_b = 10; var time; var X_init = 10; var Y_init = 10; show();
Results:
M 200.000 200.000 L 210.000 210.000 element length = 14.142135623730951 F = [ 1.000 0.000 0.000 1.000 ] E = [ 0.000 0 0 0.000 ] M 200.000 200.000 L 216.625 222.882 element length = 28.284271247461902 F = [ 1.975 -0.313 0.313 1.975 ] E = [ 3.000 0 0 3.000 ] M 200.000 200.000 L 219.261 237.802 element length = 42.426406871192846 F = [ 2.853 -0.927 0.927 2.853 ] E = [ 8.000 0 0 8.000 ] M 200.000 200.000 L 217.481 253.800 element length = 56.568542494923804 F = [ 3.564 -1.816 1.816 3.564 ] E = [ 15.000 0 0 15.000 ] M 200.000 200.000 L 211.062 269.840 element length = 70.71067811865474 F = [ 4.045 -2.939 2.939 4.045 ] E = [ 24.000 0 0 24.000 ] M 200.000 200.000 L 200.000 284.853 element length = 84.85281374238569 F = [ 4.243 -4.243 4.243 4.243 ] E = [ 35.000 0 0 35.000 ] M 200.000 200.000 L 184.514 297.776 element length = 98.99494936611666 F = [ 4.114 -5.663 5.663 4.114 ] E = [ 48.000 0 0 48.000 ] M 200.000 200.000 L 165.039 307.600 element length = 113.13708498984761 F = [ 3.632 -7.128 7.128 3.632 ] E = [ 63.000 0 0 63.000 ] M 200.000 200.000 L 142.216 313.407 element length = 127.27922061357854 F = [ 2.781 -8.560 8.560 2.781 ] E = [ 80.000 0 0 80.000 ] M 200.000 200.000 L 116.875 314.412 element length = 141.4213562373095 F = [ 1.564 -9.877 9.877 1.564 ] E = [ 99.000 0 0 99.000 ] M 200.000 200.000 L 90.000 310.000 element length = 155.56349186104043 F = [ 0.000 -11.000 11.000 0.000 ] E = [ 120.000 0 0 120.000 ]
相关文章推荐
- Data structures for game programming learning notes (六)——stack and queue
- More 3D Graphics (rgl) for Classification with Local Logistic Regression and Kernel Density Estimates (from The Elements of Statistical Learning)(转)
- Ubuntu 16.04编译Opencv 3.4 (For python2.7 and python3.5)
- 读论文《Probabilistic Data Structures for Web Analytics and Data Mining》笔记
- Apache Cookbook: Solutions and Examples for Apache Administrators [ILLUSTRATED]
- Pre-Update and Pre-Insert Trigger Examples For Oracle Forms
- 安装Windows SDK for Windows Server 2008 and .NET Framework 3.5之后,WPF和Silverlight没有了智能提示
- [Angular 2] ng-model and ng-for with Select and Option elements
- Examples For PLSQL Cursors - Explicit, Implicit And Ref Cursors
- C Language Examples of IPv4 and IPv6 Raw Sockets for Linux
- Performance Improvement for WCF Client Proxy Creation in .NET 3.5 and Best Practices
- Web Dynpro for ABAP: creating Dynamic UI Elements and Context: Step by Step
- Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)
- ICE Manual(Documentation for Ice 3.5)---The Ice Protocol(Protocol and Encoding Versions)
- General-purpose and introductory examples for the scikit.
- Java Code Examples for org.jsoup.select.Elements
- Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)
- Robust Quasistatic Finite Elements and Flesh Simulation
- SAS Graphics for Java: Examples Using SAS AppDev Studio and the Output Delivery System