Commit 411bbced by Jeremy BLEYER

### Some polishing and added tips and tricks section

parent 1028fd84
 ========================= 2D elasticity in Fenics ========================= :math:\int_{\Omega}\underline{\underline{\sigma}}:\underline{\underline{\varepsilon}}[v]d\Omega
 ========================= 2D elasticity in Fenics =========================
 ... @@ -15,6 +15,7 @@ Contents: ... @@ -15,6 +15,7 @@ Contents: linear_problems linear_problems nonlinear_problems nonlinear_problems demo/reissner_mindlin/reissner_mindlin.rst demo/reissner_mindlin/reissner_mindlin.rst tips_and_tricks
 Tips and Tricks ================ In construction... .. _TipsTricksProjection: ------------------------------------------------ Efficient projection on DG or Quadrature spaces ------------------------------------------------ For projecting a Function on a DG or Quadrature space, that is a space with no coupling between elements, the projection can be performed element-wise. For this purpose, using the LocalSolver is much faster than performing a global projection:: metadata={"quadrature_degree": deg} def local_project(v,V): dv = TrialFunction(V) v_ = TestFunction(V) a_proj = inner(dv,v_)*dx(metadata=metadata) b_proj = inner(v,v_)*dx(metadata=metadata) solver = LocalSolver(a_proj,b_proj) solver.factorize() u = Function(V) solver.solve_local_rhs(u) return u Local factorizations can be cached if projection is performed many times.
 ... @@ -259,7 +259,7 @@ the stress and strain tensors. These nonlinear expressions must then be projecte ... @@ -259,7 +259,7 @@ the stress and strain tensors. These nonlinear expressions must then be projecte back onto the associated Quadrature spaces. Since these fields are defined locally back onto the associated Quadrature spaces. Since these fields are defined locally in each cell (in fact only at their associated Gauss point), this projection can in each cell (in fact only at their associated Gauss point), this projection can be performed locally. For this reason, we define a local_project function be performed locally. For this reason, we define a local_project function that use the LocalSolver to gain in efficiency (see also :ref:TipsStressProjection_) that use the LocalSolver to gain in efficiency (see also :ref:TipsTricksProjection) for more details:: for more details:: def local_project(v, V, u=None): def local_project(v, V, u=None): ... ...
 ############### Linear problems ############### Elastostatics : standard continuous galerkin * 2D plane stress/strain * 3D isotropic, orthotropic discontinous galerkin -> volumetric locking mixed formulation using Hu-Wahizu -> volumetric locking Elastodynamics * time integration Newmark scheme, theta * modal analysis with SLEPC Poroelasticity Mixing continuum and interfaces * elastic interfaces/supports (beam on elastic foundation) Linear Fracture Mechanics * G-theta method to compute J-integral and stress intensity factors Homogenization in elasticity -> treatment of rigid particles with Lagrange multipliers Linear Buckling ################## Nonlinear problems ################## Hyperelasticity : -> compressible neo-hookean -> incompressible neo-hookean Viscoelasticity * Maxwell model * Kelvin-Voigt model Elasto-plasticity * radial return for von Mises/Drucker Prager * limit analysis with augmented Lagrangian Viscoplasticity * yield stress fluids Contact * resolution of normal contact with TAO * contact with AL Von-Karman plates ################ Beams and Plates ################ Love-Kirchhoff plates with DG Reissner-Mindlin plates Higher-order plate models (warping, Bending-Gradient) ##### Misc ##### Topology Optimization (undocumented example) Linear Matching Method
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!