# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with code_aster. If not, see <http://www.gnu.org/licenses/>. # -------------------------------------------------------------------- import code_aster from code_aster.Commands import * test = code_aster.TestCase() code_aster.init("--test") rank = code_aster.getMPIRank() Mesh2 = code_aster.Mesh() Mesh2.readMedFile("xxNotParallelMechanicalLoad001i.med") model = AFFE_MODELE(MAILLAGE = Mesh2, AFFE = _F(MODELISATION = "D_PLAN", PHENOMENE = "MECANIQUE", TOUT = "OUI",), DISTRIBUTION=_F(METHODE='CENTRALISE',),) char_cin = AFFE_CHAR_CINE(MODELE=model, MECA_IMPO=(_F(GROUP_NO="N2", DX=0.,DY=0.,DZ=0.,), _F(GROUP_NO="N4", DX=0.,DY=0.,DZ=0.,),),) char_meca = AFFE_CHAR_MECA(MODELE=model,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with code_aster. If not, see <http://www.gnu.org/licenses/>. # -------------------------------------------------------------------- import code_aster from code_aster.Commands import * code_aster.init("--test") test = code_aster.TestCase() monMaillage = code_aster.Mesh() monMaillage.readMedFile("test001f.mmed") monModel = code_aster.Model(monMaillage) monModel.addModelingOnMesh(code_aster.Physics.Mechanics, code_aster.Modelings.Tridimensional) monModel.build() YOUNG = 200000.0 POISSON = 0.3 acier = DEFI_MATERIAU(ELAS=_F( E=YOUNG, NU=POISSON, ), ) acier.debugPrint(6)
# but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with code_aster. If not, see <http://www.gnu.org/licenses/>. # -------------------------------------------------------------------- import code_aster from code_aster.Commands import * code_aster.init("--test") test = code_aster.TestCase() mesh = code_aster.Mesh() mesh.readMedFile("test001f.mmed") model = code_aster.Model(mesh) model.addModelingOnMesh(code_aster.Physics.Mechanics, code_aster.Modelings.Tridimensional) model.build() young = 200000.0 poisson = 0.3 acier = DEFI_MATERIAU(ELAS=_F( E=young, NU=poisson, ), )
import code_aster from code_aster.Commands import * code_aster.init("--test") test = code_aster.TestCase() #parallel=False parallel = True if parallel: rank=code_aster.getMPIRank() MAIL = code_aster.ParallelMesh() MAIL.readMedFile("xxFieldsplit001a/%d.med"%rank, True) else: MAIL = code_aster.Mesh() MAIL.readMedFile("xxFieldsplit001a.mmed") MODELE = AFFE_MODELE( AFFE=_F(MODELISATION='3D_THM', PHENOMENE='MECANIQUE', TOUT='OUI'), MAILLAGE=MAIL, DISTRIBUTION=_F(METHODE='CENTRALISE'), ) # # ################################### # LISTE DES INSTANTS DE CALCUL # ################################### LI = DEFI_LIST_REEL(DEBUT=0.0, INTERVALLE=_F(JUSQU_A=100.0, NOMBRE=2))
# -------------------------------------------------------------------- import code_aster from code_aster.Commands import * code_aster.init("--test") test = code_aster.TestCase() MAT=DEFI_MATERIAU(ELAS = _F(RHO = 7.8E03, NU = 0.3, E = 2.1E11, AMOR_ALPHA = 1.6E-5, AMOR_BETA = 16.,),) MAYA=code_aster.Mesh() MAYA.readMedFile('xxModalMechanics001a.med') test.assertEqual(MAYA.getType(), "MAILLAGE_SDASTER") CHMAT=AFFE_MATERIAU(MAILLAGE = MAYA, AFFE = _F(TOUT = 'OUI', MATER = MAT,),) POVOL=AFFE_MODELE(MAILLAGE = MAYA, AFFE=_F(TOUT = 'OUI', MODELISATION = '3D', PHENOMENE = 'MECANIQUE',),) imposedPres1 = code_aster.PressureReal() imposedPres1.setValue( code_aster.PhysicalQuantityComponent.Pres, 500000. ) PRESSION = code_aster.DistributedPressureReal(POVOL)
# but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with code_aster. If not, see <http://www.gnu.org/licenses/>. # -------------------------------------------------------------------- import code_aster code_aster.init("--test") test = code_aster.TestCase() # Creation du maillage monMaillage = code_aster.Mesh() # test de relecture d'un fichier Gmsh monMaillage.readGmshFile("ssnv187a.msh") # test du format Gibi mtest = code_aster.Mesh() mtest.readGibiFile("zzzz364a.mgib") coord = monMaillage.getCoordinates() # check readonly access print("coord[3] ", coord[3]) test.assertEqual(coord[3], 1.0) with test.assertRaises(TypeError):
# GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with code_aster. If not, see <http://www.gnu.org/licenses/>. # -------------------------------------------------------------------- import code_aster import numpy as np code_aster.init("--test") # check Mesh object API test = code_aster.TestCase() # from MED format mesh = code_aster.Mesh() mesh.readMedFile("test001f.mmed") test.assertFalse(mesh.isParallel()) test.assertEqual(mesh.getDimension(), 3) test.assertEqual(mesh.getNumberOfNodes(), 27) test.assertEqual(mesh.getNumberOfCells(), 56) # test groups # do the same thing (compatibily with ParallelMesh) test.assertSequenceEqual( sorted(mesh.getGroupsOfNodes()), ['A', 'B', 'Bas', 'C', 'D', 'E', 'F', 'G', 'H', 'Haut']) test.assertSequenceEqual(sorted(mesh.getGroupsOfNodes()), sorted(mesh.getGroupsOfNodes(True))) test.assertSequenceEqual(sorted(mesh.getGroupsOfNodes()),
import code_aster from code_aster.Commands import * import os test = code_aster.TestCase() code_aster.init("--test") nProc = code_aster.getMPINumberOfProcs() parallel = (nProc > 1) if (parallel): MAIL = code_aster.ParallelMesh() MAIL.readMedFile("xxParallelTHM001a/%d.med" % rank, True) else: MAIL_LIN = code_aster.Mesh() MAIL_LIN.readMedFile("petsc04a.mmed") MAIL = CREA_MAILLAGE( LINE_QUAD=_F( TOUT='OUI', PREF_NOEUD='X', ), MAILLAGE=MAIL_LIN, ) MODELE = AFFE_MODELE(AFFE=_F(MODELISATION='3D_THM', PHENOMENE='MECANIQUE', TOUT='OUI'), MAILLAGE=MAIL)