Hi,

I have a question about source term affectation.
I want to solve a magnetostatic problem with a lot of magnets. I tried two
ways of affecting the source term of the magnets.
given a list of physical surfaces tags of the magnets, i tried these two
option

Case 1 : Affectation per solid

     for tag in magnet_physical_surfaces_tags :
               M_data_x=np.zeros((1,mfm.nb_basic_dof()))
               M_data_y=np.zeros((1,mfm.nb_basic_dof()))
               vect=mfm.basic_dof_on_region(tag)
               for j in range(len(vect)):
                       M_data_x[0, vect[j]]=Mx*1e3
                       M_data_y[0, vect[j]]=My*1e3

               md.add_initialized_fem_data('aimant_x'+str(tag), mfm,
M_data_x)
               md.add_initialized_fem_data('aimant_y' +str(tag)  , mfm,
M_data_y)
               md.add_source_term(mim,'[aimant_x' +str(tag)  +',aimant_y'
+str(tag)  +'].B(Test_u)',tag)

Case 2 : One Affectation for all the problem (to optimize computation time)

       M_data_x=np.zeros((1,mfm.nb_basic_dof()))
       M_data_y=np.zeros((1,mfm.nb_basic_dof()))
       for tag in magnet_physical_surfaces_tags :
               vect=mfm.basic_dof_on_region(tzg)
               for j in range(len(vect)):
                       M_data_x[0, vect[j]]=Mx*1e3
                       M_data_y[0, vect[j]]=My*1e3

       md.add_initialized_fem_data('aimant_x', mfm, M_data_x)
       md.add_initialized_fem_data('aimant_y', mfm, M_data_y)
       md.add_source_term(mim,'[aimant_x'+',aimant_y'+'].B(Test_u)',-1)

When I compare the results of both simulations I can't find the exact same
result. I would like some help to understand why there is an error between
both methods and if there is something I do wrong.

Thank you in advance,

I hope my mail was clear.

Best regards,

LB


np  = numpy
md  = model
mfm = meshFem

Reply via email to