Basilisk CFD
Adaptive Cartesian mesh PDE framework
Loading...
Searching...
No Matches
contact.h File Reference
#include "fractions.h"
#include "curvature.h"
Include dependency graph for contact.h:

Go to the source code of this file.

Macros

#define contact_angle(theta)
 The macro below can be used to impose a contact angle on a boundary by setting the corresponding tangential component of the height function.
 

Functions

coord height_myc_normal (Point point, scalar c)
 We will compute the normal using height-functions instead.
 
static coord interface_normal (Point point, scalar c)
 
void event_init (void)
 Event: init (i = 0)
 
void event_vof (void)
 Event: vof (i++)
 

Variables

scalarinterfaces
 The height functions are stored in the vector field associated with each VOF tracer.
 

Macro Definition Documentation

◆ contact_angle

#define contact_angle (   theta)
Value:
(val(_s) == nodata ? nodata : val(_s) + \
(orientation(val(_s)) ? -1. : 1.)/tan(theta))
if TRASH define &&NewPid *& val(newpid, 0, 0, 0)) -> pid > 0) @else @ define is_newpid()(((NewPid *)&val(newpid, 0, 0, 0)) ->pid > 0) @endif Array *linear_tree(size_t size, scalar newpid)
Definition balance.h:13
int x
Definition common.h:76
#define nodata
Definition common.h:7
static int orientation(double H)
Definition heights.h:35
double theta
This is the generalised minmod limiter.
Definition utils.h:223

The macro below can be used to impose a contact angle on a boundary by setting the corresponding tangential component of the height function.

Note that the equivalent function for the normal component of the height function is not defined yet. This limits the range of accessible contact angles, since values of the normal component of the height function will be required to compute curvature at shallow angles.

Definition at line 75 of file contact.h.

Function Documentation

◆ event_init()

void event_init ( void  )

Event: init (i = 0)

Definition at line 49 of file contact.h.

References c, heights(), scalar::i, and x.

Here is the call graph for this function:

◆ event_vof()

void event_vof ( void  )

Event: vof (i++)

Definition at line 56 of file contact.h.

References c, heights(), scalar::i, and x.

Here is the call graph for this function:

◆ height_myc_normal()

coord height_myc_normal ( Point  point,
scalar  c 
)

We will compute the normal using height-functions instead.

Contact angles

This file is used to impose contact angles on boundaries for interfaces described using a VOF tracer and height functions.

We first overload the default function used to compute the normal, defined in [fractions.h](). If this is not possible (typically at low resolutions) we revert back to the Mixed-Youngs-Centered approximation.

Definition at line 21 of file contact.h.

References c, height_normal(), scalar::i, mycs(), n, nodata, and point.

Referenced by interface_normal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interface_normal()

static coord interface_normal ( Point  point,
scalar  c 
)
inlinestatic

Definition at line 29 of file contact.h.

References c, height_myc_normal(), and point.

Referenced by event_properties(), and refine_cm_axi().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ interfaces

scalar* interfaces
extern

The height functions are stored in the vector field associated with each VOF tracer.

They need to be updated every time the VOF field changes. For the centered Navier-Stokes solver, this means after initialisation and after VOF advection.

Note that strictly speaking this should be done for each sweep of the direction-split VOF advection, which we do not do here i.e. we use the normal at the beginning of the timestep and assume it is constant during each sweep. This seems to work fine.

Definition at line 56 of file two-phase.h.