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”.

pdf 168 trang chauphong 16/08/2022 11220
Bạn đang xem 20 trang mẫu của 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

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

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:

  • pdfluan_an_nghien_cuu_de_xuat_hinh_dang_tau_cho_container_phu_h.pdf
  • pdf2. Phu luc Danh muc cac cong trinh nghien cuu - NCS NTNHoa.pdf
  • pdf3.1. Tom tat LATS - NTNHoa - T.Viet.pdf
  • pdf3.2. Tom tat LATS - NTNHoa - T.Anh.pdf
  • pdf4.1. Thong tin tom tat LATS - NTNHoa - T.Viet.pdf
  • pdf4.2. Thong tin tom tat LATS - NTNHoa - T.Anh.pdf
  • pdf5.1. Trang thong tin nhung dong gop moi cua LATS - NTNHoa - T.Viet.pdf
  • pdf5.2. Trang thong tin nhung dong gop moi cua LATS - NTNHoa - T.Anh.pdf