Skip to content

Commit

Permalink
Merge pull request #1243 from danielpeter/devel
Browse files Browse the repository at this point in the history
  • Loading branch information
danielpeter authored Sep 25, 2024
2 parents a2b578f + e98495b commit 0f7caa5
Show file tree
Hide file tree
Showing 2 changed files with 385 additions and 245 deletions.
56 changes: 56 additions & 0 deletions src/specfem2D/attenuation_model.f90
Original file line number Diff line number Diff line change
Expand Up @@ -567,6 +567,10 @@ subroutine decomposition_LU(a,i_min,n,indx,d)

end subroutine decomposition_LU

!
!--------------------------------------------------------------------------------
!

subroutine LUbksb(a,i_min,n,indx,b,m)

implicit none
Expand Down Expand Up @@ -608,6 +612,10 @@ subroutine LUbksb(a,i_min,n,indx,b,m)

end subroutine LUbksb

!
!--------------------------------------------------------------------------------
!

subroutine syst_LU(a,i_min,n,b,m)

implicit none
Expand All @@ -633,6 +641,10 @@ subroutine syst_LU(a,i_min,n,b,m)

end subroutine syst_LU

!
!--------------------------------------------------------------------------------
!

subroutine lfit_zener(x,y,sig,ndat,poids,ia,covar,chisq,ma,Qref,point)
! ma = nombre de variable diffusive
! ndat = m = K nombre d'abcisse freq_k
Expand Down Expand Up @@ -715,6 +727,10 @@ subroutine lfit_zener(x,y,sig,ndat,poids,ia,covar,chisq,ma,Qref,point)

end subroutine lfit_zener

!
!--------------------------------------------------------------------------------
!

subroutine func_zener(x,afunc,N,Qref,point)

implicit none
Expand All @@ -735,6 +751,10 @@ subroutine func_zener(x,afunc,N,Qref,point)

end subroutine func_zener

!
!--------------------------------------------------------------------------------
!

subroutine remplit_point(fmin,fmax,N,point)

use constants, only: TWO_PI
Expand All @@ -759,6 +779,10 @@ subroutine remplit_point(fmin,fmax,N,point)

end subroutine remplit_point

!
!--------------------------------------------------------------------------------
!

subroutine classical_linear_least_squares(Qref,poids,point,N,fmin,fmax)

use constants, only: TWO_PI
Expand Down Expand Up @@ -798,6 +822,10 @@ subroutine classical_linear_least_squares(Qref,poids,point,N,fmin,fmax)

end subroutine classical_linear_least_squares

!
!--------------------------------------------------------------------------------
!

! Calcul des coefficients par optimization non-lineaire avec contraintes

subroutine solvopt(n,x,f,fun,flg,grad,options,flfc,func,flgc,gradc,Qref,Kopt,theta_min,theta_max,f_min,f_max)
Expand Down Expand Up @@ -2052,6 +2080,10 @@ subroutine solvopt(n,x,f,fun,flg,grad,options,flfc,func,flgc,gradc,Qref,Kopt,the

end subroutine solvopt

!
!--------------------------------------------------------------------------------
!

subroutine soptions(default)
! SOPTIONS returns the default values for the optional parameters
! used by SolvOpt.
Expand All @@ -2076,6 +2108,10 @@ subroutine soptions(default)

end subroutine soptions

!
!--------------------------------------------------------------------------------
!

subroutine func_objective(x,res,freq,Qref,N,Nopt)

implicit none
Expand All @@ -2097,6 +2133,10 @@ subroutine func_objective(x,res,freq,Qref,N,Nopt)

end subroutine func_objective

!
!--------------------------------------------------------------------------------
!

subroutine func_mini(x,res,Qref,N,Nopt,K,f_min,f_max)

! Nopt = 2*N : nombre de coefficients a optimiser
Expand Down Expand Up @@ -2124,6 +2164,10 @@ subroutine func_mini(x,res,Qref,N,Nopt,K,f_min,f_max)

end subroutine func_mini

!
!--------------------------------------------------------------------------------
!

subroutine grad_func_mini(x,grad,Qref,N,Nopt,K,f_min,f_max)

use constants, only: TWO_PI
Expand Down Expand Up @@ -2180,6 +2224,10 @@ subroutine grad_func_mini(x,grad,Qref,N,Nopt,K,f_min,f_max)

end subroutine grad_func_mini

!
!--------------------------------------------------------------------------------
!

subroutine max_residu(x,res,N,Nopt,theta_min,theta_max)

implicit none
Expand All @@ -2203,6 +2251,10 @@ subroutine max_residu(x,res,N,Nopt,theta_min,theta_max)

end subroutine max_residu

!
!--------------------------------------------------------------------------------
!

subroutine grad_max_residu(x,grad,N,Nopt,theta_min,theta_max)

implicit none
Expand Down Expand Up @@ -2249,6 +2301,10 @@ subroutine grad_max_residu(x,grad,N,Nopt,theta_min,theta_max)

end subroutine grad_max_residu

!
!--------------------------------------------------------------------------------
!

subroutine nonlinear_optimization(N,Qref,f0,point,poids,f_min,f_max)

use shared_input_parameters, only: USE_SOLVOPT
Expand Down
Loading

0 comments on commit 0f7caa5

Please sign in to comment.