Luận án Nghiên cứu đề xuất hình dáng tàu chở container phù hợp tuyến luồng sông biển Việt Nam
MỞ ĐẦU
1. Cơ sở lựa chọn đề tài
Hiện nay, theo số liệu cục đường thủy nội địa năm 2019, ngành vận tải thủy Việt
Nam đạt 250 triệu tấn/năm, trong đó riêng vận tải ven biển đã chiếm hơn 60 triệu
tấn/năm. Với tổng khối lượng luân chuyển hàng hóa và quãng đường vận chuyển
(tấn.km) cao nhất trong các phương thức vận tải hàng hóa, trong đó đội tàu vận tải
container sông biển (SB) đã và đang góp phần thúc đẩy ngành vận tải đa phương thức
logistic và chuỗi cung ứng, phát triển theo hướng hội nhập kinh tế giữa các vùng miền
và quốc tế, phát huy tối đa điều kiện ven biển tự nhiên của Việt Nam.
Ngày nay, vấn đề sử dụng năng lượng hiệu quả cho phương tiện thủy ngày càng
mang tính cấp thiết vì liên quan đến tiết kiệm nhiên liệu trong khai thác tàu và các yêu
cầu bắt buộc của Ủy ban bảo vệ môi trường biển (MEPC) thuộc Tổ chức hàng hải quốc
tế (IMO) về giảm ô nhiễm môi trường và lượng phát thải khí gây hiệu ứng nhà kính toàn
cầu. Đối với các tàu chạy tuyến sông biển, mặc dù nằm ngoài đối tượng áp dụng các quy
định trên, cũng cần thỏa mãn các quy định, nghị quyết, luật Việt Nam về mục tiêu sử
dụng năng lượng hiệu quả và tiết kiệm. Chính vì vậy, bài toán nghiên cứu các giải pháp
thiết kế phương tiện thủy nhằm nâng cao hiệu quả sử dụng năng lượng đang là chủ đề
có tính thời sự không những đối với đội tàu chạy chuyến quốc tế của Việt Nam nói
chung mà còn đối với cả đội tàu SB nói riêng.
Trong giai đoạn thiết kế, bài toán nâng cao hiệu quả sử dụng năng lượng cho tàu
được giải quyết bằng việc tối ưu hóa thiết kế hình dáng thân tàu và hệ động lực của tàu,
nhằm giảm sức cản thân tàu, tăng hiệu suất của chân vịt từ đó tiết kiệm được nhiên liệu
cho tàu góp phần nâng cao hiệu quả kinh tế cho tàu cũng như góp phần làm giảm ô
nhiễm môi trường.
Ở Việt Nam, tháng 7-2014, sau một thời gian chuẩn bị, Bộ Giao thông vận tải
(GTVT) chính thức công bố mở ba tuyến vận tải ven biển. Khi mới mở tuyến, số lượng
tàu SB chỉ có vài chục chiếc, nhưng đến cuối tháng 12-2020, tổng số phương tiện đã
tăng lên gần 2000 tàu nhằm đáp ứng nhu cầu vận chuyển hàng hóa ngày càng tăng cao.
Dự báo, trong thời gian tới, số lượng tàu SB còn tiếp tục tăng do Cục Ðăng kiểm Việt
Nam đang thẩm định rất nhiều hồ sơ đăng ký đóng mới. Như vậy, có thể thấy đội tàu2
SB của Việt Nam đã và đang có sự phát triển rất nhanh về số lượng. Tuy nhiên, theo các
đánh giá thì trong công tác thiết kế tàu SB nói chung và tàu container chạy tuyến SB
còn tồn tại nhiều vấn đề như việc tối ưu hóa hình dáng thân tàu còn chưa được quan tâm
đúng mức dẫn tới chưa có mẫu hình dáng thân tàu container chuẩn phù hợp với tuyến
luồng SB Việt Nam. Chính vì vậy, việc nghiên cứu thuật toán đề xuất hình dáng và xây
dựng mô hình toán toàn tàu nói chung và mẫu tàu container SB nói riêng, có xét đến ảnh
hưởng tuyến luồng có tính khoa học và thực tiễn cao, làm phong phú các nghiên cứu
trong nước và quốc tế liên quan trong mảng thiết kế tàu. Do đó, được sự đồng ý của giáo
viên hướng dẫn, NCS đã lựa chọn đề tài “NGHIÊN CỨU ĐỀ XUẤT HÌNH DÁNG
TÀU CHỞ CONTAINER PHÙ HỢP TUYẾN LUỒNG SÔNG BIỂN VIỆT NAM”.
Tóm tắt nội dung tài liệu: Luận án Nghiên cứu đề xuất hình dáng tàu chở container phù hợp tuyến luồng sông biển Việt Nam
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH NGUYỄN THỊ NGỌC HOA NGHIÊN CỨU ĐỀ XUẤT HÌNH DÁNG TÀU CHỞ CONTAINER PHÙ HỢP TUYẾN LUỒNG SÔNG BIỂN VIỆT NAM Chuyên ngành: Kỹ thuật Cơ khí Động lực Mã số chuyên ngành: 9520116 LUẬN ÁN TIẾN SĨ KỸ THUẬT TP Hồ Chí Minh, 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH NGUYỄN THỊ NGỌC HOA NGHIÊN CỨU ĐỀ XUẤT HÌNH DÁNG TÀU CHỞ CONTAINER PHÙ HỢP TUYẾN LUỒNG SÔNG BIỂN VIỆT NAM Chuyên ngành: Kỹ thuật Cơ khí Động lực Mã số chuyên ngành: 9520116 LUẬN ÁN TIẾN SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC 1. PGS.TS. Vũ Ngọc Bích 2. PGS.TS. Lê Tất Hiển TP Hồ Chí Minh, 2021 i LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu khoa học độc lập của riêng tôi. Các số liệu và kết quả nghiên cứu trong suốt luận án là trung thực và chưa được công bố trong bất kỳ luận án nghiên cứu nào khác. Tất cả những tham khảo và kế thừa đều được trích dẫn, tham chiếu đầy đủ. Nghiên cứu sinh Nguyễn Thị Ngọc Hoa ii LỜI CẢM ƠN Tôi xin chân thành cảm ơn Trường Đại học Giao thông Vận tải Thành phố Hồ Chí Minh, Viện Sau đại học, Viện Cơ khí của trường đã cho phép và tạo điều kiện cho tôi thực hiện luận án này. Tôi xin chân thành cảm ơn giáo viên hướng dẫn khoa học: PGS. TS Vũ Ngọc Bích và PGS. TS Lê Tất Hiển đã nhiệt tình hướng dẫn, định hướng giúp tôi hoàn thành luận án Tôi xin chân thành cảm ơn tất cả các chuyên gia tham gia góp ý và phản biện trong các hội đồng bảo vệ tổng quan, bảo vệ chuyên đề đã giúp tôi làm sáng tỏ các vấn đề từ đó có nghiên cứu trọng tâm để hoàn thiện luận án Tôi cũng xin cảm ơn đơn vị thiết kế tàu đã hỗ trợ tài liệu, các mô phỏng cần thiết giúp tôi có thể ứng dụng trong nghiên cứu, xây dựng và đánh giá mô hình toán mô phỏng chính xác Cuối cùng tác giả xin bày tỏ lòng biết ơn sâu sắc tới gia đình, đồng nghiệp và bạn bè đã luôn động viên, khuyến khích, tạo điều kiện cho tôi trong suốt thời gian hoàn thành luận án này. TP. Hồ Chí Minh, ngày tháng năm 2021 Tác giả luận án Nguyễn Thị Ngọc Hoa iii TÓM TẮT Vấn đề sử dụng năng lượng hiệu quả cho phương tiện thủy ngày càng mang tính cấp thiết vì liên quan đến tiết kiệm nhiên liệu trong khai thác tàu và các yêu cầu bắt buộc của Ủy ban bảo vệ môi trường biển (MEPC) thuộc Tổ chức hàng hải quốc tế (IMO) về giảm ô nhiễm môi trường và lượng phát thải khí gây hiệu ứng nhà kính toàn cầu. Đối với các tàu chạy tuyến SB (pha sông biển), mặc dù nằm ngoài đối tượng áp dụng các quy định trên của IMO, cũng cần phải thỏa mãn các quy định, nghị quyết, các luật của Việt Nam về mục tiêu sử dụng năng lượng hiệu quả và tiết kiệm. Chính vì vậy, bài toán nghiên cứu các giải pháp thiết kế phương tiện thủy nhằm nâng cao hiệu quả sử dụng năng lượng đang là chủ đề có tính thời sự không những đối với đội tàu chạy chuyến quốc tế của Việt Nam nói chung mà còn đối với cả đội tàu SB nói riêng. Trong luận án này, tác giả trình bày phương pháp luận trong thiết kế tuyến hình tàu SB và phân tích, trình bày hàm mục tiêu sức cản dựa trên phương pháp bán thực nghiệm Holtrop, có xét điều kiện ràng buộc độ sâu tuyến luồng sông biển Việt Nam. Kế đến, thuật toán tối ưu hóa di truyền được xây dựng để chọn lựa thông số hình dáng phù hợp theo hướng giảm sức cản tàu, từ đó tiết kiệm được nhiên liệu cho tàu, góp phần nâng cao hiệu quả kinh tế và giảm ô nhiễm môi trường. Cuối cùng, luận án đã thiết lập và đề xuất mô hình toán NUBS cho hình dáng tàu để giải quyết tính mất liên tục giữa các phân đoạn mũi, lái và thân ống sau hiệu chỉnh Lackenby và mở rộng đề xuất tập hợp hàm cơ sở NUBS phù hợp cho tàu container tuyến luồng sông biển. Phương pháp mô phỏng số (CFD) được sử dụng để tính toán lực cản tàu nhằm đánh giá, kiểm chứng hình dáng thân tàu container và khẳng định kết quả cải tiến hình dáng thân tàu container theo mô mình toán đề xuất. iv ABSTRACT The issue of efficient energy use for ships is urgent because of fuel-saving in ship operation and the mandatory requirements of the Marine Environment Protection Committee (MEPC) of the International Maritime Organization (IMO) to reduce environmental pollution global and greenhouse gas emissions. For ships operating on the coastal route (both at sea and in inland waters), although they are not subject to the application of the above regulations of IMO, it is also necessary to satisfy the regulations, resolutions, and laws of Vietnam on the intended use of energy-efficient and economical. Therefore, researching solutions to design vessels to improve energy efficiency is critical for Vietnam's international fleet of ships in general and the whole coaster fleet in particular. In this thesis, the author presents the methodology in designing the hull form of a sea-river ship and analyzes and presents the objective function of resistance based on the Holtrop semi-empirical method, considering the condition of constraining the shallow water of the Vietnamese waterway. Next, a genetic optimization algorithm was built to select suitable hull form parameters to reduce ship resistance, thereby saving fuel for ships, improving economic efficiency, and reducing environmental pollution. Finally, the NUBS mathematical model has been established and proposed for the ship hull form to solve the discontinuity between the bow, aft, and mid-body after Lackenby variation and extended the proposed set of basis functions of NUBS is suitable for container ships on the coastal route. The computational fluid dynamic method (CFD) is used to calculate the ship resistance to evaluate and verify the hull form and confirm the results of improving the hull form of the container ship according to the proposed NUBS mathematical model. v MỤC LỤC DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT ................................................................................. viii DANH MỤC HÌNH VẼ ......................................................................................................................... x DANH MỤC BẢNG BIỂU .................................................................................................................. xv MỞ ĐẦU ................................................................................................................................................. 1 CHƯƠNG 1 : TỔNG QUAN VỀ XÂY DỰNG HÌNH DÁNG TÀU CONTAINER PHÙ HỢP TUYẾN LUỒNG SÔNG BIỂN VIỆT NAM ........................................................................................ 5 1.1. Tổng quan về tuyến vận tải thủy sông biển trong hệ thống vận tải đa phương thức ................. 5 1.1.1 Vai trò, thực trạng vận tải thủy trên thế giới và tại Việt Nam................................................ 5 1.1.2 Đặc điểm ràng buộc thủy – hải văn ảnh hưởng đến hình dáng phương tiện thủy trên tuyến luồng sông biển Việt Nam ............................................................................................................... 8 1.2. Tổng quan kích thước cơ bản và ràng buộc thiết kế cho hình dáng tàu container tuyến luồng sông biển trên thế giới và tại Việt Nam ............................................................................................. 13 1.3. Hướng tiếp cận cải tiến tuyến hình tàu container nhằm giảm sức cản dựa trên giải thuật tối ưu và đồ họa máy tính ............................................................................................................................ 20 1.3.1 Tiếp cận tối ưu hóa hình dáng dựa trên xây dựng tuyến hình từ tàu mẫu phù hợp với tuyến luồng sông biển Việt Nam ............................................................................................................. 20 1.3.2 Tiếp cận đồ họa máy tính để xây dựng mô hình toán tuyến hình ....................................... 23 1.4. Kết luận chương 1 ...................................................................................................................... 27 CHƯƠNG 2 : NGHIÊN CỨU XÂY DỰNG HÀM MỤC TIÊU SỨC CẢN TÀU CONTAINER SB ................................................................................................................................................................ 29 2.1. Cơ sở phương pháp luận trong thiết kế hình dáng tàu container SB ........................................ 29 2.2. Phân tích lựa chọn phương pháp xác định sức cản tàu ............................................................. 31 2.3. Nghiên cứu, xây dựng hàm mục tiêu sức cản theo phương pháp Holtrop ................................ 33 2.3.1 Tổng quan về các thành phần sức cản ................................................................................. 33 2.3.2 Tích hợp phương pháp Holtrop vào hàm mục tiêu sức cản ................................................. 36 2.3.3 Nghiên cứu, xây dựng phương pháp tích phân gần đúng các hệ số hình dáng tàu trên cơ sở đường cong diện tích sườn (SAC).................................................................................................. 40 2.4. Tích hợp ảnh hưởng vùng nước hạn chế đến sức cản toàn tàu ................................................ 45 vi 2.4.1 Ảnh hưởng của vận tốc tới hạn trên tuyến luồng đến sức cản tàu SB ................................. 46 2.4.2 Ảnh hưởng độ sâu luồng lạch và hình dáng tàu đến sức cản tàu SB ................................... 48 2.5. Kết luận ...................................................................................................................................... 50 CHƯƠNG 3 : NGHIÊN CỨU XÂY DỰNG THUẬT TOÁN TỐI ƯU THÔNG SỐ HÌNH DÁNG TÀU CONTAINER SB ........................................................................................................................ 52 3.1. Cơ sở giải thuật tối ưu di truyền trong kỹ thuật ........................................................................ 52 3.1.1 Tổng quan về cơ sở tối ưu và giải thuật di truyền ............................................................... 52 3.1.2 Đánh giá hiệu quả thuật toán di truyền dựa trên các hàm toán cơ sở ................................ 55 3.2. Xây dựng giải thuật tối ưu di truyền trong đề xuất hình dáng phương tiện thủy ..................... 58 3.2.1 Cơ chế mã hóa và chọn lựa .................................................................................................. 59 3.2.2 Cơ chế lai ghép ..................................................................................................................... 61 3.2.3 Cơ chế đột biến .................................................................................................................... 63 3.2.4 Các ràng buộc thông số hình dáng tàu tiếp cận dựa trên đường cong diện tích sườn SAC 64 3.3. Kết luận ......................................................................................................................... ... HUẬT MATLAB THEO CƠ CHẾ TỐI ƯU DI TRUYỀN function [x,fval,exitFlag,output,population,scores] = ga(fun,nvars,Aineq,bineq,Aeq,beq,lb,ub,nonlcon,intcon,options) %GA Constrained optimization using genetic algorithm. % GA attempts to solve problems of the following forms: % min F(X) subject to: A*X <= B, Aeq*X = Beq (linear constraints) % X C(X) <= 0, Ceq(X) = 0 (nonlinear constraints) % LB <= X <= UB % Check number of input arguments try narginchk(1,11); catch ME error(message('globaloptim:ga:numberOfInputs', ME.message)); end % If just 'defaults' passed in, return the default options in X if nargin == 1 && nargout <= 1 && isequal(fun,'defaults') x = defaultopt; return end if nargin < 11, options = []; if nargin < 10, intcon = []; if nargin < 9, nonlcon = []; if nargin < 8, ub = []; if nargin < 7, lb = []; if nargin <6, beq = []; if nargin <5, Aeq = []; if nargin < 4, bineq = []; if nargin < 3, Aineq = []; end end end end end end end end end % Is third argument a structure if nargin == 3 && (isstruct(Aineq) || isa(Aineq, 'optim.options.SolverOptions')) % Old syntax options = Aineq; Aineq = []; end % Is tenth argument a structure? If so, integer constraints have not been % specified 140 if nargin == 10 && (isstruct(intcon) || isa(intcon, 'optim.options.SolverOptions')) options = intcon; intcon = []; end % One input argument is for problem structure if nargin == 1 if isa(fun,'struct') [fun,nvars,Aineq,bineq,Aeq,beq,lb,ub,nonlcon,intcon,rngstate,options] = separateOptimStruct(fun); % Reset the random number generators resetDfltRng(rngstate); else % Single input and non-structure. error(message('globaloptim:ga:invalidStructInput')); end end % Prepare the options for the solver options = prepareOptionsForSolver(options, 'ga'); % If fun is a cell array with additional arguments get the function handle if iscell(fun) FitnessFcn = fun{1}; else FitnessFcn = fun; end % Only function handles or inlines are allowed for FitnessFcn if isempty(FitnessFcn) || ~(isa(FitnessFcn,'inline') || isa(FitnessFcn,'function_handle')) error(message('globaloptim:ga:needFunctionHandle')); end % We need to check the nvars here before we call any solver valid = isnumeric(nvars) && isscalar(nvars)&& (nvars > 0) ... && (nvars == floor(nvars)); if ~valid error(message('globaloptim:ga:notValidNvars')); end % Set default PopInitRange for non-MINLP problems defaultopt.PopInitRange = [-10;10]; % Specific checks and modification of options for mixed integer GA if ~isempty(intcon) % Check whether the user has specified options that the mixed integer % solver will either ignore or error. gaminlpvalidateoptions(options); % Change the default options for PopulationSize and EliteCount here. defaultopt.PopulationSize = max(min(10*nvars, 100), 40); 141 defaultopt.EliteCount = ceil(0.05*defaultopt.PopulationSize); % Adjust PopInitRange for MINLPs defaultopt.PopInitRange = [-1e4 + 1; 1e4 + 1]; end user_options = options; % Use default options if empty if ~isempty(options) && ~isa(options,'struct') error(message('globaloptim:ga:optionsNotAStruct')); elseif isempty(options) options = defaultopt; end % Take defaults for parameters that are not in options structure options = gaoptimset(defaultopt,options); options.UserSpecPopInitRange = isa(user_options, 'struct') && ... isfield(user_options, 'PopInitRange') && ~isempty(user_options.PopInitRange); % Check for non-double inputs msg = isoptimargdbl('GA', {'NVARS','A', 'b', 'Aeq','beq','lb','ub'}, ... nvars, Aineq, bineq, Aeq, beq, lb, ub); if ~isempty(msg) error('globaloptim:ga:dataType',msg); end % Introduce field to describe the objective type options.MultiObjective = false; [x,fval,exitFlag,output,population,scores,FitnessFcn,nvars,Aineq,bineq,Aeq,beq,lb,ub, ... NonconFcn,options,Iterate,type] = gacommon(nvars,fun,Aineq,bineq,Aeq,beq,lb,ub, ... nonlcon,intcon,options,user_options); if exitFlag < 0 return; end % Turn constraints into right size if they are empty. if isempty(Aineq) Aineq = zeros(0,nvars); end if isempty(bineq) bineq = zeros(0,1); end if isempty(Aeq) Aeq = zeros(0,nvars); end if isempty(beq) beq = zeros(0,1); end 142 if ~isempty(options.OutputFcns) || ~isempty(options.PlotFcns) % For calling an OutputFcn, make an options object (to be updated % later) that can be passed in options.OutputPlotFcnOptions = optimoptions(@ga); options.OutputPlotFcnOptions = copyForOutputAndPlotFcn(options.OutputPlotFcnOptions,options); end % Call appropriate single objective optimization solver if ~isempty(intcon) [x,fval,exitFlag,output,population,scores] = gaminlp(FitnessFcn,nvars, ... Aineq,bineq,Aeq,beq,lb,ub,NonconFcn,intcon,options,output,Iterate); else switch (output.problemtype) case 'unconstrained' [x,fval,exitFlag,output,population,scores] = gaunc(FitnessFcn,nvars, ... options,output,Iterate); case {'boundconstraints', 'linearconstraints'} [x,fval,exitFlag,output,population,scores] = galincon(FitnessFcn,nvars, ... Aineq,bineq,Aeq,beq,lb,ub,options,output,Iterate); case 'nonlinearconstr' if strcmpi(options.NonlinConAlgorithm,'auglag') [x,fval,exitFlag,output,population,scores] = gacon(FitnessFcn,nvars, ... Aineq,bineq,Aeq,beq,lb,ub,NonconFcn,options,output,Iterate,type); else [x,fval,exitFlag,output,population,scores] = gapenalty(... FitnessFcn,nvars,Aineq,bineq,Aeq,beq,lb,ub, ... NonconFcn,[],options,output,Iterate,type); end end end 143 THUẬT TOÁN MÔ TẢ XÂY DỰNG VECTOR NÚT (KNOT VECTOR) VÀ HÀM CƠ SỞ B-SPLINE #include basis(c,t,npts,x,n) int c,npts; int x[]; float t; float n[]; { int nplusc; int i,k; float d,e; float temp[36]; nplusc = npts + c; /* printf("knot vector is \n"); for (i = 1; i <= nplusc; i++){ printf(" %d %d \n", i,x[i]); } printf("t is %f \n", t); */ /* calculate the first order basis functions n[i][1] */ for (i = 1; i<= nplusc-1; i++){ if (( t >= x[i]) && (t < x[i+1])) temp[i] = 1; else temp[i] = 0; 144 } /* calculate the higher order basis functions */ for (k = 2; k <= c; k++){ for (i = 1; i <= nplusc-k; i++){ if (temp[i] != 0) /* if the lower order basis function is zero skip the calculation */ d = ((t-x[i])*temp[i])/(x[i+k-1]-x[i]); else d = 0; if (temp[i+1] != 0) /* if the lower order basis function is zero skip the calculation */ e = ((x[i+k]-t)*temp[i+1])/(x[i+k]-x[i+1]); else e = 0; temp[i] = d + e; } } if (t == (float)x[nplusc]){ /* pick up last point */ temp[npts] = 1; } /* put in n array */ for (i = 1; i <= npts; i++) { n[i] = temp[i]; } } 145 THUẬT TOÁN MÔ TẢ KỸ THUẬT THIẾT KẾ NGƯỢC TRONG XÂY DỰNG DỮ LIỆU NUBS TỪ BẢNG TRỊ SỐ TUYẾN HÌNH #include "stdafx.h" #include "GA.h" #include "dlgFittingProcess.h" #include #include #include #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CdlgFittingProcess dialog CdlgFittingProcess::CdlgFittingProcess(CWnd* pParent /*=NULL*/) : CDialog(CdlgFittingProcess::IDD, pParent) { //{{AFX_DATA_INIT(CdlgFittingProcess) m_population = 50 ; m_length = 5; //}}AFX_DATA_INIT } void CdlgFittingProcess::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CdlgFittingProcess) 146 DDX_Text(pDX, IDC_EDIT1, m_population); DDX_Text(pDX, IDC_EDIT2, m_length); DDX_Control(pDX, IDC_MSHFLEXGRID2, m_grid2); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CdlgFittingProcess, CDialog) //{{AFX_MSG_MAP(CdlgFittingProcess) // NOTE: the ClassWizard will add message map macros here //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CdlgFittingProcess message handlers void CdlgFittingProcess::Refresh() { char strNum[80],strNum2[80],strNum3[10],strNum4[10]; int i; int a=0,b=1; m_grid2.Clear(); m_grid2.SetTextMatrix(0,0,"Individuals"); for (i = 1; i < 9; i++) { sprintf(strNum,"%d",i); m_grid2.SetTextMatrix(0,i,strNum); } for (i = 1; i < 51; i++) { sprintf(strNum2,"%d",i); m_grid2.SetTextMatrix(i,0,strNum2); } for (i = 1; i < 51; i++) { 147 sprintf(strNum3,"%d",a); m_grid2.SetTextMatrix(i,1,strNum3); } for (i = 1; i < 51; i++) { sprintf(strNum4,"%d",b); m_grid2.SetTextMatrix(i,8,strNum4); } } ///////////////////////////////////////////////////////////////////////////// BOOL CdlgFittingProcess::OnInitDialog() { CDialog::OnInitDialog(); int i,j,k; float random[51][8],a[51][8],b[51][8],temp; char str2[80]; m_grid2.SetRows(51); m_grid2.SetCols(9); Refresh(); for (i = 1; i < 51; i++) { for (j = 2; j < 8; j++) { a[i][j]=rand();b[i][j]=RAND_MAX; random[i][j] = a[i][j]/b[i][j]; } } 148 for (k = 1; k < 51; k++) { for (i = 2; i < 8; i++) { for (j = i+1; j < 8; j++) { if(random[k][i] > random[k][j]){ temp = random[k][i]; random[k][i] = random[k][j]; random[k][j] = temp; } } } } for (k = 1; k < 51; k++) { for (i = 2; i < 8; i++) { sprintf(str2,"%7.4f",random[k][i]); m_grid2.SetTextMatrix(k,i,str2); } } UpdateData(FALSE); return TRUE; } 149 THUẬT TOÁN MÔ TẢ XÂY DỰNG NUBS TỪ CÁC THÔNG SÔ VECTOR NÚT & ĐIỂM ĐIÈU KHIỂN clear all clc global p q nshl nsd mpts npts mcp ncp; global gcoord format long p=3; % degree of curve in u q=3; % degree of curve in v Degree = p; ngauss=Degree+2; % number of gauss point in integration nshl = (p+1)*(q+1); % number of local shape functions nsd=3; % number of spatial dimension %% %----------------INPUT DATA FOR PLATE-------------------------------- %Input data for number of control points in u, v direction ncp = 4; mcp = 15; nel=(mcp-Degree)*(ncp-Degree); % number of element pn = ncp*4; pm = mcp*4; filename = 'plate.txt'; [b_net,b] = input_surface(filename,mcp,ncp); [xsurf,ysurf,zsurf,Ksurf,Hsurf,u_knot,v_knot] = rbspsurf(b,Degree,Degree,ncp,mcp,pn,pm); % [K,H,Pmax,Pmin] = surfature(xn,yn,zn); color = zeros(pm,pn)+1; drawNUBS(b_net,xsurf,ysurf,zsurf,color) hold on 150 %----------------SURFACE AREA CALCULATION-------------------------------- [ien,inn]=Gen_Ien_Inn_2D(Degree,Degree,mcp,ncp); [areaP]=KmatNUBS2D(ngauss,nel,inn,ien,b_net,u_knot, v_knot); fprintf('AREA OF PLATE: %f.\n', areaP); clear ien inn b_net b xsurf ysurf zsurf Ksurf Hsurf u_knot v_knot %% hold on pm = mcp*4;
File đính kèm:
- luan_an_nghien_cuu_de_xuat_hinh_dang_tau_cho_container_phu_h.pdf
- 2. Phu luc Danh muc cac cong trinh nghien cuu - NCS NTNHoa.pdf
- 3.1. Tom tat LATS - NTNHoa - T.Viet.pdf
- 3.2. Tom tat LATS - NTNHoa - T.Anh.pdf
- 4.1. Thong tin tom tat LATS - NTNHoa - T.Viet.pdf
- 4.2. Thong tin tom tat LATS - NTNHoa - T.Anh.pdf
- 5.1. Trang thong tin nhung dong gop moi cua LATS - NTNHoa - T.Viet.pdf
- 5.2. Trang thong tin nhung dong gop moi cua LATS - NTNHoa - T.Anh.pdf