-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Add source value array for fwi in wave solvers #3502
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #3502 +/- ##
===========================================
+ Coverage 56.74% 56.75% +0.01%
===========================================
Files 1169 1169
Lines 101546 101582 +36
===========================================
+ Hits 57621 57653 +32
- Misses 43925 43929 +4 ☔ View full report in Codecov by Sentry. |
@@ -222,18 +222,10 @@ | |||
</xsd:unique> | |||
</xsd:element> | |||
<xsd:element name="Functions" type="FunctionsType" maxOccurs="1"> | |||
<xsd:unique name="FunctionsCompositeFunctionUniqueName"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There seem to be some spurious changes in the schema.xsd
and schema.xsd.other
file. Maybe you used an out-of-date version? Try regenerating after merging the latest develop
branch, it should fix the issue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few suggestions.
//real64 const srcValue = | ||
// useSourceWaveletTables ? sourceWaveletTableWrappers[ isrc ].compute( &time_n ) : WaveSolverUtils::evaluateRicker( time_n, | ||
// timeSourceFrequency, timeSourceDelay, rickerOrder ); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
//real64 const srcValue = | |
// useSourceWaveletTables ? sourceWaveletTableWrappers[ isrc ].compute( &time_n ) : WaveSolverUtils::evaluateRicker( time_n, | |
// timeSourceFrequency, timeSourceDelay, rickerOrder ); |
for( localIndex inode = 0; inode < sourceConstants.size( 1 ); ++inode ) | ||
{ | ||
real32 const localIncrement = sourceConstants[isrc][inode] * srcValue; | ||
real32 const localIncrement = sourceConstants[isrc][inode] * sourceValue[cycleNumber][isrc]; | ||
//real32 const localIncrement = sourceConstants[isrc][inode] * srcValue; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
//real32 const localIncrement = sourceConstants[isrc][inode] * srcValue; |
MeshLevel & mesh, | ||
arrayView1d< string const > const & regionNames ) | ||
{ | ||
MeshLevel & baseMesh = domain.getMeshBodies().getGroup< MeshBody >( meshBodyName ).getBaseDiscretization(); | ||
precomputeSourceAndReceiverTerm( baseMesh, mesh, regionNames ); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GEOS_UNUSED_VAR( meshBodyName ); |
@@ -252,12 +288,10 @@ void AcousticWaveEquationSEM::initializePostInitialConditionsPreSubGroups() | |||
|
|||
|
|||
|
|||
forDiscretizationOnMeshTargets( domain.getMeshBodies(), [&] ( string const & meshBodyName, | |||
forDiscretizationOnMeshTargets( domain.getMeshBodies(), [&] ( string const &, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
forDiscretizationOnMeshTargets( domain.getMeshBodies(), [&] ( string const &, | |
forDiscretizationOnMeshTargets( domain.getMeshBodies(), [&] ( string const & meshBodyName, |
setInputFlag( InputFlags::FALSE ). | ||
setRestartFlags( RestartFlags::NO_WRITE ). | ||
setSizedFromParent( 0 ). | ||
setDescription( "Source Value of the sources" ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe a better description?
This PR is adding an array to store the values of the sources in time.
This array is useful for FWI and pygeos