]> SALOME platform Git repositories - tools/solverlab.git/blob
Salome HOME
a66d8cdddbb38c86cb921be828e1fa50a811fa43
[tools/solverlab.git] /
1 #!/usr/bin/env python
2 # -*-coding:utf-8 -*
3 #===============================================================================================================================
4 # Name        : Résolution EF de l'équation de Laplace 3D -\Delta T = 0 avec conditions aux limites de Dirichlet u non nulle (fenetre et radiateur)
5 # Authors     : Michaël Ndjinga, Sédrick Kameni Ngwamou
6 # Copyright   : CEA Saclay 2019
7 # Description : Utilisation de la méthode des éléménts finis P1 avec champs u discrétisés aux noeuds d'un maillage tétraédrique
8 #               Condition limites correspondant au refroidissement dû à une fenêtre et au chauffage dû à un radiateur
9 #                               Création et sauvegarde du champ résultant ainsi que du champ second membre en utilisant la librairie CDMATH
10 #================================================================================================================================
11
12 import CoreFlows as cf
13 import cdmath
14
15 def StationaryDiffusionEquation_3DEF_RoomCooling():
16         spaceDim = 3;
17         
18         #Chargement du maillage tétraédrique du domaine
19         #==============================================
20         my_mesh = cdmath.Mesh("../resources/RoomWithTetras2488.med")
21         
22         print "Loaded unstructured 3D mesh"
23         
24         #Conditions limites
25         Tmur=20
26         Tfenetre=0
27         Tradiateur=40
28
29         FEComputation=True
30         myProblem = cf.StationaryDiffusionEquation(spaceDim,FEComputation);
31         myProblem.setMesh(my_mesh);
32         
33         myProblem.setDirichletBoundaryCondition("Fenetre",Tfenetre)
34         myProblem.setDirichletBoundaryCondition("Radiateur_sous_fenetre",Tradiateur)
35         myProblem.setDirichletBoundaryCondition("Radiateur_Devant",Tmur)
36         myProblem.setDirichletBoundaryCondition("Radiateur_droit",Tmur)
37         myProblem.setDirichletBoundaryCondition("Murs",Tmur)
38
39     # name of result file
40         fileName = "StationnaryDiffusion_3DEF_UnstructuredTetrahedra";
41
42     # computation parameters
43         myProblem.setFileName(fileName);
44
45     # Run the computation
46         myProblem.initialize();
47         print("Running python "+ fileName );
48
49         ok = myProblem.solveStationaryProblem();
50         if (not ok):
51                 print( "Python simulation of " + fileName + "  failed ! " );
52                 pass
53         else:
54                 print( "Python simulation of " + fileName + "  successful ! " );
55                 pass
56
57         myProblem.terminate();
58         return ok
59
60 if __name__ == """__main__""":
61     StationaryDiffusionEquation_3DEF_RoomCooling()