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

