Dear Andriy,

Thank you for your quick answer,
Unfortunately, my mesh is not axisymmetric. I need to take into account the 2D 
shape of my mesh.
My question was about the ways of applying centrifugal force on it.
But here may be one solution : I just noticed that if I use the standard source 
term brick I can apply all the forces I previously calculated on the nodes in 
only one step!
But I don't understand why the applied force resulting is so low.

gf_model_set(md, 'add initialized fem data', 'VolumicData', 
mfd,[Fx_On_nodes,Rotor.Fy_On_nodes]  );
gf_model_set(md, 'add source term brick', mim, 'u', ['VolumicData']);

Do you have any idea ? Or another way to do so ?

Thank you again for your help,

Simon


De : Andriy Andreykiv [mailto:andriy.andrey...@gmail.com]
Envoyé : jeudi 1 février 2018 16:34
À : SIMON AMEYE - U510180 <simon.am...@mpsa.com>
Cc : getfem-users@nongnu.org; philippe.marchne...@gmail.com
Objet : Re: [Getfem-users] Centrifugal force

>>> Real sender address / Reelle adresse d expedition : 
>>> andriy.andrey...@gmail.com<mailto:andriy.andrey...@gmail.com> <<<
________________________________
Dear Simon,

I think one way to greatly speed up your program is to take into account the 
axi-symmetry of your problem.
Getfem fully supports it. That would mean that you can reduce your 2D problem 
to 1D.
You can create a simple line mesh, but using a type torus_mesh and subsequently 
create torus_mesh_fem on it.
Then you need to apply your force on a single edge/point of your mesh.

Best regards,
                        Andriy

On 1 February 2018 at 08:35, SIMON AMEYE 
<simon.am...@mpsa.com<mailto:simon.am...@mpsa.com>> wrote:
Hi all,

I am asking for help again about my computation, that now works fine thanks to 
you, but slowly.
My 2D mesh represents a part that is spinning around a point (0,0).
To considerate the centrifugal force, I now calculate the area of each element, 
and apply a force using "source term brick" on its boundaries.
The problem is that add 2000 sources terms for 2000 elements is slow.
Do you have any idea of which brick I need to use to set the force in one step ?
The centrifugal force is described this way : " F=constant*R " where R is the 
distance between the rotation point and the element.

To get an idea about my actual code, here it is :


Setting all the regions by locating the faces
for i = 1:NumberOfElements
ftri_rand = get(rot_mesh,'faces from cvid',(i+1));
rot_mesh.set_region(i, ftri_rand);
end

Applying a force on each region
for i = 1: NumberOfElements
gf_model_set(md, 'add initialized data', ['VolumicData' num2str(i)], 
[Fx_tri(i), Fy_tri(i)]./Perimeter(i));
gf_model_set(md, 'add source term brick', mim, 'u', ['VolumicData' num2str(i)], 
i);
end

Thank you again for your help,

Simon Ameye


[cid:image001.png@01D193D3.0D03A420]


SIMON AMEYE
DQI/DRIA/DSTF/SEPC
Apprenti IFP School
________________________________
CENTRE TECHNIQUE VELIZY A /





Reply via email to