亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? prepare_information.m

?? 帶電粒子在電磁場中運動軌跡模擬程序
?? M
字號:
function prepare_information( handles )
% prepares information about the simulation parameters, like particle
% initial position, velocity, mass, charge, electric and magnetic field
% function...



%     Copyright (C) 2007 
%
%       mag. David Erzen
%       Faculty of Mechanical Engineering
%       LECAD Laboratory
%       Askerceva 6
%       1000 Ljubljana
%       SLOVENIA
%       contact email: david.erzen@lecad.uni-lj.si
%       
%       Prof. John P. Verboncoeur
%       Plasma Theory and Simulation Group
%       University of California
%       Berkeley, CA 94720-1730 USA
%       
% 
%     This program is free software: you can redistribute it and/or modify
%     it under the terms of the GNU General Public License as published by
%     the Free Software Foundation, either version 3 of the License, or
%     (at your option) any later version.
% 
%     This program is distributed in the hope that it will be useful,
%     but WITHOUT ANY WARRANTY; without even the implied warranty of
%     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%     GNU General Public License for more details.
% 
%     You should have received a copy of the GNU General Public License
%     along with this program.  If not, see <http://www.gnu.org/licenses/>.
    


    global_variables;
    
    % set particle information
    particle_initPos = (str2num( get( handles.edtInitPos, 'String' ) ))';
    particle_initVel = (str2num( get( handles.edtInitVel, 'String' ) ))';
    particle_mass = str2num( get( handles.edtMass, 'String' ) );
    particle_charge = str2num( get( handles.edtCharge, 'String' ) );
    
    % set E field information function as a string
    switch get( handles.popElecField,'Value' )
        
        case EFIELD_NONE                                        % no electric field is selected            
            field_Efunction = '[ 0, 0, 0 ]';
            field_EfunctionX = '0';
            field_EfunctionY = '0';
            field_EfunctionZ = '0';
            field_EfunctionOK = 1;
            field_Echosen = EFIELD_NONE;
            
        case EFIELD_CONSTANT                                    % constant electric filed in x direction            
            parameters = get( handles.edtElecField,'String' );
            field_Efunction = strcat( '[', parameters, ', 0, 0 ]' );
            field_EfunctionX = parameters;
            field_EfunctionY = '0';
            field_EfunctionZ = '0';
            field_EfunctionOK = 1;
            field_Echosen = EFIELD_CONSTANT;
            
        case EFIELD_CUSTOM                                      % a user defined electric field is selected            
            field_Efunction = get( handles.edtElecField,'String' );
            [field_EfunctionX, remain] = strtok( field_Efunction, {',', '[', ']'} );
            [field_EfunctionY, remain] = strtok( remain, {',', '[', ']'} );
            [field_EfunctionZ, remain] = strtok( remain, {',', '[', ']'} );
            field_EfunctionOK = 1;
            field_Echosen = EFIELD_CUSTOM;
    end
    
    % set E field time factor
    switch get(handles.popTimeElecField, 'Value')
        case EFIELD_TIMECONSTANT                                    % constant electric field
            field_ETimefunctionX = '1';
            field_ETimefunctionY = '1';
            field_ETimefunctionZ = '1';
        case EFIELD_SINUSOIDAL                                      % sinusoidal electric field
            parameters = str2num( get( handles.edtTimeElecField,'String' ));
            field_ETimefunctionX = strcat('sin(',num2str(parameters(1)), '*t+', num2str(parameters(2)), ')');
            field_ETimefunctionY = strcat('sin(',num2str(parameters(1)), '*t+', num2str(parameters(2)), ')');
            field_ETimefunctionZ = strcat('sin(',num2str(parameters(1)), '*t+', num2str(parameters(2)), ')');
        case EFIELD_TIMECUSTOM                                      % custom time factor
            field_ETimefunction = get( handles.edtTimeElecField,'String' );
            [field_ETimefunctionX, remain] = strtok( field_ETimefunction, {',', '[', ']'} );
            [field_ETimefunctionY, remain] = strtok( remain, {',', '[', ']'} );
            [field_ETimefunctionZ, remain] = strtok( remain, {',', '[', ']'} );
    end
    
    % set B field information function as a string
    switch get( handles.popMagField,'Value' )
        case BFIELD_NONE                                        % no magnetic field is selected
            field_Bfunction= '[ 0, 0, 0 ]';
            field_BfunctionX= '0';
            field_BfunctionY= '0';
            field_BfunctionZ= '0';
            field_BfunctionOK = 1;
            field_Bchosen = BFIELD_NONE;
            
        case BFIELD_CONSTANT                                    % constant magnetic filed in z direction
            parameters = str2num( get( handles.edtMagField,'String' ));            
            field_Bfunction = strcat( '[ 0, 0,', num2str( parameters ), ']' );
            field_BfunctionX = '0';
            field_BfunctionY = '0,';
            field_BfunctionZ = num2str( parameters );
            field_BfunctionOK = 1;
            field_Bchosen = BFIELD_CONSTANT;
            
        case BFIELD_EXPONENT                                    % magnetic field in z direction, exponential fall in x direction
            parameters = str2num( get( handles.edtMagField,'String' ) );
            field_Bfunction = strcat( '[ 0, 0,', num2str( parameters(1) ), '*exp(-R(1)/', num2str( parameters(2) ), ')]' );        
            field_BfunctionX = '0';
            field_BfunctionY = '0';
            field_BfunctionZ = strcat( num2str( parameters(1) ), '*exp(-R(1)/', num2str( parameters(2) ), ')' );        
            field_BfunctionOK = 1;
            field_Bchosen = BFIELD_EXPONENT;
            
        case BFIELD_TORUS                                       % magnetic field in a torus
            parameters = str2num( get( handles.edtMagField,'String' ) );
            field_Bfunction = strcat('(', num2str( parameters(1) ), '*', num2str( parameters(2) ), '/(R(1)^2+R(2)^2+1e-6))*[ -R(2), R(1), 0 ]' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionX = strcat('(', num2str( parameters(1) ), '*', num2str( parameters(2) ), '/(R(1)^2+R(2)^2+1e-6))*( -R(2) )' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionY = strcat('(', num2str( parameters(1) ), '*', num2str( parameters(2) ), '/(R(1)^2+R(2)^2+1e-6))*( R(1) )' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionZ = strcat('(', num2str( parameters(1) ), '*', num2str( parameters(2) ), '/(R(1)^2+R(2)^2+1e-6))* 0 ' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionOK = 1;
            field_Bchosen = BFIELD_TORUS;
            
        case BFIELD_TORUS_POLOIDAL                              % magnetic field in a torus with poloidal field
            parameters = str2num( get( handles.edtMagField,'String' ) );
            field_Bfunction = strcat( '(',num2str(parameters(1)), ')*', num2str(parameters(2)),'/(R(1)^2 + R(2)^2 + 1e-6 )*','[ -R(2), R(1),0 ]','+', num2str(parameters(3)),'*[ R(3)*R(1)/sqrt(R(1)^2+R(2)^2+1e-6), R(3)*R(2)/sqrt(R(1)^2+R(2)^2+1e-6),', num2str(parameters(2)),'-sqrt(R(1)^2+R(2)^2+1e-6) ]*sqrt(R(1)^2+R(2)^2+R(3)^2+', num2str(parameters(2)), '^2-2*', num2str(parameters(2)), '*sqrt(R(1)^2+R(2)^2))');
            field_BfunctionX = strcat( '(',num2str(parameters(1)), ')*', num2str(parameters(2)),'/(R(1)^2 + R(2)^2 + 1e-6 )*','( -R(2) )','+', num2str(parameters(3)),'*( R(3)*R(1)/sqrt(R(1)^2+R(2)^2+1e-6) )*sqrt(R(1)^2+R(2)^2+R(3)^2+', num2str(parameters(2)), '^2-2*', num2str(parameters(2)), '*sqrt(R(1)^2+R(2)^2))');
            field_BfunctionY = strcat( '(',num2str(parameters(1)), ')*', num2str(parameters(2)),'/(R(1)^2 + R(2)^2 + 1e-6 )*','(R(1))','+', num2str(parameters(3)),'*( R(3)*R(2)/sqrt(R(1)^2+R(2)^2+1e-6))*sqrt(R(1)^2+R(2)^2+R(3)^2+', num2str(parameters(2)), '^2-2*', num2str(parameters(2)), '*sqrt(R(1)^2+R(2)^2))');
            field_BfunctionZ = strcat(  num2str(parameters(3)),'*(' , num2str(parameters(2)),'-sqrt(R(1)^2+R(2)^2+1e-6) )*sqrt(R(1)^2+R(2)^2+R(3)^2+', num2str(parameters(2)), '^2-2*', num2str(parameters(2)), '*sqrt(R(1)^2+R(2)^2))');
            field_BfunctionOK = 1;
            field_Bchosen = BFIELD_TORUS_POLOIDAL;
            
        case BFIELD_CONCENTRIC                                       % magnetic field in a concentric geometry
            parameters = str2num( get( handles.edtMagField,'String' ) );
            field_Bfunction = strcat('(', num2str( parameters(1) ), '*', num2str( parameters(2) ), '/(R(1)^2+R(2)^2+1e-6))*[ -R(2), R(1), 0 ]' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionX = strcat('(', num2str( parameters(1) ), '*', num2str( parameters(2) ), '/(R(1)^2+R(2)^2+1e-6))*( -R(2) )' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionY = strcat('(', num2str( parameters(1) ), '*', num2str( parameters(2) ), '/(R(1)^2+R(2)^2+1e-6))*( R(1) )' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionZ = strcat('(', num2str( parameters(1) ), '*', num2str( parameters(2) ), '/(R(1)^2+R(2)^2+1e-6))* 0 ' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionOK = 1;
            field_Bchosen = BFIELD_CONCENTRIC;
            
        case BFIELD_CUSTOM                                      % a user defined magnetic field is selected                        
            field_Bfunction = get( handles.edtMagField,'String' );
            [field_BfunctionX, remain] = strtok( field_Bfunction, {',', '[', ']'} );
            [field_BfunctionY, remain] = strtok( remain, {',', '[', ']'} );
            [field_BfunctionZ, remain] = strtok( remain, {',', '[', ']'} );
            field_BfunctionOK = 1;
            field_Bchosen = BFIELD_CUSTOM;
                    
        case BFIELD_MIRROR
            parameters = str2num( get( handles.edtMagField,'String' ) );
            
            %[parameters(3)*(R(1))/((R(1))^2+(R(2))^2+(R(3)+parameters(1)/2)^2)^(3/2) + parameters(2)*(R(1))/((R(1))^2+(R(2))^2+(R(3)-parameters(1)/2)^2)^(3/2),
            %parameters(3)*(R(2))/((R(1))^2+(R(2))^2+(R(3)+parameters(1)/2)^2)^(3/2) + parameters(2)*(R(2))/((R(1))^2+(R(2))^2+(R(3)-parameters(1)/2)^2)^(3/2),
            %parameters(3)*(R(3)+parameters(1)/2)/((R(1))^2+(R(2))^2+(R(3)+parameters(1)/2)^2)^(3/2) + parameters(2)*(R(3)-parameters(1)/2)/((R(1))^2+(R(2))^2+(R(3)-parameters(1)/2)^2)^(3/2)] 

            
            field_Bfunction = strcat('[',num2str(parameters(3)),'*(R(1))/((R(1))^2+(R(2))^2+(R(3)+',num2str(parameters(1)),'/2)^2)^(3/2) + ',num2str(parameters(2)),'*(R(1))/((R(1))^2+(R(2))^2+(R(3)-',num2str(parameters(1)),'/2)^2)^(3/2),', num2str(parameters(3)),'*(R(2))/((R(1))^2+(R(2))^2+(R(3)+',num2str(parameters(1)),'/2)^2)^(3/2) + ',num2str(parameters(2)),'*(R(2))/((R(1))^2+(R(2))^2+(R(3)-',num2str(parameters(1)),'/2)^2)^(3/2),',num2str(parameters(3)),'*(R(3)+',num2str(parameters(1)),'/2)/((R(1))^2+(R(2))^2+(R(3)+',num2str(parameters(1)),'/2)^2)^(3/2) + ',num2str(parameters(2)),'*(R(3)-',num2str(parameters(1)),'/2)/((R(1))^2+(R(2))^2+(R(3)-',num2str(parameters(1)),'/2)^2)^(3/2)]'); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionX = strcat( num2str(parameters(3)),'*(R(1))/((R(1))^2+(R(2))^2+(R(3)+',num2str(parameters(1)),'/2)^2)^(3/2) + ',num2str(parameters(2)),'*(R(1))/((R(1))^2+(R(2))^2+(R(3)-',num2str(parameters(1)),'/2)^2)^(3/2)' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionY = strcat( num2str(parameters(3)),'*(R(2))/((R(1))^2+(R(2))^2+(R(3)+',num2str(parameters(1)),'/2)^2)^(3/2) + ',num2str(parameters(2)),'*(R(2))/((R(1))^2+(R(2))^2+(R(3)-',num2str(parameters(1)),'/2)^2)^(3/2)' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionZ = strcat( num2str(parameters(3)),'*(R(3)+',num2str(parameters(1)),'/2)/((R(1))^2+(R(2))^2+(R(3)+',num2str(parameters(1)),'/2)^2)^(3/2) + ',num2str(parameters(2)),'*(R(3)-',num2str(parameters(1)),'/2)/((R(1))^2+(R(2))^2+(R(3)-',num2str(parameters(1)),'/2)^2)^(3/2)' ); % a small value 10^-6 is added to avoid the division by 0 at the origin
            field_BfunctionOK = 1;
            field_Bchosen = BFIELD_MIRROR;
      
    end
    
    % set B field time factor
    switch get(handles.popTimeMagField, 'Value')
        case BFIELD_TIMECONSTANT                                    % constant magnetic field
            field_BTimefunctionX = '1';
            field_BTimefunctionY = '1';
            field_BTimefunctionZ = '1';
        case BFIELD_SINUSOIDAL                                      % sinusoidal magnetic field
            parameters = str2num( get( handles.edtTimeMagField,'String' ));
            field_BTimefunctionX = strcat('sin(',num2str(parameters(1)), '*t+', num2str(parameters(2)), ')');
            field_BTimefunctionY = strcat('sin(',num2str(parameters(1)), '*t+', num2str(parameters(2)), ')');
            field_BTimefunctionZ = strcat('sin(',num2str(parameters(1)), '*t+', num2str(parameters(2)), ')');
        case BFIELD_TIMECUSTOM                                      % custom time factor
            field_BTimefunction = get( handles.edtTimeMagField,'String' );
            [field_BTimefunctionX, remain] = strtok( field_BTimefunction, {',', '[', ']'} );
            [field_BTimefunctionY, remain] = strtok( remain, {',', '[', ']'} );
            [field_BTimefunctionZ, remain] = strtok( remain, {',', '[', ']'} );
    end
    
    % set G field information function as string
    switch get(handles.rbuttGravity, 'Value')
        case GFIELD_NONE
            field_GfunctionZ = '0';                                 % no gravity is present
        
        case GFIELD_CONSTANT
            field_GfunctionZ = '-1000';                              % Earth gravity is present
    end;
            
    
    
      factor_force = 10e11;
      factor_velocity = 10e4;

end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线播放网址| 91丨九色porny丨蝌蚪| 亚洲精品精品亚洲| 国产女人aaa级久久久级| 精品成人免费观看| 26uuu色噜噜精品一区二区| 911精品产国品一二三产区| 在线亚洲一区二区| 欧美午夜视频网站| 91.com在线观看| 日韩欧美成人一区二区| 精品国产乱码91久久久久久网站| 欧美一级一级性生活免费录像| 欧美日韩成人在线| 欧美一二三区在线观看| 精品捆绑美女sm三区| 26uuu国产一区二区三区| 久久久久久久综合日本| 中文成人av在线| 亚洲日本青草视频在线怡红院| 亚洲男人的天堂在线aⅴ视频| 亚洲青青青在线视频| 婷婷亚洲久悠悠色悠在线播放| 日韩成人精品在线| 国产一区二区三区久久悠悠色av | 国产精品毛片久久久久久久| 久久久久久久久蜜桃| 中文幕一区二区三区久久蜜桃| 亚洲欧美日韩在线| 日韩精彩视频在线观看| 成人午夜视频网站| 欧美精品亚洲二区| 久久精品夜夜夜夜久久| 亚洲欧洲中文日韩久久av乱码| 日韩国产欧美在线播放| 国产精品一级片在线观看| 91麻豆国产精品久久| 欧美大片顶级少妇| 亚洲黄一区二区三区| 黄色精品一二区| 91久久人澡人人添人人爽欧美 | 老汉av免费一区二区三区| 国产98色在线|日韩| 欧美日韩精品三区| 国产欧美精品一区| 丝袜美腿成人在线| 成人h动漫精品一区二| 3d动漫精品啪啪一区二区竹菊| 国产色产综合产在线视频| 一区二区三区欧美在线观看| 蜜桃av噜噜一区| 欧美日韩国产乱码电影| 国产精品久久久久一区二区三区共| 性久久久久久久久久久久| 国产91精品一区二区| 精品国产乱码久久久久久免费| 亚洲欧美日韩在线播放| 成人污视频在线观看| 日韩女优av电影在线观看| 亚洲第一狼人社区| 一本久久a久久免费精品不卡| 国产亚洲欧洲一区高清在线观看| 天天影视网天天综合色在线播放| a在线播放不卡| 欧美极品少妇xxxxⅹ高跟鞋 | 亚洲欧美日韩中文字幕一区二区三区 | 久久综合久久鬼色中文字| 亚洲国产一区视频| 91麻豆精品在线观看| 欧美韩国日本一区| 国产成人三级在线观看| www国产精品av| 精品亚洲免费视频| 日韩一二三区不卡| 免费看精品久久片| 日韩欧美不卡在线观看视频| 日韩av电影天堂| 9191国产精品| 美女国产一区二区三区| 日韩欧美一级二级三级| 久久国内精品视频| 国产午夜一区二区三区| 丁香激情综合国产| 国产精品看片你懂得| 一本大道av一区二区在线播放| 亚洲美女视频在线| 欧美三级电影一区| 免费不卡在线视频| 国产精品全国免费观看高清| 国产v日产∨综合v精品视频| 国产欧美精品一区二区色综合| 国产精品成人在线观看| 成人精品视频.| 亚洲激情图片一区| 欧美精品色一区二区三区| 久久综合久久综合九色| 亚洲图片欧美综合| 日韩欧美不卡一区| 911精品产国品一二三产区| 色综合天天视频在线观看| 国产一区二区在线观看视频| 午夜精品爽啪视频| 亚洲男人天堂一区| 国产精品麻豆久久久| 久久久99精品免费观看| 日韩欧美aaaaaa| 日韩精品最新网址| 日韩欧美国产一二三区| 91精品国产福利在线观看| 在线精品视频免费播放| 色噜噜偷拍精品综合在线| aaa欧美大片| 99久久精品免费看国产免费软件| 国产成人在线看| 国产精品一级二级三级| 国内成+人亚洲+欧美+综合在线| 久久精品噜噜噜成人av农村| 日韩高清一区二区| 久久精品国产99| 精东粉嫩av免费一区二区三区| 免费成人小视频| 美腿丝袜亚洲一区| 国产一区二区三区综合| 九九在线精品视频| 国产精选一区二区三区| 国产91精品露脸国语对白| 国产成人午夜精品影院观看视频| 国产成人免费视频 | 亚洲福利一区二区| 亚洲1区2区3区视频| 日本欧美一区二区| 精品一区二区三区蜜桃| 国产乱码精品1区2区3区| 国产夫妻精品视频| 99久精品国产| 在线电影一区二区三区| 欧美一级理论性理论a| 国产人成一区二区三区影院| 国产精品毛片高清在线完整版 | 亚洲免费观看高清完整版在线观看熊| 最新国产精品久久精品| 一区二区三区在线观看动漫| 丝袜诱惑亚洲看片| 狠狠色丁香久久婷婷综| 成人免费毛片a| 欧美日韩亚洲另类| 精品国产伦一区二区三区观看体验| 国产喂奶挤奶一区二区三区| 国产精品福利一区二区| 日韩国产一区二| 成人激情视频网站| 欧美性大战久久| www精品美女久久久tv| 亚洲日韩欧美一区二区在线| 日韩精品高清不卡| 成人精品亚洲人成在线| 欧美丰满嫩嫩电影| 国产精品免费视频观看| 亚洲国产欧美另类丝袜| 国产成人午夜精品影院观看视频| 欧美影院一区二区三区| 国产欧美综合色| 亚洲国产裸拍裸体视频在线观看乱了| 精品在线亚洲视频| 色综合激情五月| 欧美成人一区二区三区片免费| 亚洲色欲色欲www| 精品一区二区综合| 欧美久久高跟鞋激| 自拍偷拍国产精品| 国产一区视频在线看| 欧美性做爰猛烈叫床潮| 国产性做久久久久久| 天堂在线一区二区| 欧美一二三区在线| 亚洲精品视频一区二区| 国产精品白丝av| 欧美久久久久久蜜桃| 亚洲柠檬福利资源导航| 国产一区久久久| 欧美疯狂做受xxxx富婆| 亚洲免费大片在线观看| 成人a免费在线看| 精品久久国产老人久久综合| 亚洲一区自拍偷拍| 丁香桃色午夜亚洲一区二区三区| 欧美一级视频精品观看| 亚洲夂夂婷婷色拍ww47| 99这里只有精品| 久久九九久精品国产免费直播| 麻豆精品一区二区三区| 在线观看av一区| 亚洲精选免费视频| 不卡影院免费观看| 国产精品看片你懂得| 国产成人精品影视| 国产亚洲欧美激情| 国产一区在线不卡| 久久久精品综合| 国产在线不卡一区|