# 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)
Beispiel #3
0
# 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,
), )
Beispiel #4
0
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))
Beispiel #5
0
# --------------------------------------------------------------------

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)
Beispiel #6
0
# 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):
Beispiel #7
0
# 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)