Releases: andrsd/godzilla
Releases · andrsd/godzilla
v0.8
What's Changed
New Features
- Adding operator* for DenseVector and DenseMatrixSymm by @andrsd in #476
- Adding integration coefficients for tri-linear forms by @andrsd in #477
- ExodusII meshes are read in by our code by @andrsd in #479
- Adding UnstructuredMesh::get_face_sets by @andrsd in #487
- Refactoring BC boundary check in its own function by @andrsd in #488
- Adding mat_col and mat_row for DenseVector<T, N> by @andrsd in #489
- Adding TSAbstract for creating custom time stepping schemes by @andrsd in #492
- Improving Terminal API by @andrsd in #498
- Refactoring object registration by @andrsd in #500
- fe::BoundaryInfo provides create_vertex_index_set() by @andrsd in #503
- Refactoring ExecuteOn flags by @andrsd in #504
- Adding Iterator to Array1D by @andrsd in #505
- Adding new API to compute FE volumes using just UnstructuredMesh reference by @andrsd in #506
- Adding API to compute gradient of shape functions using UnstructuredMesh by @andrsd in #507
- Adding initial capability for loading dynamic libraries by @andrsd in #508
- Adding API for auxiliary vecs in Problem by @andrsd in #509
- Making more methods non-virtual by @andrsd in #510
- Improving API so that fields can be restricted to
Label
s by @andrsd in #511 - Adding API to set residual/Jacobian in
NonlinearProblem
by @andrsd in #513 - Adding wrapper around SNES by @andrsd in #514
- Adding
Init::Init
by @andrsd in #516 App
class improvements by @andrsd in #517- InternalError exception by @andrsd in #520
- Adding
Vector::filter
, deprecatingVector::chop
by @andrsd in #522 TSAbstract
directly calls godzilla API by @andrsd in #523- Adding more exodusII element types by @andrsd in #544
- Godzilla name in cmake realm is all lower case by @andrsd in #546
- Renaming GodzillaConfig to Config.h by @andrsd in #547
- Adding
Vector::axpby
by @andrsd in #549 - Adding
Vector::get_type
by @andrsd in #550 - Adding
UnstructuredMesh::compute_cell_volume
by @andrsd in #553 - Adding API for setting vector and matrix type by @andrsd in #551
- HYPRE is optional by @andrsd in #555
fe::coordinates
andfe::connectivity
use PETSc indices by @andrsd in #576- Adding grad shape for TET4 by @andrsd in #579
- cmake improvements by @andrsd in #583
- Array2D is stored in row-major manner by @andrsd in #585
- Adding
Mesh::get_neighbors
by @andrsd in #587 - Adding
Matrix::scale
by @andrsd in #586 - Relax access to methods in LinearProblem by @andrsd in #588
- Adding convenience functions for creating
Range
s by @andrsd in #590 - Adding dynamic Dense{Matrix|Vector} by @andrsd in #589
- Adding
UnstructuredMesh::get_vertex_coordinates
by @andrsd in #591 - Adding operator<< for DynDense{Matrix|Vector} by @andrsd in #593
- Adding
KrylovSolver::set_initial_guess_nonzero
by @andrsd in #594 - Adding
KrylovSolver::set_up
by @andrsd in #595 - Adding
Vector::set_option
by @andrsd in #596 - Adding
KrylovSolver::set_convergence_test
by @andrsd in #597 - Adding
Vector::create_mpi
by @andrsd in #598 - Adding more converged reasons for KrylovSolver by @andrsd in #599
- Adding Vector::{get|restore}_sub_vector by @andrsd in #600
- Adding
KrylovSolver::set_type
by @andrsd in #601 IndexSet::create_general
takes copy mode parameter by @andrsd in #602- Adding
KrylovSolver::set_pc_side
by @andrsd in #603 - mpicpp-lite is pulled as an external dependency by @andrsd in #604
- Adding
Vector::assign
by @andrsd in #605 - Adding exception for not implemented cases by @andrsd in #606
- Optimizing operations with
DynDenseMatrix
by @andrsd in #608 - Wrapping DM_POLYTOPE_TYPE into PolytopeType class enum by @andrsd in #609
- Improving const correctness on Vector by @andrsd in #610
- Adding
UnstructuredMesh::get_support_size
by @andrsd in #611 - Adding
Vector::norm
by @andrsd in #612 - Adding
SNESolver::mat_create_mf()
by @andrsd in #613 - Adding SNESolver::{get|set}_type by @andrsd in #614
Fixed Problems
- Output was reporting incorrect warning regarding
on
andinterval
by @andrsd in #474 - Fixing FileMesh by @andrsd in #475
- Use correct face size when call get_full_join by @andrsd in #483
- Do not output the same timestep twice by @andrsd in #497
- Fixing output for steady-state problems by @andrsd in #501
- cmake: MPI fixes by @andrsd in #521
- Fixing missing dependency in cmake find module by @andrsd in #548
- TimedEvent actualy measures time by @andrsd in #581
API Changes
- Removing Object::check by @andrsd in #480
- Mesh refactoring by @andrsd in #482
- Adding Mesh::view() by @andrsd in #484
- Fixes related to parallel execution by @andrsd in #486
- Changing API for callback by @andrsd in #491
- Moving
get_scheme
from TransientProblemInterface toExplicitProblemInterface
by @andrsd in #524 compute_flux
forFVProblemInterface
is a delegate by @andrsd in #526- Renaming
set_up_aux_fields
tocreate_aux_fields
by @andrsd in #527 - Renaming set_{fe|aux_fe} to set_{field|aux_field} by @andrsd in #529
- Adding
ErrorCode
which is an alias for PetscErrorCode by @andrsd in #531 FunctionInterface
takes the spatial dimension from the associatedProblem
by @andrsd in #532InitialCondition
API changes by @andrsd in #533AuxiliaryField
API changes by @andrsd in #534- API changes in
BoundaryCondition
s by @andrsd in #536 - TransientProblemInterface is using delegates by @andrsd in #540
- L2{Field}Diff is using delegates by @andrsd in #539
FENonlinearProblem
uses delegates by @andrsd in #541- Adding
FileMesh::get_file_format
by @andrsd in #545 - Refactoring
fe::common_elements_by_node
by @andrsd in #552 - Cleanup compute API by @andrsd in #560
- Removing UnstructuredMesh::get_chart(start, end) by @andrsd in #571
- More flexible indexing into Array1D by @andrsd in #572
- Element coordinates are stored as
DenseMatrix
inside thefe
module by @andrsd in #573 calc_element_length
does not passconnect
anymore by @andrsd in #574- Removing math functions from Array1D by @andrsd in #578
- '_type' param is added during Factory::get_parameters() by @andrsd in https://github.com/andrsd/godzilla/pul...
v0.7
What's Changed
New Features
- Adding coefficients for surface integration of constant functions by @andrsd in #366
- Adding fe::gradient variant with vals coming as DenseMatrix by @andrsd in #367
- App: Command line parameters are created in a virtual method by @andrsd in #368
- Adding C++ wrapper around PETSc partitioner by @andrsd in #369
- ExodusIIOutput can work without a problem class by @andrsd in #370
- Adding simple command line tool for partitioning meshes by @andrsd in #371
- Adding math::sqr by @andrsd in #373
- Adding API to get/set max time for TransientProblemInterface by @andrsd in #374
- Adding API for getting and setting converged reason on TransientProblemInterface by @andrsd in #375
- Adding UnstructuredMesh::get_chart by @andrsd in #379
- Range::{first(), last()} by @andrsd in #380
- Dense{Vector|Matrix|MatrixSymm} improvements by @andrsd in #381
- InitialCondition::get_{vector_}value can accept coordinates as a
const Real *
by @andrsd in #382 - Adding Mesh::get_coordinate_section by @andrsd in #383
- Adding UnstructuredMesh::common_cells_by_vertex by @andrsd in #385
- Adding iterators for IndexSet by @andrsd in #386
- Adding Mesh::set_up by @andrsd in #388
- Improving const correctness on DenseMatrix by @andrsd in #391
- Refactoring output flags by @andrsd in #405
- Refactoring code for setting time stepping scheme by @andrsd in #406
- Adding Vector::duplicate() with return by @andrsd in #407
- Refactoring compute_flux by @andrsd in #411
- Moving common code for explicit problems into ExplicitProblemInterface by @andrsd in #415
- Adding DiscreteProblemInterface::set_local_section_aux by @andrsd in #419
- Adding UnstructuredMesh::mark_boundary_faces by @andrsd in #429
- Mesh: Adding set and clear label value by @andrsd in #430
- Adding some random API by @andrsd in #433
- Adding thin wrapper for star forest by @andrsd in #434
- TimeSteppingAdaptor improvements by @andrsd in #435
- WeakForm enums (residual and jacobian) by @andrsd in #437
- Adding more API for Matrix and Vector by @andrsd in #440
- KSP wrapper by @andrsd in #441
- KrylovSolver callback improvements by @andrsd in #442
- CallStack refactoring by @andrsd in #444
- Adding exception system by @andrsd in #445
- Adding
IndexSet::view
by @andrsd in #449 - Adding
Problem::create_field_decomposition
by @andrsd in #450 - Adding
Matrix::get_type()
by @andrsd in #451 - Adding wrapper around preconditioners by @andrsd in #453
- Adding non-const API to get solution vectors by @andrsd in #456
- Adding
Vector::maxpy
by @andrsd in #460 - Adding
TimeStepAdapt
wrapper by @andrsd in #462 - Adding Utils::{starts_with|ends_with} by @andrsd in #464
- Adding
Vector::axpbypcz
by @andrsd in #465 - CALL_STACK_MSG() creates call stack entries only in debug configurations by @andrsd in #467
- Adding types into IndexSet::Iterator to support algorithms from std by @andrsd in #470
- Install mesh-part by @andrsd in #471
Fixed Problems
Other Changes
- TransientProblemInterface callback changes by @andrsd in #372
- Adding Vector::waxpy by @andrsd in #376
- Warn user if 'interval' is specified, but output on timestep is not active by @andrsd in #378
- Adding UnstructuredMesh::build_from_cell_list by @andrsd in #389
- Adding tensor_product(DenseVector, DenseVector) by @andrsd in #390
- grad_phi is stored as DenseMatrix by @andrsd in #392
- FEBoundary refactoring by @andrsd in #393
- Mark latest release with latest tag by @andrsd in #395
- Marking death test with threadsafe flag by @andrsd in #397
- Removing API from InitialCondition by @andrsd in #396
- Separating object registration from Factory by @andrsd in #399
- Content of include/mpi was refactored into its own repo by @andrsd in #400
- User code now must #include "godzilla/File" by @andrsd in #401
- Updating to exodusIIcpp 1.7 by @andrsd in #402
- Solution vector of a Problem now lives in
Problem
class by @andrsd in #408 - get_solution_vector_local() is a pure getter by @andrsd in #422
- cmake: using the default rpath handling by @andrsd in #431
- Adding support for simple discontinuous Galerkin method by @andrsd in #432
- Changing behavior of IndexSet::Iterator() by @andrsd in #455
- More const correctness by @andrsd in #463
- Changing API in AuxiliaryField by @andrsd in #469
Full Changelog: v0.6...v0.7
v0.6
What's Changed
New Features
- Replacing TCLAP with cxxopts by @andrsd in #329
- Initial condition objects can be set on auxiliary fields by @andrsd in #336
- Adding sign function by @andrsd in #337
- Adding DenseMatrix::set_row using DenseVector by @andrsd in #338
- Adding support for analytical multi-D surface integration by @andrsd in #339
- Adding DenseVector::normalize() by @andrsd in #340
- Updating to PETSc 3.18 by @andrsd in #344
- Updating to PETSc 3.19 by @andrsd in #347
- If field component is specified it will be the name of the variable in the exodus file by @andrsd in #348
- Boundary conditions can be set on multiple boundary names by @andrsd in #350
- Adding API for matrix-free solves by @andrsd in #357
- Adding Mesh::remove_label by @andrsd in #359
- IndexSet::{get|restore}_point_range by @andrsd in #361
- Removing DiscreteProblemInterface::get_coordinates_local by @andrsd in #360
- Adding IndexSet::get_point_subrange() by @andrsd in #362
- Ignore AuxiliaryField objects with negative field ID by @andrsd in #365
Fixed Problems
Other Changes
- Change in App c-tor by @andrsd in #330
- Vector::copy is const by @andrsd in #332
- Improving API for initial conditions by @andrsd in #334
- Renaming FunctionIC to FunctionInitialCondition by @andrsd in #335
- Renaming ConstantIC to ConstantInitialCondition by @andrsd in #349
- Label API changes by @andrsd in #351
- Renaming bnd_rz to mass_surface_rz by @andrsd in #364
Full Changelog: v0.5...v0.6
v0.5
What's Changed
New Features
- Adding DenseVector::abs by @andrsd in #269
- Adding DenseVector::add for a scalar value by @andrsd in #270
- Adding {get/set}_aux_closure to FEProblemInterface by @andrsd in #271
- Adding DenseVector subtract and corresponding operators by @andrsd in #272
- Adding unary operator - to DenseVector and DenseMatrix{Symm} by @andrsd in #273
- Adding DenseMatrix{Symm}::add and corresponding operators by @andrsd in #274
- Adding DenseMatrix{Symm}::subtract and corresponding operators" by @andrsd in #275
- Adding Vector::reciprocal by @andrsd in #277
- Operators to print
DenseMatrix{Symm}
to a stream by @andrsd in #276 - Array1D::get_values can use std::vector for indices by @andrsd in #280
- Fixing comment by @andrsd in #282
- DenseMatrix diagonal by @andrsd in #281
- Adding cross_product() on
DenseVector
s by @andrsd in #283 - Improving IndexSet class by @andrsd in #284
- UnstructuredMesh improvements by @andrsd in #285
- Allowing to specify number of time steps in transient problems by @andrsd in #288
- Section: adding API to work with constrained dofs by @andrsd in #289
- ExplicitFELinearProblem API better matches PETSc by @andrsd in #291
- Improving explicit FV problem by @andrsd in #292
- Support for FE assembly with analytical integration by @andrsd in #293
- Improving NaturalRiemannBC API by @andrsd in #295
- compute_flux is not virtual in FVProblemInterface by @andrsd in #296
- Adding Label::view() by @andrsd in #297
- Adding face ranges into UnstructuredMesh by @andrsd in #298
- ExodusIIOutput: Adding support for elemental auxiliary fields by @andrsd in #299
- Adding auxiliary fields to FVProblemInterface by @andrsd in #301
- Adding UnstructuredMesh::compute_cell_geometry by @andrsd in #302
- AuxiliaryField can be evaluated in more ways by @andrsd in #306
- Adding
Matrix::set_values
withDenseVector
/DenseMatrix
arguments by @andrsd in #307 - Vector: Improving const correctness by @andrsd in #308
- Refactoring get_field_dof by @andrsd in #309
- Adding
UnstructuredMesh::get_connectivity
by @andrsd in #310 - Exposing ExodusII specifics by @andrsd in #314
- Overhauling
HashMap
class template by @andrsd in #313 - Adding
fe::get_local_vertex_index
by @andrsd in #315 - Adding DenseMatrix::set_col by @andrsd in #316
Other Changes
- API changes by @andrsd in #278
- Better names for mat and mat_transpose by @andrsd in #279
- Adding Label - wrapper around DMLabel by @andrsd in #286
- Improving code coverage by @andrsd in #287
- Matrix: destroy() can be called on unconstructed matrices by @andrsd in #290
- Fixes related to analytical integration by @andrsd in #294
- Removing overzealous asserts in BoundaryConditions by @andrsd in #300
- Mesh refactoring by @andrsd in #303
- FVProblemInterface: resize component_names when creating new aux FE by @andrsd in #304
- Adding DiscreteProblemInterface::get_point_local_field_ref by @andrsd in #305
- Making
get_local_face_index
a free function by @andrsd in #311 - Fixing fe::connectivity by @andrsd in #312
- Moving
Section
API fromMesh
toProblem
by @andrsd in #317 - Removing
const
qualifier from some XYZProblemInterface API by @andrsd in #318 - Refactoring transient capability by @andrsd in #319
- Tidy up with clang-tidy by @andrsd in #320
- Refactoring
get_solution_vector_local
by @andrsd in #321 - Refactoring post_step by @andrsd in #322
- cmake improvements by @andrsd in #323
- cmake: make hdf5 required by @andrsd in #324
- exodusIIcpp is an external dependency by @andrsd in #325
- cmake: improving GodzillaConfig.cmake by @andrsd in #326
- cmake: removing h5pp by @andrsd in #327
- cmake improvements by @andrsd in #328
Full Changelog: v0.4...v0.5
v0.4
What's Changed
New Features
- Adding API to get mesh coordinates by @andrsd in #194
- Adding API to get cell connectivity from a mesh by @andrsd in #195
- Adding API to get local/global section by @andrsd in #196
- Adding data structures for numerical operations by @andrsd in #198
- Adding a C++ wrapper around MPI API by @andrsd in #199
- DenseMatrix can be initialized from a DenseMatrixSymm by @andrsd in #202
- Bumping exodusIIcpp to 1.4.0 by @andrsd in #208
- Adding mesh iterators by @andrsd in #210
- Adding more operators for DenseVector and DenseMatrix by @andrsd in #213
- Adding DiscreteProblemInterface::get_closure by @andrsd in #214
- Adding operator() for accessing elements of IndexSet by @andrsd in #216
- Adding UnstructuredMesh::get_support() by @andrsd in #217
- Improving UnstructuredMesh::get_num_elem_nodes by @andrsd in #218
- Adding UnstructuredMesh::get_depth_label by @andrsd in #219
- AuxiliaryField now has evaluate() by @andrsd in #220
- Adding UnstructuredMesh::get_coordinate_dm() by @andrsd in #221
- When mu::Parser fails, exit with
error
by @andrsd in #222 - ExodusIIOutput can store auxiliary fields by @andrsd in #223
- Adding TecplotOutput by @andrsd in #225
- Changes on UnstructuredMesh API by @andrsd in #227
- Adding IndexSet::intersect by @andrsd in #234
- Adding 'interval' parameter to Output by @andrsd in #232
- Warn about unused input file blocks by @andrsd in #236
- Adding PiecewiseConstant function by @andrsd in #245
- Sorting BCs into buckets (essential and natural) by @andrsd in #248
- Adding FENonlinearProblem::compute_boundary() by @andrsd in #249
- Allow
DenseVector
to be multiplied by aDenseVector<DenseVector>
by @andrsd in #250 - Dependency evaluator improvements by @andrsd in #251
- Changing operator [] in LateBindArray to operator(idx) by @andrsd in #253
- Multiplying DenseMatrix by a DenseMatrixSymm by @andrsd in #255
- UnstructuredMesh changes by @andrsd in #259
- DenseMatrixSymm improvements by @andrsd in #264
Fixed Problems
- Don't crash if there is no 'Face Sets' label in the mesh by @andrsd in #193
- Fixing linking of the library by @andrsd in #206
- muParser must be compiled with position independent flag by @andrsd in #207
- Linear interpolation throws error when x is not monotonic by @andrsd in #243
- Form mass matrix for each field by @andrsd in #261
Other Changes
- Improving code coverage by @andrsd in #197
- Array1D changes/fixes by @andrsd in #201
- Refactoring DiscreteProblemInterface by @andrsd in #203
- Improvements on DenseXYZ classes by @andrsd in #204
- Isolating WeakForm into FEProblemInterface by @andrsd in #205
- gha: Updating codecov action to v3 by @andrsd in #212
- DiscreteProblemInterface::set_closure is const and public by @andrsd in #211
- Refactoring BoundaryCondition class by @andrsd in #215
- clang-tidy suggestions by @andrsd in #228
- Changing format strings for printing errors/warnings/logs by @andrsd in #230
- Various improvements by @andrsd in #231
- Adding TransientProblemInterface::get_solution() by @andrsd in #233
- Removing unused functions by @andrsd in #237
- Adding API for creating local/global vectors and matrices by @andrsd in #238
- Adding codacy security scan into qa workflow by @andrsd in #239
- Improving App::parse_command_line API by @andrsd in #240
- Using
nanosleep
instead ofusleep
by @andrsd in #241 - Fixing C-style casts by @andrsd in #242
- Fixing the dimension check on PiecewiseConstant by @andrsd in #246
- Adding API to get/set time step size by @andrsd in #247
- Moving
get_xyz()
up intoFunctional
by @andrsd in #252 - Renaming DIM to N in DenseVector operations by @andrsd in #254
- Offsets into field work arrays are no longer stored in AssemblyData by @andrsd in #256
- Dense{Vector|Matrix|MatrixSymm}::zero() method by @andrsd in #257
- DenseMatrix is stored in row-major format by @andrsd in #258
- fenlp api imps by @andrsd in #260
- LinearProblem::compute_{rhs|operators} has empty implementation by @andrsd in #262
- Bnd{Residual|Jacobian}Func takes BoundaryCondition in its constructor by @andrsd in #263
- DenseVector improvements by @andrsd in #265
- ExplicitFELinearProblem can dial up more time schemes by @andrsd in #268
- Fixing Output::should_output by @andrsd in #266
- TIMED_EVENT behaves like lprintf when godzilla is not complied with perflogging by @andrsd in #267
Full Changelog: v0.3...v0.4
v0.3
What's Changed
New Features
Other Changes
- Adding a C++ template for wrapping PetscHashMap by @andrsd in #182
- Work towards parallel by @andrsd in #184
- Adding a wrapper for Section by @andrsd in #186
- ExodusOutput uses application name and its version in info blocks by @andrsd in #187
- Work towards parallel execution #2 by @andrsd in #188
- get_dm() is moved into Problem by @andrsd in #189
- Problem refactoring by @andrsd in #190
- PerfLog classes get API with std::string by @andrsd in #191
- Improving code coverage by @andrsd in #192
Full Changelog: v0.2...v0.3
v0.2
What's Changed
New Features
- Adding support for GMSH meshes by @andrsd in #167
- ExodusIIOutput: output elemental vars on domains with multiple blocks by @andrsd in #168
- Adding a wrapper for PetscRandom by @andrsd in #174
- Allow to form Jacobian preconditioner by @andrsd in #176
- Dependency resolution on Functionals by @andrsd in #178
Fixed Problems
Other Changes
- ExodusIIMesh looks for the mesh file relative to the input file by @andrsd in #164
- FEProblemInterface::add/set_(aux)_fe by @andrsd in #169
- IndexSet follows PETSc API more closely by @andrsd in #170
- Region restricted weak forms by @andrsd in #171
- PETSc wrappers by @andrsd in #172
- Removing PetscDS from BoundaryCondition by @andrsd in #175
- Adding unit test for surface integration by @andrsd in #179
- Fixing format type specifier by @andrsd in #180
Full Changelog: v0.1...v0.2