RMPCDMD
Data Types | Functions/Subroutines
polar_fields Module Reference

Routines to compute polar concentration and velocity profiles. More...

Data Types

type  polar_fields_t
 

Functions/Subroutines

subroutine init (this, N_species, N_r, r_min, r_max, N_theta)
 Initialize a polar_fields_t object. More...
 
subroutine update (this, x, v, unit_r, solvent, cells)
 Update the fields. More...
 

Detailed Description

Routines to compute polar concentration and velocity profiles.

Polar data is stored according to a given orientation axis. The coordinates are defined as

\[ \left\{\begin{array}{ll} x &= r \cos\varphi \sin\theta\cr y &= r \sin\varphi \sin\theta\cr z &= r \cos\theta\cr \end{array}\right. \]

Only \(r\) and \(\theta\) are considered as the axial symmetry prevents the definition a third degree of freedom from the orientation vector.

Knowing the orientation unit vector \(\hat u\) and the relative coordinates \(\vec x\) of a point, the polar coordinates are

\[ \left\{\begin{array}{ll} r &= |x|\cr \theta &= \arccos\left( \frac{\hat u \cdot \vec x}{|x|} \right) \end{array}\right. \]

Function/Subroutine Documentation

◆ init()

subroutine polar_fields::init ( class(polar_fields_t), intent(out)  this,
integer, intent(in)  N_species,
integer, intent(in)  N_r,
double precision, intent(in)  r_min,
double precision, intent(in)  r_max,
integer, intent(in)  N_theta 
)
private

Initialize a polar_fields_t object.

Definition at line 59 of file polar_fields.f90.

◆ update()

subroutine polar_fields::update ( class(polar_fields_t), intent(inout)  this,
double precision, dimension(3), intent(in)  x,
double precision, dimension(3), intent(in)  v,
double precision, dimension(3), intent(in)  unit_r,
type(particle_system_t), intent(in)  solvent,
type(cell_system_t), intent(in)  cells 
)
private

Update the fields.

Definition at line 84 of file polar_fields.f90.