wiki:WindObjects

Version 2 (modified by ehansen, 13 years ago) ( diff )

Wind Objects

Description

As its name implies, the Wind object was originally created to simulate a stellar wind. However, the actual object is a little more generic. It can represent any continuous inflow condition that, by default, comes in from the left boundary of the domain. The Wind object allows for a simple interface for setting the inflow density, velocity, temperature, and magnetization. The object (if used) must be created during the ProglemModuleInit subroutine.


Object Attributes

   TYPE AmbientDef
      REAL(KIND=qPREC) :: density=1d0
      REAL(KIND=qPREC) :: v(3)=0d0
      REAL(KIND=qPREC) :: pressure=1d0
      REAL(KIND=qPREC) :: B(3) = 0d0
      INTEGER :: iTracer=0
   END TYPE AmbientDef

The default values for density and pressure are both 1. The velocity and magnetization vectors are 0 - and there is no ambient tracer. To turn on an ambient tracer, the value of iTracer needs to be initialized to a valid tracer index using the AddTracer routine.


How to Use this Object

This object is perhaps the simplest to use since it has no shape. One only has to create the ambient object and modify its default values as necessary (and potentially add a tracer field) as follows…

SUBROUTINE ProblemModuleInit()
  TYPE(AmbientDef), POINTER :: Ambient

  CALL CreateAmbient(Ambient) 

  Ambient%density=10
  Ambient%pressure=100
  Ambient%B(:)=(/1d0, 0d0, 0d0/)
  Ambient%v(:)=(/0d0, 0d0, 0d0/)

  CALL AddTracer(Ambient%iTracer, 'Ambient Tracer')

END SUBROUTINE ProblemModuleInit

Grids then will be initialized with the correct energy etc… before being passed into the various other grid initialization routines.

Note: See TracWiki for help on using the wiki.