Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
LMGC90 primer
2012
Cal@MITeam
vendredi 14 septembre 2012
What is LMGC90 ?
vendredi 14 septembre 2012
What is LMGC90 ?An open platform dedicated to the modeling of large collection of interacting objects (2D/3D) with complex mechanical behavior.
vendredi 14 septembre 2012
What is LMGC90 ?An open platform dedicated to the modeling of large collection of interacting objects (2D/3D) with complex mechanical behavior.
A modeling framework:
vendredi 14 septembre 2012
What is LMGC90 ?An open platform dedicated to the modeling of large collection of interacting objects (2D/3D) with complex mechanical behavior.
A modeling framework:
bulk behaviors (rigid, deformable, etc)
vendredi 14 septembre 2012
What is LMGC90 ?An open platform dedicated to the modeling of large collection of interacting objects (2D/3D) with complex mechanical behavior.
A modeling framework:
bulk behaviors (rigid, deformable, etc)
object shapes (disk/sphere, polygon/polyhedra, etc)
vendredi 14 septembre 2012
What is LMGC90 ?An open platform dedicated to the modeling of large collection of interacting objects (2D/3D) with complex mechanical behavior.
A modeling framework:
bulk behaviors (rigid, deformable, etc)
object shapes (disk/sphere, polygon/polyhedra, etc)
interaction laws (contact, friction, cohesion, etc)
vendredi 14 septembre 2012
What is LMGC90 ?An open platform dedicated to the modeling of large collection of interacting objects (2D/3D) with complex mechanical behavior.
A modeling framework:
bulk behaviors (rigid, deformable, etc)
object shapes (disk/sphere, polygon/polyhedra, etc)
interaction laws (contact, friction, cohesion, etc)
multiple-physics and couplings (thermal, fluid, porous)
vendredi 14 septembre 2012
What is LMGC90 ?An open platform dedicated to the modeling of large collection of interacting objects (2D/3D) with complex mechanical behavior.
A modeling framework:
bulk behaviors (rigid, deformable, etc)
object shapes (disk/sphere, polygon/polyhedra, etc)
interaction laws (contact, friction, cohesion, etc)
multiple-physics and couplings (thermal, fluid, porous)
An analysis framework with various strategies (md, cd, etc.)
vendredi 14 septembre 2012
What for ?
vendredi 14 septembre 2012
What for ?
Granular Materials
vendredi 14 septembre 2012
What for ?
Granular Materials
Masonry
vendredi 14 septembre 2012
What for ?
Granular Materials
Masonry
Fractured RockMass
vendredi 14 septembre 2012
What for ?
Granular Materials
Masonry
Fractured RockMass
Multiple physics
vendredi 14 septembre 2012
What for ?
Granular Materials
Masonry
Fractured RockMass
Multiple physics
etc ...
vendredi 14 septembre 2012
Modeling frameworkDecoupling of the various parts of the model.
vendredi 14 septembre 2012
Modeling frameworkDecoupling of the various parts of the model.
Bulk model (m,I or FE model)
vendredi 14 septembre 2012
Modeling frameworkDecoupling of the various parts of the model.
Contactor
Bulk model (m,I or FE model)
vendredi 14 septembre 2012
Modeling frameworkDecoupling of the various parts of the model.
Contactor
Interaction
Bulk model (m,I or FE model)
vendredi 14 septembre 2012
Modeling frameworkDecoupling of the various parts of the model.
Contactor
Interaction
Bulk model (m,I or FE model)
A contactor maps interaction variables to bulk models variables
vendredi 14 septembre 2012
Modeling frameworkDecoupling of the various parts of the model.
Contactor
Interaction
Bulk model (m,I or FE model)
Contact detection between 2 contactors generates interactions: => contact locus, local frame, gap, H(q), etc
A contactor maps interaction variables to bulk models variables
vendredi 14 septembre 2012
Modeling frameworkDecoupling of the various parts of the model.
Contactor
Interaction
Bulk model (m,I or FE model)
A complex shape may be defined as a compound of contactors
Contact detection between 2 contactors generates interactions: => contact locus, local frame, gap, H(q), etc
A contactor maps interaction variables to bulk models variables
vendredi 14 septembre 2012
BULK BEHAVIOR
rigid (q,R), and quasi-rigid (q,R + shape dofs)
deformable: FEM model, - rigid | small def. | corotational | large def. - linear or non linear material (uses MatLib)other possibilities: meshless, lattice, etc
using external FEM software is possible:PELICANS, Code_Aster.
Couplings with other physics are possible: thermal effects, fluid-particles mixture, etc
vendredi 14 septembre 2012
2D shapes of contactors
disk (DISKx), pneumatic disk (DISPx),disk on a mesh edge (DISKl)
hollow disk (xKSID), pneumatic hollow disk (xPSID)
wall (JONCx)
convex polygon (POLYG)
point (PT2Dx), point on a mesh edge (CLxxx, PT2Dl)
poly-line (ALpxx)
vendredi 14 septembre 2012
3D shapes of contactors
Sphere (SPHER)
Cylinder (CYLND), Hollow cylinder (DNLYC)
Plane (PLANx)
Pill (CYLND)
Polyhedron (POLYR|POLYF|POLYD)
Point (PT3Dx), Point on a mesh surface (CSxx3,CSxx4)
patch on a mesh (ASpx3, ASpx4)
vendredi 14 septembre 2012
Contact detection
broad detection: computes neighborhood=> SBB + cells, AABB
narrow detection: eliminates simple case=> sat, shadow overlap
fine detection=> direct, common plane, intersection, minimum distance
Generates interaction: 1 for rounded convex shapes, 3 or 4 otherwise
vendredi 14 septembre 2012
X X
X X
X X
X
X X X
Disk Pol
ygon
Hol
lowD
isk
Point
Wall
Poly-
line
Disk
HollowDisk
Polygon
Wall
Point
Poly-line
X
Candidate
Antagonist
2D Contact detection
vendredi 14 septembre 2012
X X
X X
X X
X X X X
X
X X
Spher
e
Polyh
edro
n
Hol
lowCyl
inde
r
Point
Wall
Poly-
surfa
ce
Sphere
Pill/Cylinder
HollowCylinder
Polyhedron
Wall
Point
X
Candidate
Antagonist
3D Contact detection
Pill/C
ylin
der
Poly-surfacevendredi 14 septembre 2012
Contact detection2D: DKDKx, DKJCx,DKKDx, DKDPx,DKPDx,DKPLx,PLPLx, PLJCx, DKALp,DPALp,PLALp,CLALp,CLJCx,DKDKL,PTPT2,P2P2L
3D:SPSPx,SPPLx,SPCDx,SPDCx,CDCDx,CDPLx,PRPRx,PRPLx,PRASp,CSPRx, CSASp,PTPT3
vendredi 14 septembre 2012
Interaction laws
Frictional contact: static/dynamic friction, gap or velocity unilateral condition, deformable contact, etc
Frictional cohesive law: Mohr-Coulomb, capillarity, damage, etc
bilateral conditions: kinematic relation, elastic or visco-elastic wire and rod, etc
Numerous possibilities:
Written if possible, through changes of variables, as Signorini-Coulomb law
vendredi 14 septembre 2012
Interaction laws
Rigid/Rigid: IQS_CLB, IQS_DS_CLB, IQS_WET_DS_CLB, ... RST_CLB, RST_DS_CLB, ...
Defo/Defo Rigid/Defo: GAP_SGR_CLB, GAP_SGR_DS_CLB, .... VEL_SGR_CLB ....
vendredi 14 septembre 2012
Contact dynamics
vendredi 14 septembre 2012
Contact dynamicsNon-smooth dynamics framework
vendredi 14 septembre 2012
Contact dynamicsNon-smooth dynamics framework
Implicit time integration (theta method)
vendredi 14 septembre 2012
Contact dynamicsNon-smooth dynamics framework
Implicit time integration (theta method)
Contact solver: NLGS, PCGP (// or not) + Siconos/Numerics
vendredi 14 septembre 2012
Contact dynamics
Remark on CD method:
Non-smooth dynamics framework
Implicit time integration (theta method)
Contact solver: NLGS, PCGP (// or not) + Siconos/Numerics
vendredi 14 septembre 2012
Contact dynamics
Interaction U
Remark on CD method:
Non-smooth dynamics framework
Implicit time integration (theta method)
Contact solver: NLGS, PCGP (// or not) + Siconos/Numerics
law(U, I) = trueI
vendredi 14 septembre 2012
Contact dynamics
Interaction U
Remark on CD method:
Bulk model
Non-smooth dynamics framework
Implicit time integration (theta method)
Contact solver: NLGS, PCGP (// or not) + Siconos/Numerics
v
M(vf − vi) =
� tf
ti
fext(t)dt+ i
law(U, I) = true
i
I
vendredi 14 septembre 2012
Contact dynamics
Interaction U
HT (q) H(q)
Remark on CD method:
Contactor
Bulk model
Non-smooth dynamics framework
Implicit time integration (theta method)
Contact solver: NLGS, PCGP (// or not) + Siconos/Numerics
v
M(vf − vi) =
� tf
ti
fext(t)dt+ i
law(U, I) = true
i
I
vendredi 14 septembre 2012
Contact dynamics
Interaction U
HT (q) H(q)
Remark on CD method:
Contactor
Bulk model
Non-smooth dynamics framework
Implicit time integration (theta method)
Contact solver: NLGS, PCGP (// or not) + Siconos/Numerics
v
M(vf − vi) =
� tf
ti
fext(t)dt+ i
law(U, I) = true
i
I
Computational effort: contact forces evaluation
vendredi 14 septembre 2012
Molecular Dynamics
vendredi 14 septembre 2012
Smooth dynamics framework
Molecular Dynamics
vendredi 14 septembre 2012
Smooth dynamics framework
Explicit time integration (theta method)
Molecular Dynamics
vendredi 14 septembre 2012
Smooth dynamics framework
Explicit time integration (theta method)
Contact forces are explicitly computed
Molecular Dynamics
vendredi 14 septembre 2012
For example MD method:
Smooth dynamics framework
Explicit time integration (theta method)
Contact forces are explicitly computed
Molecular Dynamics
vendredi 14 septembre 2012
Interaction U F
For example MD method:
Smooth dynamics framework
Explicit time integration (theta method)
Contact forces are explicitly computed
Molecular Dynamics
F = law(g, U)
vendredi 14 septembre 2012
Interaction U
f
F
For example MD method:
Bulk model
Smooth dynamics framework
Explicit time integration (theta method)
Contact forces are explicitly computed
Molecular Dynamics
F = law(g, U)
v
Mv̇f = Fext(ti) + f
vendredi 14 septembre 2012
Interaction U
f
F
HT (q) H(q)
For example MD method:
Contactor
Bulk model
Smooth dynamics framework
Explicit time integration (theta method)
Contact forces are explicitly computed
Molecular Dynamics
F = law(g, U)
v
Mv̇f = Fext(ti) + f
vendredi 14 septembre 2012
Interaction U
f
F
HT (q) H(q)
For example MD method:
Contactor
Bulk model
Smooth dynamics framework
Explicit time integration (theta method)
Contact forces are explicitly computed
Molecular Dynamics
F = law(g, U)
v
Mv̇f = Fext(ti) + f
Computational effort: contact detection
vendredi 14 septembre 2012
current work
recast of the global software architecture
hpc (openMP, MPI+DDM)
bulk models (behaviour, discretization switching)
multi-physics
continuous-discrete transition
vendredi 14 septembre 2012
USING LMGC90
vendredi 14 septembre 2012
Pre-requisites
✓Unix system
✓Up-to-date Fortran9x compiler (ifort, pgf90, gfortran, g95)
✓C++ compiler
✓Python (devel) + numpy
✓Swig
✓Cmake
✓paraview for visualization
✓subversion
vendredi 14 septembre 2012
Downloading✓Downloading through subversion:
svn co https://subver.lmgc.univ-montp2.fr/LMGC90v2
cd LMGC90v2; ls
vendredi 14 septembre 2012
Downloading✓Downloading through subversion:
svn co https://subver.lmgc.univ-montp2.fr/LMGC90v2
Last revision
cd LMGC90v2; ls
vendredi 14 septembre 2012
Downloading✓Downloading through subversion:
svn co https://subver.lmgc.univ-montp2.fr/LMGC90v2
Examples
cd LMGC90v2; ls
vendredi 14 septembre 2012
Downloading✓Downloading through subversion:
svn co https://subver.lmgc.univ-montp2.fr/LMGC90v2
Sources
cd LMGC90v2; ls
vendredi 14 septembre 2012
Building Binaries
vendredi 14 septembre 2012
Building Binaries
cd src; ./lmgc_install.sh
vendredi 14 septembre 2012
Building Binaries
cd src; ./lmgc_install.sh
Be patient !
vendredi 14 septembre 2012
Building Binaries
cd src; ./lmgc_install.sh
Be patient !
To be able to use the code your PYTHONPATH variable was modified (in ~/.bashrc)
vendredi 14 septembre 2012
Building Binaries
cd src; ./lmgc_install.sh
Be patient !
To be able to use the code your PYTHONPATH variable was modified (in ~/.bashrc)
export PYTHONPATH= $PYTHONPATH:xxx/lmgc90-builds/LMGC90v2_dev/lib:xxx/lmgc90-builds/LMGC90v2_dev/Pre
vendredi 14 septembre 2012
Building Binaries
https://subver.lmgc.univ-montp2.fr/trac_LMGC90v2/wiki/compil
cd src; ./lmgc_install.sh
Be patient !
To be able to use the code your PYTHONPATH variable was modified (in ~/.bashrc)
export PYTHONPATH= $PYTHONPATH:xxx/lmgc90-builds/LMGC90v2_dev/lib:xxx/lmgc90-builds/LMGC90v2_dev/Pre
vendredi 14 septembre 2012
Running an example
cd example; lspython command.py
vendredi 14 septembre 2012
Running an example
cd example; lspython command.py
vendredi 14 septembre 2012
Running an examplecommand.py describes the simulation.
Various stages:
vendredi 14 septembre 2012
Running an examplecommand.py describes the simulation.
Various stages:
‣Initialization
vendredi 14 septembre 2012
Running an examplecommand.py describes the simulation.
Various stages:
‣reading data
‣Initialization
vendredi 14 septembre 2012
Running an examplecommand.py describes the simulation.
Various stages:
‣reading data
‣Initialization
‣Time Loop
free motion
vendredi 14 septembre 2012
Running an examplecommand.py describes the simulation.
Various stages:
‣reading data
‣Initialization
‣Time Loop
free motion
contact solver
vendredi 14 septembre 2012
Running an examplecommand.py describes the simulation.
Various stages:
‣reading data
‣Initialization
‣Time Loop
free motion
contact solver
update
vendredi 14 septembre 2012
Running an examplecommand.py describes the simulation.
Various stages:
‣reading data
‣Initialization
‣Time Loop
‣Termination
free motion
contact solver
update
vendredi 14 septembre 2012
Running an examplecommand.py describes the postprocessing.
Various stages:
vendredi 14 septembre 2012
Running an examplecommand.py describes the postprocessing.
Various stages:
‣reading data
vendredi 14 septembre 2012
Running an examplecommand.py describes the postprocessing.
Various stages:
‣reading data
‣Initialization
vendredi 14 septembre 2012
Running an examplecommand.py describes the postprocessing.
Various stages:
‣reading data
‣Initialization
‣Time Loop
vendredi 14 septembre 2012
Running an examplecommand.py describes the postprocessing.
Various stages:
‣reading data
‣Initialization
‣Time Loop
‣Termination
vendredi 14 septembre 2012
Running an exampleDisplaying results
2D: Paraview inters.pvd
tacts.pvdmecafe.pvd
3D: Paraview DISPLAY/rbdy3....vtu DISPLAY/mailx....vtu DISPLAY/tact....vtu DISPLAY/inter....vtu
vendredi 14 septembre 2012
What else ?
LMGC90 Core+ChiPy
LMGC90 Pre LMGC90 Post
Documentationhttps://subver.lmgc.univ-montp2.fr/trac_LMGC90v2_dev/wiki/docs
vendredi 14 septembre 2012
Conclusion
LMGC90 is a free Open Source software,(belongs to CNRS-UM2)
https://subver.lmgc.univ-montp2.fr/trac_LMGC90v2https://subver.lmgc.univ-montp2.fr/trac_LMGC90v2_dev
LMGC90 is a collaborative research code: perpetual evolution, not so well documented,lack of funds to develop user friendly interface,
vendredi 14 septembre 2012
Co-workers:
Michel Jean
Mathieu Renouf, Alexandre Martin, Rémy Mozul, Frédéric Perales
Dominique Ambard, Cyril Bordreuil
Gilles Saussine, Brahim Chetouane, Emilien Azema, Robert Perales, Ali Rafiee, Damien Iceta, Paul Taforel, Marine Bagneris, Vincent Visseq, Walid Saber-Sherif
Jean Jacques Moreau, Farhang Radjai, Pierre Alart, Vincent Acary, Yann Monerie
vendredi 14 septembre 2012