How can i make the thickness of a pipe from Nastran in Matlab variable?

2 views (last 30 days)
As shown this pipe are made of CQUAD4 elements and all have the same material properties PSHELL (PID 5101060) which contains how thick it should be.
CQUAD4 5102048 5101060 5105380 5105385 5105135 5105213
CQUAD4 5102049 5101060 5105135 5104645 5104825 5104974
CQUAD4 5102050 5101060 5105385 5105387 5104645 5105135
CQUAD4 5102051 5101060 5105184 5104510 5105115 5104974
CQUAD4 5102052 5101060 5105143 5105184 5104974 5104825
CQUAD4 5102053 5101060 5105213 5104460 5105382 5105380
CQUAD4 5102054 5101060 5105115 5104565 5104460 5105213
CQUAD4 5102055 5101060 5104510 5104081 5104565 5105115
$$
$$ Properties
$
PSHELL 510106096069001 3.496069001 96069001
MAT1 9606900172000.0 0.33 2.8-9
I want to make this pipe to have different thickness at different position instead of equally thick everywhere. My first thought was to create as many PSHELL properties as CQUAD4 elements. And thickness in PSHELL properties are set as variable, which could be replaced with different values. Then every properties ID will be reassigned to each CQUAD4 elements. This way i can take a function for example y = x and replace variables with value from y =x and have a pipe with increasing thickness. But in this case elements on the same cross section would have different thickness, which is not what i want. What should i do?

Answers (1)

Saksham
Saksham on 22 Aug 2023
Hi Jiahong
I understand you wish to create a pipe in MATLAB having different thickness at different positions.
Below is a sample code to demonstrate how pipe of variable thickness can be created in MATLAB:
% Define pipe parameters
length = 5; % Length of the pipe
% Define thickness parameters
innerRadius = 1; % Inner radius of the pipe
outerRadius = 2; % Outer radius of the pipe
% Generate surface points
theta = linspace(0, 2*pi, 100); % Angular coordinates
z = linspace(0, length, 100); % Axial coordinates
[theta, z] = meshgrid(theta, z); % Create meshgrid
% Calculate radius at each point along the length
radius = innerRadius + (outerRadius - innerRadius) * z / length;
% Calculate x and y coordinates
x = radius .* cos(theta); % X-coordinates
y = radius .* sin(theta); % Y-coordinates
% Plot the pipe's surface
surf(x, y, z);
axis equal; % Set equal aspect ratios
xlabel('X');
ylabel('Y');
zlabel('Z');
title('Pipe Visualization');
I hope the above code will be helpful to you.
Sincerely,
Saksham

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!