elasticity.h (c83beb563fda074c3daa2c4a2d7d3d0bbbda3fa9) elasticity.h (d642641faca99bf5c5aefc2eafdb8a0bc57fc341)
1// Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at
2// the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights
3// reserved. See files LICENSE and NOTICE for details.
4//
5// This file is part of CEED, a collection of benchmarks, miniapps, software
6// libraries and APIs for efficient high-order finite element and spectral
7// element discretizations for exascale applications. For more information and
8// source code availability see http://github.com/ceed.

--- 102 unchanged lines hidden (view full) ---

111 PetscBool viewSoln;
112 problemType problemChoice;
113 forcingType forcingChoice;
114 multigridType multigridChoice;
115 PetscInt degree;
116 PetscInt numLevels;
117 PetscInt *levelDegrees;
118 PetscInt numIncrements; // Number of steps
1// Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at
2// the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights
3// reserved. See files LICENSE and NOTICE for details.
4//
5// This file is part of CEED, a collection of benchmarks, miniapps, software
6// libraries and APIs for efficient high-order finite element and spectral
7// element discretizations for exascale applications. For more information and
8// source code availability see http://github.com/ceed.

--- 102 unchanged lines hidden (view full) ---

111 PetscBool viewSoln;
112 problemType problemChoice;
113 forcingType forcingChoice;
114 multigridType multigridChoice;
115 PetscInt degree;
116 PetscInt numLevels;
117 PetscInt *levelDegrees;
118 PetscInt numIncrements; // Number of steps
119 PetscInt bcZeroFaces[16], bcClampFaces[16];
120 PetscInt bcZeroCount, bcClampCount;
121 PetscBool bcClampTranslate[16];
122 PetscScalar bcClampMax[16][4];
119 PetscInt bcClampFaces[16];
120 PetscInt bcClampCount;
121 PetscScalar bcClampMax[16][7];
123 PetscScalar forcingVector[3];
124};
125
126// Problem specific data
127typedef struct {
128 CeedInt qdatasize;
129 CeedQFunctionUser setupgeo, apply, jacob, energy;
130 const char *setupgeofname, *applyfname, *jacobfname, *energyfname;

--- 168 unchanged lines hidden (view full) ---

299
300// BCMMS - boundary function
301// Values on all points of the mesh is set based on given solution below
302// for u[0], u[1], u[2]
303PetscErrorCode BCMMS(PetscInt dim, PetscReal loadIncrement,
304 const PetscReal coords[], PetscInt ncompu,
305 PetscScalar *u, void *ctx);
306
122 PetscScalar forcingVector[3];
123};
124
125// Problem specific data
126typedef struct {
127 CeedInt qdatasize;
128 CeedQFunctionUser setupgeo, apply, jacob, energy;
129 const char *setupgeofname, *applyfname, *jacobfname, *energyfname;

--- 168 unchanged lines hidden (view full) ---

298
299// BCMMS - boundary function
300// Values on all points of the mesh is set based on given solution below
301// for u[0], u[1], u[2]
302PetscErrorCode BCMMS(PetscInt dim, PetscReal loadIncrement,
303 const PetscReal coords[], PetscInt ncompu,
304 PetscScalar *u, void *ctx);
305
307// BCZero - fix boundary values at zero
308PetscErrorCode BCZero(PetscInt dim, PetscReal loadIncrement,
309 const PetscReal coords[], PetscInt ncompu,
310 PetscScalar *u, void *ctx);
306// BCClamp - fix boundary values with affine transformation at fraction of load
307// increment
308PetscErrorCode BCClamp(PetscInt dim, PetscReal loadIncrement,
309 const PetscReal coords[], PetscInt ncompu,
310 PetscScalar *u, void *ctx);
311
311
312// BCClampTranslate - translate boundary values at fraction of load increment
313PetscErrorCode BCClampTranslate(PetscInt dim, PetscReal loadIncrement,
314 const PetscReal coords[], PetscInt ncompu,
315 PetscScalar *u, void *ctx);
316
317// BCClampRotate - rotate boundary values at fraction of load increment
318PetscErrorCode BCClampRotate(PetscInt dim, PetscReal loadIncrement,
319 const PetscReal coords[], PetscInt ncompu,
320 PetscScalar *u, void *ctx);
321
322#endif //setup_h
312#endif //setup_h