Hi,
I want to make a bit strange bricks but do not know how to do it. The fig shows how bricks look like:
Right side of the top brick (black one) is longer than the left side which makes lower surface tilted. The red brick is also bellow black one and its upper surface is following the tilted top surface of black one. In cubit I only could rotate bricks which does not give me what I needed:
reset
brick x 100 y 50 z 40
brick x 100 y 50 z 20
move Volume 1 z -20 include_merged
move Volume 2 z -50 include_merged
rotate volume all angle 10 about Y include_merged
mesh volume all
The rotate function tilts the upper and lower surfaces of the domain while i want to keep them horizontal.
Thanks for your help.
Life will be much easier if I make a big brick and then webcut
it via a rotated surface, like this script:
reset
brick x 100 y 50 z 100
create surface rectangle width 150 height 50 zplane
rotate Surface 7 angle 10 about Y include_merged
webcut volume 1 with plane from surface 7
subtract Surface 7 from volume 1
imprint all
merge all
volume all size auto factor 3
mesh volume all
you could also cut with a general plane
reset
brick x 100 y 50 z 100
webcut volume all with general plane location 0 0 0 direction 0 0 1 rotate Ay 10
imprint all
merge all
volume all size auto factor 3
mesh volume all
Thanks a lot for the efficient solution. Is it possible to add some line to the model and include them in the mesh. I updated the script to be:
reset
brick x 100 y 50 z 100
create curve location -10 0 20 location -10 0 -30
create curve location 10 0 20 location 10 0 -30
webcut volume all with general plane location 0 0 -20 direction 0 0 1 rotate Ay 10
webcut volume all with general plane location 0 0 0 direction 0 0 1 rotate Ay 10
imprint all
merge all
volume all size auto factor 3
mesh volume all
As you see I have two curves in it but curves are not parts of the mesh. I tried to webcut the line with surface (!) but it obviously did not work. In the final mesh I should have 3 volumes and in each volume parts of the lines should exist.
I can open another Topic if my request is too much as an extra question to the main one.
Thanks for your time.
Do you need the mesh from the volumes connected or overlapping with the mesh from the curves?
To mesh the curves you need
mesh curve all
to “cut” or split the curve with a surface you can do something like this
split curve 13 crossing surface 17
Thanks again for your help.
I want to split the curve 13 with two surfaces which will make three new curves for me. I want to repeat it for curve 14. Then I want each part of the curve to be embedded in the related volume. For example each volume will have to lines inside itself. In the last step I want to do some refinement around each line.
Sorry if I listed too many things in one single request.
What I could do is the following:
reset
brick x 100 y 50 z 100
create curve location -10 0 20 location -10 0 -30
create curve location 10 0 20 location 10 0 -30
webcut volume all with general plane location 0 0 -20 direction 0 0 1 rotate Ay 10
webcut volume all with general plane location 0 0 0 direction 0 0 1 rotate Ay 10
split curve 13 14 crossing surface 17
split curve 48 50 crossing surface 12 # but i needed to look for the new line numbers!
imprint all
merge all
mesh volume all
I am still not sure what you would like to export and compute later.
Do you just want to have a nodeset for each curve to define bcs or loads on it or do you need something like beam elements for each curve and have some kind of interaction between the beams and solid elements? Are the volumes connected or do you need overlapping nodes?
Thanks again for being so supportive.
I need the mesh for such a simulation: two 1D beams (represented as curves) are set into three different blocks. I will have temperature BC on beams and want to see how temperature will be conducted in the matrix. For example the upper matrix will be steel, the middle is water and lower one is wood. Therefore, I need the following requirements for my mesh:
- it should be refined around the beam (lines) to transfer the heat correctly from the BC to matrix.
- The nodes of the 1D line should be connected to the matrix to transfer the heat from it into the matrix, otherwise the temperature only remain in the beam and does not propagate into matrix.
thanks again for your help.
Okay that sounds like a normal heat transfer simulation and you don’t aim on a conjugated heat transfer problem, where you must couple the beams and volumes via an interface procedure.
so basically you would need nodesets, that represents the beams in the volumes to define your temperatures on the beams as bc’s.
you can do that with a view webcuts, then mesh and refine with the curves. then you can put your 3 volumes each in a block and make nodeset for the beams and for all nodes for initial conditions and bc’s.
reset
brick x 100 y 50 z 100
webcut volume all with general plane location 0 0 -20 direction 0 0 1 rotate Ay 10
webcut volume all with general plane location 0 0 0 direction 0 0 1 rotate Ay 10
#create curve location -10 0 20 location -10 0 -30
#create curve location 10 0 20 location 10 0 -30
webcut volume all with plane xplane offset -10
webcut volume all with plane xplane offset 10
webcut volume all with plane yplane
webcut volume all with plane zplane offset 20
webcut volume all with plane zplane offset -30
imprint all
merge all
mesh volume all
#refine beam 1
refine curve 315 221 403 numsplit 1 bias 1.0 depth 1 smooth
#refine beam 2
refine curve 388 173 297 numsplit 1 bias 1.0 depth 1 smooth
block 1 add volume 4 7 1 20 21 19 23 13 16 10 24 22
block 2 add volume 3 9 6 12 18 15
block 3 add volume 14 17 11 28 30 29 26 27 25 5 8 2
block all element type hex20
nodeset 1 add curve 315 221 403
nodeset 1 name "beam_1"
nodeset 2 add curve 388 173 297
nodeset 2 name "beam_2"
nodeset 3 add node all
nodeset 3 name "all_nodes"
doing a quick try with calculix produces colorful pictures like this one
Thanks for your help.
It is exactly what I needed but to be honest I did not expect this level of complexity for a routine meshing problem. Based on your solution I need to make 30 volumes.
Thanks again for dedicating so much time to my problem.