stefan_boltzmann.cc File Reference
#include <fenv.h>
#include "math.h"
#include <complex>
#include "generic.h"
#include "unsteady_heat.h"
#include "heat_transfer_and_melt_elements.h"
#include "temporary_stefan_boltzmann_elements.h"
#include "meshes/triangle_mesh.h"

Classes

class  MyIntegral
 
class  StefanBoltzmannProblem< ELEMENT >
 Problem class. More...
 

Namespaces

 GlobalParameters
 Global parameters.
 

Functions

void GlobalParameters::get_source (const double &time, const Vector< double > &x, double &source)
 Source function. More...
 
void GlobalParameters::get_exact_u (const double &time, const Vector< double > &x, Vector< double > &u)
 Exact solution as a Vector. More...
 
int main (int argc, char **argv)
 Solve 2D problem. More...
 

Variables

string GlobalParameters::Directory ="RESLT"
 Output directory. More...
 
unsigned GlobalParameters::Nintpt =10
 Number of integration points for new integration scheme (if used) More...
 
double GlobalParameters::Sigma = 1.0e-2
 Non-dim Stefan Boltzmann constant. More...
 
double GlobalParameters::Theta_0 =1.0
 Zero degrees Celsius offset in Stefan Boltzmann law. More...
 
double GlobalParameters::Alpha0 =1.0
 Thermal inertia in inner region. More...
 
double GlobalParameters::Alpha1 =1.0
 Thermal inertia in outer annular region. More...
 
double GlobalParameters::Beta0 =0.05
 Thermal conductivity in inner region. More...
 
double GlobalParameters::Beta1 =1.5
 Thermal conductivity in outer annular region. More...
 
double GlobalParameters::Target_area =0.05
 Target element size. More...
 
double GlobalParameters::Radius_innermost =0.5
 Radius of inner circle. More...
 
double GlobalParameters::Radius_inner =1.0
 Inner radius of annular region. More...
 
double GlobalParameters::Radius_outer =1.5
 Outer radius of annular region. More...
 
double GlobalParameters::U0 = 0.8288627710
 Temperature on boundary of inner circle. More...
 
double GlobalParameters::S0 =0.1
 Strength of source function in inner region. More...
 
double GlobalParameters::S1 =1.0
 Strength of source function in outer region. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char **  argv 
)

Solve 2D problem.

783 {
784 
785  // Store command line arguments
786  CommandLineArgs::setup(argc,argv);
787 
788  // Define possible command line arguments and parse the ones that
789  // were actually specified
790 
791  // Number of integration points for new integration scheme.
792  // Use normal Gauss rule if not specified.
795 
796  // Output directory
799 
800  // Parse command line
802 
803  // Doc what has actually been specified on the command line
805 
806 
807 
808  // Create label for output
809  //------------------------
810  DocInfo doc_info;
811 
812  // Set output directory
814 
815 
816  // hierher refinement loop
817  for (unsigned i=0;i<1;i++)
818  {
819 
820  oomph_info << "Building/solving for GlobalParameters::Target_area = "
821  << GlobalParameters::Target_area << std::endl;
822 
823  // Set up the problem with 2D six-node elements
825 
826  // Initialise timestep -- also sets the weights for all timesteppers
827  // in the problem.
828  double dt=0.01;
829  problem.initialise_dt(dt);
830  problem.assign_initial_values_impulsive();
831 
832  // Steady solve only
833  {
834  // Do steady solve
835  problem.steady_newton_solve();
836 
837  //Output solution
838  problem.doc_solution(doc_info);
839 
840  exit(0);
841  }
842 
843  //Output initial condition
844  problem.doc_solution(doc_info);
845 
846  //Increment counter for solutions
847  doc_info.number()++;
848 
849  // Timestepping loop
850  unsigned nstep = 20;
851  for (unsigned istep=0;istep<nstep;istep++)
852  {
853  cout << " Timestep " << istep << std::endl;
854 
855  // Take timestep
856  problem.unsteady_newton_solve(dt);
857 
858  //Output solution
859  problem.doc_solution(doc_info);
860 
861  //Increment counter for solutions
862  doc_info.number()++;
863  }
864 
865  // Adjust
867  }
868 
869 
870 } //end of main
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Problem class.
Definition: stefan_boltzmann.cc:297
Definition: oomph_utilities.h:499
void set_directory(const std::string &directory)
Definition: oomph_utilities.cc:298
unsigned & number()
Number used (e.g.) for labeling output files.
Definition: oomph_utilities.h:554
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
unsigned Nintpt
Number of integration points for new integration scheme (if used)
Definition: stefan_boltzmann.cc:112
double Target_area
Target element size.
Definition: stefan_boltzmann.cc:133
string Directory
Output directory.
Definition: stefan_boltzmann.cc:109
void specify_command_line_flag(const std::string &command_line_flag, const std::string &doc)
Specify possible argument-free command line flag.
Definition: oomph_utilities.cc:451
void parse_and_assign(int argc, char *argv[], const bool &throw_on_unrecognised_args)
Definition: oomph_utilities.cc:760
void doc_specified_flags()
Document specified command line flags.
Definition: oomph_utilities.cc:610
OomphInfo oomph_info
Definition: oomph_definitions.cc:319
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References GlobalParameters::Directory, oomph::CommandLineArgs::doc_specified_flags(), i, GlobalParameters::Nintpt, oomph::DocInfo::number(), oomph::oomph_info, oomph::CommandLineArgs::parse_and_assign(), problem, oomph::DocInfo::set_directory(), oomph::CommandLineArgs::setup(), oomph::CommandLineArgs::specify_command_line_flag(), and GlobalParameters::Target_area.