Plotting Random Geometry on Comsol Live link with Matlab.

4 views (last 30 days)
I am working on Comsol Live Link for Matlab. I am trying to plot random circles in a certain range without overlapping. I am able to plot the circles however the circles will overlap and I can't find a solution for that. Please see the code below.
clc
model = ModelUtil.create('Model2');
geom1 = model.geom.create('geom1', 2);
r=1;C1=2;C2=2;C3=1; %matlab variables
model.param.set('r',r,'radius');
model.param.set('C1',C1,'coordinate of center');
model.param.set('C2',C2,'coordinate of center');
%model.param.set('C3',C3,'coordinate of center');
prompt= 'Enter the value N \n';
N=10; %input(prompt);%This may vary based on user input
for j=1:1:N
tag=model.geom('geom1').feature().uniquetag('sph');
model.geom('geom1').feature().create(tag,'Circle');
model.geom('geom1').feature(tag).set('r', r);
model.geom('geom1').run(tag);
r=r+(5-r).*rand(1,1)
end
for j=1:1:N
model.geom('geom1').feature(tag).set('pos', [C1 C2]);
C1=C1+(5-C1).*rand(1,1)+r
C2=(C2+(5-C1).*rand(1,1))+r
model.geom('geom1').run(tag);
end
model.label('Model2.mph');
mphgeom(model)
  1 Comment
Charles Dorchester
Charles Dorchester on 4 Nov 2020
Hi Iqbal,
I'm curious if you ever found a solution to this? I am currently searching through forums on how to do this exact process.

Sign in to comment.

Answers (1)

Trung Hoang Dinh
Trung Hoang Dinh on 11 Jan 2020
Dear Mr. Iqbal
I am also usinh Matlab to generate geometry for COMSOL. However, when I export the mph file, it is empty. That means the code I downloaded from inter it is not linked to the model. Could you let me know how you linked your code to model?
Thank you very much.

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!