![]() |
|
Public Types | |
typedef void(* | InflowFctPt) (const Vector< double > &x, Vector< double > &veloc) |
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) |
void | assign_local_eqn_numbers (const bool &store_local_dof_pt) |
void | get_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian) |
Private Member Functions | |
void | reassign_inflow () |
Private Attributes | |
Vector< Data * > | Inflow_ext_data |
Storage for the external Data that affects the inflow. More... | |
DenseMatrix< int > | Inflow_ext_data_eqn |
unsigned | Inflow_boundary |
Number of the inflow boundary in the global mesh. More... | |
InflowFctPt | Inflow_fct_pt |
"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".
typedef void(* BrethertonElement< ELEMENT >::InflowFctPt) (const Vector< double > &x, Vector< double > &veloc) |
Typedef for pointer (global) function that specifies the the inflow
|
inline |
|
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
References i.
|
inline |
Overload assign local equation numbers: Add the dependency on the external Data that affects the inflow profile
References oomph::Data::eqn_number(), i, and oomph::Data::nvalue().
|
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.
References GlobalFct::get_residuals(), i, oomph::Data::nvalue(), and oomph::Data::value_pt().
|
inlineprivate |
For all nodes that are located on specified boundary re-assign the inflow velocity, using the function pointed to by the function pointer
References oomph::Data::eqn_number(), i, oomph::Node::is_on_boundary(), j, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::Data::set_value(), plotDoE::x, and oomph::Node::x().
|
private |
Number of the inflow boundary in the global mesh.
|
private |
Storage for the external Data that affects the inflow.
|
private |
Storage for the local equation numbers associated the Data values that affect the inflow
|
private |
Function pointer to the global function that specifies the inflow velocity profile on the global mesh boundary Inflow_boundary