From fab402012500fbeb44eee1f2e89e9f825af81df7 Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 18 Nov 2020 13:30:28 +0100 Subject: [PATCH] =?utf8?q?Exemple=20d'=C3=A9tude=20pour=20l'assembl=C3=A9e?= =?utf8?q?=20g=C3=A9n=C3=A9rale=20STMF?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- CoreFlows/examples/Python/CMakeLists.txt | 1 + ...inglePhase_2DSphericalExplosion_HEXAGON.py | 85 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100755 CoreFlows/examples/Python/SinglePhase/SinglePhase_2DSphericalExplosion_HEXAGON.py diff --git a/CoreFlows/examples/Python/CMakeLists.txt b/CoreFlows/examples/Python/CMakeLists.txt index 5cbb0bd..7fe76f6 100755 --- a/CoreFlows/examples/Python/CMakeLists.txt +++ b/CoreFlows/examples/Python/CMakeLists.txt @@ -126,6 +126,7 @@ CreatePythonTest(SinglePhase/SinglePhase_2DPoiseuilleFlow.py) CreatePythonTest(SinglePhase/SinglePhase_2DPoiseuilleFlow_restart.py) CreatePythonTest(SinglePhase/SinglePhase_2DPoiseuilleFlow_outputFields.py) CreatePythonTest(SinglePhase/SinglePhase_2DSphericalExplosion_unstructured.py) +CreatePythonTest(SinglePhase/SinglePhase_2DSphericalExplosion_HEXAGON.py) CreatePythonTest(SinglePhase/SinglePhase_2DHeatedChannelInclined.py) CreatePythonTest(SinglePhase/SinglePhase_2DThermalDiffusion.py) CreatePythonTest(SinglePhase/SinglePhase_2DWallHeatedChannel_ChangeSect.py) diff --git a/CoreFlows/examples/Python/SinglePhase/SinglePhase_2DSphericalExplosion_HEXAGON.py b/CoreFlows/examples/Python/SinglePhase/SinglePhase_2DSphericalExplosion_HEXAGON.py new file mode 100755 index 0000000..cb7943b --- /dev/null +++ b/CoreFlows/examples/Python/SinglePhase/SinglePhase_2DSphericalExplosion_HEXAGON.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +# -*-coding:utf-8 -* + +import CoreFlows as cf +import cdmath + + +def SinglePhase_2DSphericalExplosion_HEXAGON(): + + inputfile="./resources/meshHexagonWithTriangles10.med"; + my_mesh=cdmath.Mesh(inputfile); + spaceDim=2 + + # Initial field data + nVar=2+spaceDim; + radius=0.5; + Center=cdmath.Vector(spaceDim);#default value is (0,0,0) + Vout=cdmath.Vector(nVar) + Vin =cdmath.Vector(nVar) + Vin[0]=155e5; + Vin[1]=0; + Vin[2]=0; + Vin[3]=563; + Vout[0]=154e5; + Vout[1]=0; + Vout[2]=0; + Vout[3]=563; + + myProblem = cf.SinglePhase(cf.Liquid,cf.around155bars600K,spaceDim); + + # Initial field creation + print ("Setting mesh and initial data" ) ; + myProblem.setInitialFieldSphericalStepFunction( my_mesh, Vout, Vin, radius, Center); + + # set the boundary conditions + wallVelocityX=0; + wallVelocityY=0; + wallTemperature=563; + + myProblem.setWallBoundaryCondition("boundaries", wallTemperature, wallVelocityX, wallVelocityY); + + # set the numerical method + myProblem.setNumericalScheme(cf.upwind, cf.Explicit); + + # name file save + fileName = "2DSphericalExplosion_HEXAGON"; + + # parameters calculation + MaxNbOfTimeStep = 3 ; + freqSave = 5; + cfl = 0.49; + maxTime = 5; + precision = 1e-6; + + myProblem.setCFL(cfl); + myProblem.setPrecision(precision); + myProblem.setMaxNbOfTimeStep(MaxNbOfTimeStep); + myProblem.setTimeMax(maxTime); + myProblem.setFreqSave(freqSave); + myProblem.setFileName(fileName); + myProblem.setNewtonSolver(precision,20); + myProblem.saveConservativeField(False); + if(spaceDim>1): + myProblem.saveVelocity(); + pass + + + # evolution + myProblem.initialize(); + + ok = myProblem.run(); + if (ok): + print( "Simulation python " + fileName + " is successful !" ); + pass + else: + print( "Simulation python " + fileName + " failed ! " ); + pass + + print( "------------ End of calculation !!! -----------" ); + + myProblem.terminate(); + return ok + +if __name__ == """__main__""": + SinglePhase_2DSphericalExplosion_HEXAGON() -- 2.39.2