-
Notifications
You must be signed in to change notification settings - Fork 96
/
BoundaryCondition.i
80 lines (66 loc) · 2.89 KB
/
BoundaryCondition.i
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
// =================================================================================================
// This code is part of PyLith, developed through the Computational Infrastructure
// for Geodynamics (https://github.com/geodynamics/pylith).
//
// Copyright (c) 2010-2024, University of California, Davis and the PyLith Development Team.
// All rights reserved.
//
// See https://mit-license.org/ and LICENSE.md and for license information.
// =================================================================================================
/** @file modulesrc/bc/BoundaryCondition.i
*
* @brief Python interface to C++ BoundaryCondition object.
*/
namespace pylith {
namespace bc {
class BoundaryCondition: public pylith::problems::Physics {
// PUBLIC METHODS //////////////////////////////////////////////////////////////////////////////////////////
public:
/// Default constructor.
BoundaryCondition(void);
/// Destructor.
virtual ~BoundaryCondition(void);
/// Deallocate PETSc and local data structures.
virtual
void deallocate(void);
/** Set name of solution subfield associated with boundary condition.
*
* @param[in] value Name of solution subfield.
*/
void setSubfieldName(const char* value);
/** Get name of solution subfield associated with boundary condition.
*
* @preturn Name of solution subfield.
*/
const char* getSubfieldName(void) const;
/** Set first choice for reference direction to discriminate among tangential directions in 3-D.
*
* @param vec Reference direction unit vector.
*/
void setRefDir1(const PylithReal vec[3]);
/** Set second choice for reference direction to discriminate among tangential directions in 3-D.
*
* @param vec Reference direction unit vector.
*/
void setRefDir2(const PylithReal vec[3]);
/** Verify configuration is acceptable.
*
* @param[in] solution Solution field.
*/
virtual
void verifyConfiguration(const pylith::topology::Field& solution) const;
/** Create diagnostic field.
*
* @param[in] solution Solution field.
* @param[in] physicsMesh Finite-element mesh associated with physics.
*
* @returns Diagnostic field if applicable, otherwise NULL.
*/
virtual
pylith::topology::Field* createDiagnosticField(const pylith::topology::Field& solution,
const pylith::topology::Mesh& physicsMesh);
};
// class BoundaryCondition
} // bc
} // pylith
// End of file