-
Notifications
You must be signed in to change notification settings - Fork 0
/
bc_special.h
126 lines (117 loc) · 6.16 KB
/
bc_special.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/************************************************************************ *
* Goma - Multiphysics finite element software *
* Sandia National Laboratories *
* *
* Copyright (c) 2014 Sandia Corporation. *
* *
* Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, *
* the U.S. Government retains certain rights in this software. *
* *
* This software is distributed under the GNU General Public License. *
\************************************************************************/
#ifndef _BC_SPECIAL_H
#define _BC_SPECIAL_H
#ifdef EXTERN
#undef EXTERN
#endif
#ifdef _BC_SPECIAL_C
#define EXTERN /* do nothing */
#endif
#ifndef _BC_SPECIAL_C
#define EXTERN extern
#endif
EXTERN int apply_special_bc
PROTO((struct Aztec_Linear_Solver_System *,
double [], /* x - soln vector */
double [], /* resid_vector - RHS */
double [], /* x_old - soln vector previous timestep */
double [], /* x_older - soln vector preprevious timestep*/
double [], /* xdot - dx/dt */
double [], /* xdot_old - dxdt at previous timestep */
double , /* delta_t - current time step size */
double , /* theta - parameter to vary time
* integration algorithm from
* explicit (theta = 1) to
* -- implicit (theta = 0) */
struct elem_side_bc_struct *[], /* first_elem_side_BC_array - array of
* pointers to the first surface
* integral defined for each element.
* It has a length equal to the total
* number of elements defined on the
* current processor */
int , /* ielem - element number */
int , /* ip_total - number of gauss points */
int , /* ielem_type - element type flag */
int , /* num_local_nodes - */
int , /* ielem_dim - */
int , /* iconnect_ptr */
struct elem_side_bc_struct *, /* elem_side_bc - Pointer to an element
* side boundary condition structure */
int , /* num_total_nodes */
int , /* bc_application */
int [], /* CA_id CA condition id array */
int [], /* CA_fselem free surface element array */
int [], /* CA_sselem solid surface element array */
Exo_DB *, /* exo - ptr to FE EXODUS II database */
double )); /* time_value */
EXTERN int apply_shell_grad_bc
PROTO((int [], /* ija - column indeces of matrix nonzeroes */
double [], /* a - non-zero matrix entries */
double [], /* x - Soln vector */
double [], /* resid_vector - */
const double , /* delta_t - current time step size */
const double , /* theta - parameter (0 to 1) to vary time
* integration (implicit=0, explicit=1) */
const double , /* h_elem_avg - global average element size */
const double [DIM], /* h - average element size */
const double , /* mu_avg - average element viscosity */
const double , /* U_norm - global velocity norm */
const int , /* ielem - element number */
const int , /* ielem_type - element type */
const int , /* num_local_nodes - */
const int , /* ielem_dim - */
const int , /* iconnect_ptr */
struct elem_side_bc_struct *, /* elem_side_bc - Pointer to an element
* side boundary condition structure */
const int , /* num_total_nodes */
const int , /* bc_application - flag indicating whether
* to integrate strong or weak BC's */
const double , /* time_value */
const Exo_DB *)); /* exo - ptr to FE database */
EXTERN int apply_sharp_integrated_bc
PROTO ((double [], /* Solution vector for the current processor */
double [], /* Residual vector for the current processor */
const double , /* current time */
const double , /* current time step size */
const double , /* parameter (0 to 1) to vary time integration
* ( implicit - 0 to explicit - 1) */
const double[DIM], /* hsquared */
const int , /* element number */
const int , /* element type */
const int ,
const int ,
const int ,
ELEM_SIDE_BC_STRUCT *,
/* Pointer to an element side boundary condition * structure */
const int,
const Exo_DB *));
EXTERN void assemble_sharp_integrated_bc
PROTO ((double [], /* Solution vector for the current processor */
double [],/* Residual vector for the current processor */
const double , /* current time */
const double , /* current time step size */
const double , /* parameter (0 to 1) to vary time integration
* ( implicit - 0 to explicit - 1) */
const int , /* element number */
const int , /* element type */
const int ,
const int ,
const int ,
ELEM_SIDE_BC_STRUCT *,
/* Pointer to an element side boundary condition * structure */
const int,
const Exo_DB *,
double [DIM],
double,
int));
#endif /* _BC_SPECIAL_H */