"Bretherton element" is a fluid element (of type ELEMENT) for which the (inflow) velocity at those nodes that are located on a specified Mesh boundary is prescribed by Dirichlet boundary conditions. The key is that prescribed velocity profile can be a function of some external Data – this dependency must be taken into account when computing the element's Jacobian matrix. More...
Public Types | |
typedef void(* | InflowFctPt) (const Vector< double > &x, Vector< double > &veloc) |
Typedef for pointer (global) function that specifies the the inflow. More... | |
Public Member Functions | |
BrethertonElement () | |
Constructor: Call the constructor of the underlying element. More... | |
void | activate_inflow_dependency_on_external_data (const Vector< Data * > &inflow_ext_data, const unsigned &inflow_boundary, InflowFctPt inflow_fct_pt) |
Activate the dependency of the "inflow" on the external data. Pass the vector of pointers to the external Data that affects the inflow, the id of the boundary on which the inflow condition is to be applied and the function pointer to to the global function that defines the inflow. More... | |
void | assign_local_eqn_numbers (const bool &store_local_dof_pt) |
Overload assign local equation numbers: Add the dependency on the external Data that affects the inflow profile. More... | |
void | get_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
Overloaded Jacobian computation: Computes the Jacobian of the underlying element and then adds the FD operations to evaluate the derivatives w.r.t. the Data values that affect the inflow. More... | |
Private Member Functions | |
void | reassign_inflow () |
For all nodes that are located on specified boundary re-assign the inflow velocity, using the function pointed to by the function pointer. More... | |
Private Attributes | |
Vector< Data * > | Inflow_ext_data |
Storage for the external Data that affects the inflow. More... | |
DenseMatrix< int > | Inflow_ext_data_eqn |
Storage for the local equation numbers associated the Data values that affect the inflow. More... | |
unsigned | Inflow_boundary |
Number of the inflow boundary in the global mesh. More... | |
InflowFctPt | Inflow_fct_pt |
Function pointer to the global function that specifies the inflow velocity profile on the global mesh boundary Inflow_boundary. More... | |
"Bretherton element" is a fluid element (of type ELEMENT) for which the (inflow) velocity at those nodes that are located on a specified Mesh boundary is prescribed by Dirichlet boundary conditions. The key is that prescribed velocity profile can be a function of some external Data – this dependency must be taken into account when computing the element's Jacobian matrix.
This element type is useful, for instance, in the Bretherton problem, where the parabolic "inflow" profile is a function of the film thickness (represented by Spine heights) at the "outflow".
Definition at line 153 of file bretherton.cc.
typedef void(* BrethertonElement< ELEMENT >::InflowFctPt) (const Vector< double > &x, Vector< double > &veloc) |
Typedef for pointer (global) function that specifies the the inflow.
Definition at line 160 of file bretherton.cc.
|
inline |
Constructor: Call the constructor of the underlying element.
Definition at line 163 of file bretherton.cc.
|
inline |
Activate the dependency of the "inflow" on the external data. Pass the vector of pointers to the external Data that affects the inflow, the id of the boundary on which the inflow condition is to be applied and the function pointer to to the global function that defines the inflow.
Definition at line 171 of file bretherton.cc.
|
inline |
Overload assign local equation numbers: Add the dependency on the external Data that affects the inflow profile.
Definition at line 192 of file bretherton.cc.
|
inline |
Overloaded Jacobian computation: Computes the Jacobian of the underlying element and then adds the FD operations to evaluate the derivatives w.r.t. the Data values that affect the inflow.
Definition at line 261 of file bretherton.cc.
|
inlineprivate |
For all nodes that are located on specified boundary re-assign the inflow velocity, using the function pointed to by the function pointer.
Definition at line 339 of file bretherton.cc.
|
private |
Number of the inflow boundary in the global mesh.
Definition at line 390 of file bretherton.cc.
|
private |
Storage for the external Data that affects the inflow.
Definition at line 383 of file bretherton.cc.
|
private |
Storage for the local equation numbers associated the Data values that affect the inflow.
Definition at line 387 of file bretherton.cc.
|
private |
Function pointer to the global function that specifies the inflow velocity profile on the global mesh boundary Inflow_boundary.
Definition at line 394 of file bretherton.cc.