# Module: TDGL :Name: mod_mupro_tdgl :Depends on: [mod_mupro_base](base.md), [mod_mupro_fft](fft.md), [mod_mupro_log](log.md) :Defined variables: None :Defined types: [type_mupro_TDGLContext](#type_mupro_TDGLContext) ## Defined Types ### type_mupro_TDGLContext #### Variables | Variable | Type | Dimension | Meaning | | :-----------------: | :------------: | :-------------: | -------------------------------------------------- | | g | real64 | (6,6) | Gradient coefficient | | kinetic_coefficient | real64 | - | Kinetic coefficient | | dt | real64 | - | time for each timestep | | flag_anisotropy | logical | - | Whether consider anisotropic gradient coefficient | | rhs | real64,pointer | (3,Rn3,Rn2,Rn1) | Driving forces along x, y, and z | | op | real64,pointer | (3,Rn3,Rn2,Rn1) | Updated order parameter (vector) along x, y, and z | #### Procedures Defined Subroutines ##### setup Preparation for the TDGL solver. > call tdglContext%setup() ##### solve Evolve the Time-Dependent Ginzburg Landau equation semi-implicitly, march forward the order parameter distribution for one time step. Update the op value in context given rhs. > call tdglContext%solve()