Skip to content

Releases: andrsd/godzilla

v0.8

03 Oct 11:50
5fcf988
Compare
Choose a tag to compare

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 Labels 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, deprecating Vector::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 and fe::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 Ranges 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 and interval 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

Read more

v0.7

24 Jan 18:16
a24063e
Compare
Choose a tag to compare

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

  • Fixing normal correction procedure in FEBoundary by @andrsd in #472

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

25 Aug 15:00
94a5200
Compare
Choose a tag to compare

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

  • Fixing the call to update_aux_vector() by @andrsd in #333

Other Changes

Full Changelog: v0.5...v0.6

v0.5

25 Jul 22:41
24c1586
Compare
Choose a tag to compare

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 DenseVectors 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 with DenseVector/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

Full Changelog: v0.4...v0.5

v0.4

07 Apr 12:21
3dcf9fe
Compare
Choose a tag to compare

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 a DenseVector<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 of usleep 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 into Functional 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

11 Mar 14:23
266f01c
Compare
Choose a tag to compare

What's Changed

New Features

  • Adding a simple wrapper around quadrature object by @andrsd in #181

Other Changes

Full Changelog: v0.2...v0.3

v0.2

22 Feb 16:38
233dd63
Compare
Choose a tag to compare

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

  • ExodusIIOutput: 1D problems are saved as 1D data by @andrsd in #177

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

v0.1

22 Feb 16:36
cac21b0
Compare
Choose a tag to compare
gha: pushing a v* tag will create a release