MA Alexander Grunewald/Code-Fragmente: Difference between revisions

From Arbeitsgruppe Kuiper
Jump to navigation Jump to search
m (→‎in init.c: soll)
m (→‎in body_force.c: Einrückung)
Line 22: Line 22:


       double g_grav = G_GravityConstant * SolarMass / (SolarRadius*SolarRadius),
       double g_grav = G_GravityConstant * SolarMass / (SolarRadius*SolarRadius),
perturbation_mode  = g_inputParam[IC_Perturbation_mode], // dimensionless and integer
    perturbation_mode  = g_inputParam[IC_Perturbation_mode], // dimensionless and integer
perturbation_amplitude  = g_inputParam[IC_Perturbation_Amplitude_g]*g_grav,
    perturbation_amplitude  = g_inputParam[IC_Perturbation_Amplitude_g]*g_grav,
Xmin = grid->xl_glob[IDIR][grid->gbeg[IDIR]],
    Xmin = grid->xl_glob[IDIR][grid->gbeg[IDIR]],
Xmax = grid->xr_glob[IDIR][grid->gend[IDIR]],
    Xmax = grid->xr_glob[IDIR][grid->gend[IDIR]],
Ymin = grid->xl_glob[JDIR][grid->gbeg[JDIR]],
    Ymin = grid->xl_glob[JDIR][grid->gbeg[JDIR]],
Ymax = grid->xr_glob[JDIR][grid->gend[JDIR]],
    Ymax = grid->xr_glob[JDIR][grid->gend[JDIR]],
ampy = perturbation_amplitude * exp(- 10.0 * fabs(0.5 - (x2-Ymin) / (Ymax-Ymin)));
    ampy = perturbation_amplitude * exp(- 10.0 * fabs(0.5 - (x2-Ymin) / (Ymax-Ymin)));


       g[JDIR] += ampy * sin(perturbation_mode * 2.0*M_PI * x1 / (Xmax-Xmin));
       g[JDIR] += ampy * sin(perturbation_mode * 2.0*M_PI * x1 / (Xmax-Xmin));

Revision as of 12:42, 12 February 2026

Störung in der Beschleunigung

in init.c

Die Zeile

data->Vc[VX2][kl][jl][il] += perturbation_amplitude * sin(perturbation_mode * 2.0*M_PI * x1 / (Xmax-Xmin)) * ampy;

muss natürlich raus. (Und alles was dazugehört, auch raus.)

in body_force.c

    //
    // Costant gravitational field in the x2-direction:
    //
    g[JDIR] = - G_GravityConstant * SolarMass / (SolarRadius*SolarRadius);

    // perturbation
    if (g_time < g_inputParam[IC_Perturbation_Duration_cu]) {
      // code time unit = 1 year (see user_defined_parameters.h)

      double g_grav = G_GravityConstant * SolarMass / (SolarRadius*SolarRadius),
	    perturbation_mode  = g_inputParam[IC_Perturbation_mode], // dimensionless and integer
	    perturbation_amplitude  = g_inputParam[IC_Perturbation_Amplitude_g]*g_grav,
	    Xmin = grid->xl_glob[IDIR][grid->gbeg[IDIR]],
	    Xmax = grid->xr_glob[IDIR][grid->gend[IDIR]],
	    Ymin = grid->xl_glob[JDIR][grid->gbeg[JDIR]],
	    Ymax = grid->xr_glob[JDIR][grid->gend[JDIR]],
	    ampy = perturbation_amplitude * exp(- 10.0 * fabs(0.5 - (x2-Ymin) / (Ymax-Ymin)));

      g[JDIR] += ampy * sin(perturbation_mode * 2.0*M_PI * x1 / (Xmax-Xmin));
    }

in userdefined_parameters

//
// Specify names of user defined parameters:
//
#define IC_Temperature_X2BEG_K          0
#define IC_Temperature_X2END_K          1
#define IC_Perturbation_mode            2
#define IC_Perturbation_Amplitude_g     3
#define IC_Perturbation_Duration_cu     4


//
// Specify number of user defined parameters:
//
#define USER_DEF_PARAMETERS             5