35 use json_module,
only : json_file
44 type(
field_t),
pointer :: reg_coeff => null()
45 type(
coef_t),
pointer :: coef => null()
50 procedure(
reg_init), pass(this),
deferred :: init
51 procedure(
reg_free), pass(this),
deferred :: free
56 subroutine reg_init(this, json, coef, dof, reg_coeff)
59 type(json_file),
intent(inout) :: json
60 type(
coef_t),
intent(in),
target :: coef
61 type(
dofmap_t),
intent(in),
target :: dof
62 type(
field_t),
intent(in),
target :: reg_coeff
78 integer,
intent(in) :: tstep
79 real(kind=
rp),
intent(in) :: dt
84 module subroutine regularization_factory(object, type_name, json, &
86 class(regularization_t),
allocatable,
intent(inout) :: object
87 character(len=*),
intent(in) :: type_name
88 type(json_file),
intent(inout) :: json
89 type(
coef_t),
intent(in),
target :: coef
90 type(
dofmap_t),
intent(in),
target :: dof
91 type(
field_t),
intent(in),
target :: reg_coeff
92 end subroutine regularization_factory
95 public :: regularization_factory
99 subroutine regularization_init_base(this, json, coef, dof, reg_coeff)
100 class(regularization_t),
intent(inout) :: this
101 type(json_file),
intent(inout) :: json
102 type(
coef_t),
intent(in),
target :: coef
103 type(
dofmap_t),
intent(in),
target :: dof
104 type(
field_t),
intent(in),
target :: reg_coeff
108 this%reg_coeff => reg_coeff
110 end subroutine regularization_init_base
112 subroutine regularization_free_base(this)
113 class(regularization_t),
intent(inout) :: this
117 nullify(this%reg_coeff)
119 end subroutine regularization_free_base
Defines a mapping of the degrees of freedom.
integer, parameter, public rp
Global precision used in computations.
subroutine regularization_init_base(this, json, coef, dof, reg_coeff)
subroutine regularization_free_base(this)
Module with things related to the simulation time.
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
A struct that contains all info about the time, expand as needed.