Good morning,
I want to write this block of code using a FOR loop in the comm. file.
The parameters N1, N2... are stored in a vector called ‘nodes’ that I know (vector of strings)
meshMOD = CREA_MAILLAGE(
CREA_POI1=(
_F(GROUP_NO='Nodo_N1', NOM_GROUP_MA='NodoN1'),
_F(GROUP_NO='Nodo_N2', NOM_GROUP_MA='NodoN2'),
_F(GROUP_NO='Nodo_N3', NOM_GROUP_MA='NodoN3'),
_F(GROUP_NO='Nodo_N4', NOM_GROUP_MA='NodoN4'),
_F(GROUP_NO='Nodo_N5', NOM_GROUP_MA='NodoN5'),
_F(GROUP_NO='Nodo_N6', NOM_GROUP_MA='NodoN6'),
_F(GROUP_NO='Nodo_N7', NOM_GROUP_MA='NodoN7'),
_F(GROUP_NO='Nodo_N8', NOM_GROUP_MA='NodoN8'),
_F(GROUP_NO='Nodo_N9', NOM_GROUP_MA='NodoN9'),
_F(GROUP_NO='Nodo_N10', NOM_GROUP_MA='NodoN10'),
_F(GROUP_NO='Nodo_N11', NOM_GROUP_MA='NodoN11'),
_F(GROUP_NO='Nodo_N12', NOM_GROUP_MA='NodoN12'),
_F(GROUP_NO='Nodo_N13', NOM_GROUP_MA='NodoN13'),
_F(GROUP_NO='Nodo_N14', NOM_GROUP_MA='NodoN14'),
_F(GROUP_NO='Nodo_N15', NOM_GROUP_MA='NodoN15'),
_F(GROUP_NO='Nodo_N16', NOM_GROUP_MA='NodoN16'),
_F(GROUP_NO='Nodo_N17', NOM_GROUP_MA='NodoN17'),
_F(GROUP_NO='Nodo_N18', NOM_GROUP_MA='NodoN18'),
_F(GROUP_NO='Nodo_N19', NOM_GROUP_MA='NodoN19'),
_F(GROUP_NO='Nodo_N20', NOM_GROUP_MA='NodoN20'),
_F(GROUP_NO='Nodo_N21', NOM_GROUP_MA='NodoN21'),
_F(GROUP_NO='Nodo_N22', NOM_GROUP_MA='NodoN22'),
_F(GROUP_NO='Nodo_N23', NOM_GROUP_MA='NodoN23'),
_F(GROUP_NO='Nodo_N24', NOM_GROUP_MA='NodoN24'),
_F(GROUP_NO='Nodo_N25', NOM_GROUP_MA='NodoN25'),
_F(GROUP_NO='Nodo_N26', NOM_GROUP_MA='NodoN26'),
_F(GROUP_NO='Nodo_N27', NOM_GROUP_MA='NodoN27'),
_F(GROUP_NO='Nodo_N28', NOM_GROUP_MA='NodoN28'),
_F(GROUP_NO='Nodo_N29', NOM_GROUP_MA='NodoN29'),
_F(GROUP_NO='Nodo_N30', NOM_GROUP_MA='NodoN30'),
_F(GROUP_NO='Nodo_N31', NOM_GROUP_MA='NodoN31'),
_F(GROUP_NO='Nodo_N32', NOM_GROUP_MA='NodoN32'),
_F(GROUP_NO='Nodo_N33', NOM_GROUP_MA='NodoN33'),
_F(GROUP_NO='Nodo_N34', NOM_GROUP_MA='NodoN34'),
_F(GROUP_NO='Nodo_N35', NOM_GROUP_MA='NodoN35'),
_F(GROUP_NO='Nodo_N36', NOM_GROUP_MA='NodoN36'),
_F(GROUP_NO='Nodo_N37', NOM_GROUP_MA='NodoN37'),
_F(GROUP_NO='Nodo_N38', NOM_GROUP_MA='NodoN38'),
_F(GROUP_NO='Nodo_N39', NOM_GROUP_MA='NodoN39'),
_F(GROUP_NO='Nodo_N40', NOM_GROUP_MA='NodoN40'),
_F(GROUP_NO='Nodo_N41', NOM_GROUP_MA='NodoN41'),
_F(GROUP_NO='Nodo_N42', NOM_GROUP_MA='NodoN42'),
_F(GROUP_NO='Nodo_N43', NOM_GROUP_MA='NodoN43'),
_F(GROUP_NO='Nodo_N44', NOM_GROUP_MA='NodoN44'),
),
MAILLAGE=mesh)
I tried this way, but it does not work because the meshMOD variable is repeated
for nodo in nodi:
meshMOD = CREA_MAILLAGE(
CREA_POI1=(
F(GROUP_NO='Nodo{nodo}', NOM_GROUP_MA='Nodo{nodo}'),
),
MAILLAGE=mesh
)
I thought of creating this code where a dynamically named mesh is created and savede in a list.
Then I go and merge the meshes created
mesh_dict = {}
for nodo in nodi:
mesh_dict[f'Mesh{nodo}'] = f"""
{f'Mesh{nodo}'} = CREA_MAILLAGE(
CREA_POI1=(
F(GROUP_NO='Nodo{nodo}', NOM_GROUP_MA='Nodo{nodo}'),
),
MAILLAGE=mesh
)
"""
Lista_Mesh.append(mesh_dict[f'Mesh_{nodo}'])
meshMOD = Lista_Mesh[0]
print(Lista_Mesh)
for i in range(1, len(Lista_Mesh)):
meshMOD = ASSE_MAILLAGE(
MAILLAGE_1=meshMOD,
MAILLAGE_2=Lista_Mesh,
OPERATION='SUPERPOSE'
)
Even this way it does not work
Can you help me?
thanks