MoDeNa  1.0
Software framework facilitating sequential multi-scale modelling

Top level subroutines. More...

Go to the source code of this file.

Functions/Subroutines

subroutine, public tests::onegrowth
 Simulates growth of a single bubble. More...
 
subroutine, public tests::secondgrowth
 Simulates growth of a single bubble. More...
 
real(dp) function tests::nextradius (n, rad_ini)
 Function calculates bubble radius based on initial bubble radius. More...
 
subroutine tests::rad_residual (n, x, fvec, iflag)
 Residual function for the shooting method. More...
 
subroutine, public tests::shooting_method
 Finds foaming conditions that end with desired bubble radius. More...
 
subroutine, public tests::shooting_method_test
 Test for the shooting_method. More...
 
real(dp) function, public tests::eta_rm (t)
 Viscosity of reaction mixture as function of time. More...
 
real(dp) function, public tests::bub_vf (t)
 Volume fraction of bubbles as function of time. More...
 

Detailed Description

Top level subroutines.

Author
Pavel Ferkl

Subroutines for growth of a single bubble and various parametric studies. Also subroutines, which we want to make public in case the model is compiled into a library.

Definition in file tests.f90.

Function/Subroutine Documentation

◆ bub_vf()

real(dp) function, public tests::bub_vf ( real(dp), intent(in)  t)

Volume fraction of bubbles as function of time.

Uses linear interpolation on port array.

Parameters
[in]ttime

Definition at line 202 of file tests.f90.

◆ eta_rm()

real(dp) function, public tests::eta_rm ( real(dp), intent(in)  t)

Viscosity of reaction mixture as function of time.

Uses linear interpolation on etat array.

Parameters
[in]ttime

Definition at line 184 of file tests.f90.

◆ nextradius()

real(dp) function tests::nextradius ( integer, intent(in)  n,
real(dp), dimension(n), intent(in)  rad_ini 
)

Function calculates bubble radius based on initial bubble radius.

Sets the initial radius to first element of rad_ini, makes the simulation and returns the bubble radius at the end.

Parameters
[in]nlength of rad_ini
[in]rad_iniarray holding the previously calculated evolution of bubble radius

Definition at line 70 of file tests.f90.

References globals::r0, and globals::radius.

◆ onegrowth()

subroutine, public tests::onegrowth ( )

Simulates growth of a single bubble.

You must set firstrun variable before calling this subroutine.
firstrun==.true. => no need to set anything else
firstrun==.false.: => set tend, bub_ra, bub_inx

Definition at line 26 of file tests.f90.

◆ rad_residual()

subroutine tests::rad_residual ( integer, intent(in)  n,
real(dp), dimension(n), intent(in)  x,
real(dp), dimension(n), intent(out)  fvec,
integer, intent(inout)  iflag 
)

Residual function for the shooting method.

Residual function for the Powell method as implemented in bubbleGrowth/src/src/hbrd.f90

Parameters
[in]nnumber of equations
[in,out]iflagshould not be changed in this function
[in]xarray with independent variables
[out]fvecfunction values

Definition at line 87 of file tests.f90.

References globals::goalradius.

◆ secondgrowth()

subroutine, public tests::secondgrowth ( )

Simulates growth of a single bubble.

Uses precalculated evolution of bubble radius to calculate bubble pressure. Does not use momentum balance in the system of equations.

Definition at line 43 of file tests.f90.

References globals::inputs.

◆ shooting_method()

subroutine, public tests::shooting_method ( )

Finds foaming conditions that end with desired bubble radius.

Uses shooting method to find the initial bubble radius, which leads to the desired final radius.

Definition at line 104 of file tests.f90.

References globals::goalradius, globals::inputs, globals::r0, globals::radius, and globals::shooting.

◆ shooting_method_test()

subroutine, public tests::shooting_method_test ( )

Test for the shooting_method.

Runs the simulation and then tries to determine initial radius, which would lead to a slightly larger final radius.

Definition at line 146 of file tests.f90.

References globals::goalradius, globals::r0, globals::radius, and globals::shooting.